diff --git a/build/contracts/LendingPoolCore.json b/build/contracts/LendingPoolCore.json index 4f29c1d..0643fac 100644 --- a/build/contracts/LendingPoolCore.json +++ b/build/contracts/LendingPoolCore.json @@ -1,6 +1,55 @@ { "contractName": "LendingPoolCore", "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "reserve", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "liquidityRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stableBorrowRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "averageStableBorrowRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "variableBorrowRate", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "liquidityIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "variableBorrowIndex", + "type": "uint256" + } + ], + "name": "ReserveDataUpdated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -1743,25 +1792,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.14+commit.01f1aaa4\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reserve\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowIndex\",\"type\":\"uint256\"}],\"name\":\"ReserveUpdated\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"CORE_REVISION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"activateReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"addressesProvider\",\"outputs\":[{\"internalType\":\"contract LendingPoolAddressesProvider\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"deactivateReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableBorrowingOnReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableReserveStableBorrowRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_stableBorrowRateEnabled\",\"type\":\"bool\"}],\"name\":\"enableBorrowingOnReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_baseLTVasCollateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidationThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidationBonus\",\"type\":\"uint256\"}],\"name\":\"enableReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"enableReserveStableBorrowRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"freezeReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveATokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveAvailableLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveConfiguration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentAverageStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentLiquidityRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentVariableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveDecimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveInterestRateStrategyAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsFreezed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsStableBorrowRateEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLastUpdate\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidationBonus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidationThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidityCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveNormalizedIncome\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrows\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrowsStable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrowsVariable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveUtilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveVariableBorrowsCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserBasicReserveData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserBorrowBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserCurrentBorrowRateMode\",\"outputs\":[{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserCurrentStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserLastUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserOriginationFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserUnderlyingAssetBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserVariableBorrowCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_interestRateStrategyAddress\",\"type\":\"address\"}],\"name\":\"initReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract LendingPoolAddressesProvider\",\"name\":\"_addressesProvider\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"isReserveBorrowingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"isReserveUsageAsCollateralEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"isUserAllowedToBorrowAtStable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isUserUseReserveAsCollateralEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lendingPoolAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"}],\"name\":\"liquidateFee\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refreshConfiguration\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserveToRemove\",\"type\":\"address\"}],\"name\":\"removeLastAddedReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"reservesList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_ltv\",\"type\":\"uint256\"}],\"name\":\"setReserveBaseLTVasCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"name\":\"setReserveDecimals\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rateStrategyAddress\",\"type\":\"address\"}],\"name\":\"setReserveInterestRateStrategyAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_bonus\",\"type\":\"uint256\"}],\"name\":\"setReserveLiquidationBonus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"setReserveLiquidationThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useAsCollateral\",\"type\":\"bool\"}],\"name\":\"setUserUseReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"}],\"name\":\"transferToFeeCollectionAddress\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferToReserve\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferToUser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"unfreezeReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_borrowFee\",\"type\":\"uint256\"},{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"_rateMode\",\"type\":\"uint8\"}],\"name\":\"updateStateOnBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isFirstDeposit\",\"type\":\"bool\"}],\"name\":\"updateStateOnDeposit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_availableLiquidityBefore\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_income\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFee\",\"type\":\"uint256\"}],\"name\":\"updateStateOnFlashLoan\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_principalReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToLiquidate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_collateralToLiquidate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_feeLiquidated\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidatedCollateralForFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_liquidatorReceivesAToken\",\"type\":\"bool\"}],\"name\":\"updateStateOnLiquidation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"}],\"name\":\"updateStateOnRebalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountRedeemed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_userRedeemedEverything\",\"type\":\"bool\"}],\"name\":\"updateStateOnRedeem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_paybackAmountMinusFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_originationFeeRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_repaidWholeLoan\",\"type\":\"bool\"}],\"name\":\"updateStateOnRepay\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_principalBorrowBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_compoundedBorrowBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"_currentRateMode\",\"type\":\"uint8\"}],\"name\":\"updateStateOnSwapRate\",\"outputs\":[{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aave\",\"details\":\"NOTE: The core does not enforce security checks on the update of the state (eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve). The check that an action can be performed is a duty of the overlying LendingPool contract.*\",\"methods\":{\"activateReserve(address)\":{\"details\":\"activates a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"deactivateReserve(address)\":{\"details\":\"deactivates a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableBorrowingOnReserve(address)\":{\"details\":\"disables borrowing on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableReserveAsCollateral(address)\":{\"details\":\"disables a reserve to be used as collateral\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableReserveStableBorrowRate(address)\":{\"details\":\"disable the stable borrow rate mode on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"enableBorrowingOnReserve(address,bool)\":{\"details\":\"enables borrowing on a reserve. Also sets the stable rate borrowing\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_stableBorrowRateEnabled\":\"true if the stable rate needs to be enabled, false otherwise*\"}},\"enableReserveAsCollateral(address,uint256,uint256,uint256)\":{\"details\":\"enables a reserve to be used as collateral\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"enableReserveStableBorrowRate(address)\":{\"details\":\"enable the stable borrow rate mode on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"freezeReserve(address)\":{\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"getReserveATokenAddress(address)\":{\"details\":\"gets the aToken contract address for the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the address of the aToken contract*\"},\"getReserveAvailableLiquidity(address)\":{\"details\":\"gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the available liquidity*\"},\"getReserveConfiguration(address)\":{\"details\":\"this function aggregates the configuration parameters of the reserve. It's used in the LendingPoolDataProvider specifically to save gas, and avoid multiple external contract calls to fetch the same data.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve decimalsthe base ltv as collateralthe liquidation thresholdif the reserve is used as collateral or not*\"},\"getReserveCurrentAverageStableBorrowRate(address)\":{\"details\":\"gets the reserve average stable borrow rate. The average stable rate is the weighted average of all the loans taken at stable rate.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current average borrow rate*\"},\"getReserveCurrentLiquidityRate(address)\":{\"details\":\"gets the reserve liquidity rate\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidity rate*\"},\"getReserveCurrentStableBorrowRate(address)\":{\"details\":\"gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current stable borrow rate*\"},\"getReserveCurrentVariableBorrowRate(address)\":{\"details\":\"gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current variable borrow rate*\"},\"getReserveDecimals(address)\":{\"details\":\"returns the decimals of the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve decimals*\"},\"getReserveInterestRateStrategyAddress(address)\":{\"details\":\"gets the interest rate strategy contract address for the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the address of the interest rate strategy contract*\"},\"getReserveIsActive(address)\":{\"details\":\"returns true if the reserve is active\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is active, false otherwise*\"},\"getReserveIsFreezed(address)\":{\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"true if the reserve is freezed, false otherwise*\"},\"getReserveIsStableBorrowRateEnabled(address)\":{\"details\":\"returns true if the stable rate is enabled on reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the stable rate is enabled on reserve, false otherwise*\"},\"getReserveLastUpdate(address)\":{\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"the last updated timestamp of the reserve*\"},\"getReserveLiquidationBonus(address)\":{\"details\":\"gets the reserve liquidation bonus\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidation bonus*\"},\"getReserveLiquidationThreshold(address)\":{\"details\":\"gets the reserve liquidation threshold\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidation threshold*\"},\"getReserveLiquidityCumulativeIndex(address)\":{\"details\":\"gets the reserve liquidity cumulative index\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidity cumulative index*\"},\"getReserveNormalizedIncome(address)\":{\"details\":\"gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there there has been 100% income.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve normalized income*\"},\"getReserveTotalBorrows(address)\":{\"details\":\"gets the reserve total borrows\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows (stable + variable)*\"},\"getReserveTotalBorrowsStable(address)\":{\"details\":\"gets the reserve total borrows stable\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows stable*\"},\"getReserveTotalBorrowsVariable(address)\":{\"details\":\"gets the reserve total borrows variable\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows variable*\"},\"getReserveTotalLiquidity(address)\":{\"details\":\"gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total liquidity*\"},\"getReserveUtilizationRate(address)\":{\"details\":\"returns the utilization rate U of a specific reserve\",\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"the utilization rate in ray*\"},\"getReserveVariableBorrowsCumulativeIndex(address)\":{\"details\":\"gets the reserve variable borrow index\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve variable borrow index*\"},\"getReserves()\":{\"return\":\"the array of reserves configured on the core*\"},\"getUserBasicReserveData(address,address)\":{\"details\":\"returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral) needed to calculate the global account data in the LendingPoolDataProvider\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_user\":\"the address of the user\"},\"return\":\"the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not*\"},\"getUserBorrowBalances(address,address)\":{\"details\":\"calculates and returns the borrow balances of the user\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_user\":\"the address of the user\"},\"return\":\"the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance*\"},\"getUserCurrentBorrowRateMode(address,address)\":{\"details\":\"users with no loans in progress have NONE as borrow rate mode\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the borrow rate mode for the user,*\"},\"getUserCurrentStableBorrowRate(address,address)\":{\"details\":\"the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the user stable rate*\"},\"getUserLastUpdate(address,address)\":{\"details\":\"the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the variable borrow index for the user*\"},\"getUserOriginationFee(address,address)\":{\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the origination fee for the user*\"},\"getUserUnderlyingAssetBalance(address,address)\":{\"details\":\"gets the underlying asset balance of a user based on the corresponding aToken balance.\",\"params\":{\"_reserve\":\"the reserve address\",\"_user\":\"the user address\"},\"return\":\"the underlying deposit balance of the user*\"},\"getUserVariableBorrowCumulativeIndex(address,address)\":{\"details\":\"the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the variable borrow index for the user*\"},\"initReserve(address,address,uint256,address)\":{\"details\":\"initializes a reserve\",\"params\":{\"_aTokenAddress\":\"the address of the overlying aToken contract\",\"_decimals\":\"the decimals of the reserve currency\",\"_interestRateStrategyAddress\":\"the address of the interest rate strategy contract*\",\"_reserve\":\"the address of the reserve\"}},\"initialize(address)\":{\"details\":\"initializes the Core contract, invoked upon registration on the AddressesProvider\",\"params\":{\"_addressesProvider\":\"the addressesProvider contract*\"}},\"isReserveBorrowingEnabled(address)\":{\"details\":\"returns true if the reserve is enabled for borrowing\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is enabled for borrowing, false otherwise*\"},\"isReserveUsageAsCollateralEnabled(address)\":{\"details\":\"returns true if the reserve is enabled as collateral\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is enabled as collateral, false otherwise*\"},\"isUserAllowedToBorrowAtStable(address,address,uint256)\":{\"details\":\"checks if a user is allowed to borrow at a stable rate\",\"params\":{\"_amount\":\"the amount the the user wants to borrow\",\"_reserve\":\"the reserve address\",\"_user\":\"the user\"},\"return\":\"true if the user is allowed to borrow at a stable rate, false otherwise*\"},\"isUserUseReserveAsCollateralEnabled(address,address)\":{\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"true if the user has chosen to use the reserve as collateral, false otherwise*\"},\"liquidateFee(address,uint256,address)\":{\"details\":\"transfers the fees to the fees collection address in the case of liquidation\",\"params\":{\"_amount\":\"the amount being transferred\",\"_destination\":\"the fee receiver address*\",\"_token\":\"the address of the token being transferred\"}},\"refreshConfiguration()\":{\"details\":\"updates the lending pool core configuration*\"},\"removeLastAddedReserve(address)\":{\"details\":\"removes the last added reserve in the reservesList array\",\"params\":{\"_reserveToRemove\":\"the address of the reserve*\"}},\"setReserveBaseLTVasCollateral(address,uint256)\":{\"params\":{\"_ltv\":\"the new loan to value*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveDecimals(address,uint256)\":{\"params\":{\"_decimals\":\"the decimals of the reserve*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveInterestRateStrategyAddress(address,address)\":{\"details\":\"updates the address of the interest rate strategy contract\",\"params\":{\"_rateStrategyAddress\":\"the address of the interest rate strategy contract*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveLiquidationBonus(address,uint256)\":{\"params\":{\"_bonus\":\"the new liquidation bonus*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveLiquidationThreshold(address,uint256)\":{\"params\":{\"_reserve\":\"the address of the reserve\",\"_threshold\":\"the new liquidation threshold*\"}},\"setUserUseReserveAsCollateral(address,address,bool)\":{\"details\":\"enables or disables a reserve as collateral\",\"params\":{\"_reserve\":\"the address of the principal reserve where the user deposited\",\"_useAsCollateral\":\"true if the depositor wants to use the reserve as collateral*\",\"_user\":\"the address of the depositor\"}},\"transferToFeeCollectionAddress(address,address,uint256,address)\":{\"details\":\"transfers the protocol fees to the fees collection address\",\"params\":{\"_amount\":\"the amount being transferred\",\"_destination\":\"the fee receiver address*\",\"_token\":\"the address of the token being transferred\",\"_user\":\"the address of the user from where the transfer is happening\"}},\"transferToReserve(address,address,uint256)\":{\"details\":\"transfers an amount from a user to the destination reserve\",\"params\":{\"_amount\":\"the amount being transferred*\",\"_reserve\":\"the address of the reserve where the amount is being transferred\",\"_user\":\"the address of the user from where the transfer is happening\"}},\"transferToUser(address,address,uint256)\":{\"details\":\"transfers to the user a specific amount from the reserve.\",\"params\":{\"_amount\":\"the amount being transferred*\",\"_reserve\":\"the address of the reserve where the transfer is happening\",\"_user\":\"the address of the user receiving the transfer\"}},\"unfreezeReserve(address)\":{\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"updateStateOnBorrow(address,address,uint256,uint256,uint8)\":{\"details\":\"updates the state of the core as a consequence of a borrow action.\",\"params\":{\"_amountBorrowed\":\"the new amount borrowed\",\"_borrowFee\":\"the fee on the amount borrowed\",\"_rateMode\":\"the borrow rate mode (stable, variable)\",\"_reserve\":\"the address of the reserve on which the user is borrowing\",\"_user\":\"the address of the borrower\"},\"return\":\"the new borrow rate for the user*\"},\"updateStateOnDeposit(address,address,uint256,bool)\":{\"details\":\"updates the state of the core as a result of a deposit action\",\"params\":{\"_amount\":\"the amount being deposited\",\"_isFirstDeposit\":\"true if the user is depositing for the first time*\",\"_reserve\":\"the address of the reserve in which the deposit is happening\",\"_user\":\"the address of the the user depositing\"}},\"updateStateOnFlashLoan(address,uint256,uint256,uint256)\":{\"details\":\"updates the state of the core as a result of a flashloan action\",\"params\":{\"_income\":\"the income of the protocol as a result of the action*\",\"_reserve\":\"the address of the reserve in which the flashloan is happening\"}},\"updateStateOnLiquidation(address,address,address,uint256,uint256,uint256,uint256,uint256,bool)\":{\"details\":\"updates the state of the core as a consequence of a liquidation action.\",\"params\":{\"_amountToLiquidate\":\"the amount being repaid by the liquidator\",\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_collateralReserve\":\"the address of the collateral reserve that is being liquidated\",\"_collateralToLiquidate\":\"the amount of collateral being liquidated\",\"_feeLiquidated\":\"the amount of origination fee being liquidated\",\"_liquidatedCollateralForFee\":\"the amount of collateral equivalent to the origination fee + bonus\",\"_liquidatorReceivesAToken\":\"true if the liquidator will receive aTokens, false otherwise*\",\"_principalReserve\":\"the address of the principal reserve that is being repaid\",\"_user\":\"the address of the borrower\"}},\"updateStateOnRebalance(address,address,uint256)\":{\"details\":\"updates the state of the core as a consequence of a stable rate rebalance\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_reserve\":\"the address of the principal reserve where the user borrowed\",\"_user\":\"the address of the borrower\"},\"return\":\"the new stable rate for the user*\"},\"updateStateOnRedeem(address,address,uint256,bool)\":{\"details\":\"updates the state of the core as a result of a redeem action\",\"params\":{\"_amountRedeemed\":\"the amount being redeemed\",\"_reserve\":\"the address of the reserve in which the redeem is happening\",\"_user\":\"the address of the the user redeeming\",\"_userRedeemedEverything\":\"true if the user is redeeming everything*\"}},\"updateStateOnRepay(address,address,uint256,uint256,uint256,bool)\":{\"details\":\"updates the state of the core as a consequence of a repay action.\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_originationFeeRepaid\":\"the fee on the amount that is being repaid\",\"_paybackAmountMinusFees\":\"the amount being paid back minus fees\",\"_repaidWholeLoan\":\"true if the user is repaying the whole loan*\",\"_reserve\":\"the address of the reserve on which the user is repaying\",\"_user\":\"the address of the borrower\"}},\"updateStateOnSwapRate(address,address,uint256,uint256,uint256,uint8)\":{\"details\":\"updates the state of the core as a consequence of a swap rate action.\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_compoundedBorrowBalance\":\"the amount borrowed plus accrued interest\",\"_currentRateMode\":\"the current interest rate mode for the user*\",\"_principalBorrowBalance\":\"the amount borrowed by the user\",\"_reserve\":\"the address of the reserve on which the user is repaying\",\"_user\":\"the address of the borrower\"}}},\"title\":\"LendingPoolCore contract\"},\"userdoc\":{\"methods\":{\"freezeReserve(address)\":{\"notice\":\"allows the configurator to freeze the reserve. A freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\"},\"getReserveIsFreezed(address)\":{\"notice\":\"returns if a reserve is freezed\"},\"getReserveLastUpdate(address)\":{\"notice\":\"returns the timestamp of the last action on the reserve\"},\"setReserveBaseLTVasCollateral(address,uint256)\":{\"notice\":\"allows the configurator to update the loan to value of a reserve\"},\"setReserveDecimals(address,uint256)\":{\"notice\":\"allows the configurator to update the reserve decimals\"},\"setReserveLiquidationBonus(address,uint256)\":{\"notice\":\"allows the configurator to update the liquidation bonus of a reserve\"},\"setReserveLiquidationThreshold(address,uint256)\":{\"notice\":\"allows the configurator to update the liquidation threshold of a reserve\"},\"unfreezeReserve(address)\":{\"notice\":\"allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\"}},\"notice\":\"Holds the state of the lending pool and all the funds deposited\"}},\"settings\":{\"compilationTarget\":{\"/src/contracts/lendingpool/LendingPoolCore.sol\":\"LendingPoolCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/src/contracts/configuration/AddressStorage.sol\":{\"keccak256\":\"0x079fa4d71c003221d60845732d33079b160e5669d06a61c36127bbfe3845b171\",\"urls\":[\"bzz-raw://ab0a2319a9f2df5c8b2b547786bef5b368ab713a1dfd811293eb92b6451f2d3b\",\"dweb:/ipfs/QmPamCovqkLEK34zW6nKreYToxFeE7R11mojiQegAJxZyM\"]},\"/src/contracts/configuration/LendingPoolAddressesProvider.sol\":{\"keccak256\":\"0x356a58b82ecc5f0076de1809cfb09f6560e9cb49b07ba02c507e157022c04bc9\",\"urls\":[\"bzz-raw://604442728d63c1cf25db9659ce7ad4357be9cdd2cb8e29d27a297fe701a077a9\",\"dweb:/ipfs/QmU8oYLESnuMGTY5ZRQRAvK9Gp2SmXxEXcdtju1ZXQJNry\"]},\"/src/contracts/configuration/LendingPoolParametersProvider.sol\":{\"keccak256\":\"0x031e4238c489c8fce9f6f5133010df47ccbbb3f45c175d11246411f0bdde20be\",\"urls\":[\"bzz-raw://73680439b66d04a661a69fe6e1107c6779723a8bae134252a3f33bb8efa07f8b\",\"dweb:/ipfs/QmZBv3VjSKBAjzdkepa4zKCMs8LUE5LashAAgrUDM12u7X\"]},\"/src/contracts/configuration/UintStorage.sol\":{\"keccak256\":\"0x3f74e899243a66d556c0fa81875ab95ed1e3af1909b0281d03fe89590b95121f\",\"urls\":[\"bzz-raw://be1e401270af075398906fbcaaa7d9d9b3e1a9018ee54617d92b0822eb875b27\",\"dweb:/ipfs/QmVC1qpZKqDb2cWegSpQYHzeraowgqfyryvguU19Qb8tgF\"]},\"/src/contracts/flashloan/interfaces/IFlashLoanReceiver.sol\":{\"keccak256\":\"0xa27643e29a0521cfedde2059c8c558a39b4ce17d20e66970fa6770426e9677c9\",\"urls\":[\"bzz-raw://3eddb6e660e2024a8f85f920261e991014ffd50002868084aba9ac40b5331e2a\",\"dweb:/ipfs/QmZ4DQMGS2WUTeejFdJrMrjyCcjd4PhYrqMgP1ZhTdpTnv\"]},\"/src/contracts/interfaces/IFeeProvider.sol\":{\"keccak256\":\"0xffc3aa98b71f2914098e428d53c56e8a11adc4a3c9c83366ca603e2c900e548e\",\"urls\":[\"bzz-raw://79789a649b7530983bc660033ba1bbf20d6f68dafe6a2a0eb380a2e0a2401c4c\",\"dweb:/ipfs/QmWLyjkjaEBm2awHhXzSNn8pQG9hktDk9HoXSYbP8aN8NA\"]},\"/src/contracts/interfaces/ILendingPoolAddressesProvider.sol\":{\"keccak256\":\"0xff6bbb9e7fa67ac67f807e4986863fae87d623266b2970cd102b892b5ed185af\",\"urls\":[\"bzz-raw://bd3978e384688d2fb0295ab42b3fe74c331b12d63a0d8c8f70b35d2d99c6c0f4\",\"dweb:/ipfs/QmaLfhk99FPfPNfLvJER9QtrpEKeBzgHVGjRNDYvrqXyWN\"]},\"/src/contracts/interfaces/ILendingRateOracle.sol\":{\"keccak256\":\"0xc8b4cdfd6a34c4b8d74b71815cbe861e7d48e692f0684be8d5de0b395b6b705f\",\"urls\":[\"bzz-raw://1c3586b0ed32ed7673b4e2031cb3af6881d21f20a30f395434bc39fa65de737a\",\"dweb:/ipfs/QmWSF386UA1NShQ7Q7WqozqrumnCWXDSxuFTgrnx4BjJcL\"]},\"/src/contracts/interfaces/IPriceOracleGetter.sol\":{\"keccak256\":\"0x58175d019ae6f47b4941461ba27dfe6afcc20d146e9bdb7a949902c7330803f3\",\"urls\":[\"bzz-raw://e118d81569a54c84d66c259d46e481e32cba80f56e99300a6a083b554421be4f\",\"dweb:/ipfs/QmVhbHRHdV8y2XgqznQg4CJGF8anFQctGDSsANGNi8TER9\"]},\"/src/contracts/interfaces/IReserveInterestRateStrategy.sol\":{\"keccak256\":\"0x2cac3923ddccd52d48ec16c12f8542c264b1dba0ceba8ed55dcae6a0ff3ece27\",\"urls\":[\"bzz-raw://6adddcb0f99f6749e3c42b0e36c59c867aba6a537c902d85de8005f37b24e781\",\"dweb:/ipfs/QmeBJBDZaaXrN8793Y4a3YP9VpNLVe3AwmQu163qoAG7Cg\"]},\"/src/contracts/lendingpool/LendingPool.sol\":{\"keccak256\":\"0xef91d23cb64c8dd2de9c744684bd2ed31fd3a33f414fd76df2c8e7382b92f9b0\",\"urls\":[\"bzz-raw://f5634207dc071b4dcd07f9e47895442ecb08bba28adf615b93394ccade34be70\",\"dweb:/ipfs/QmadpwuC5EJddsdPtkDcFfSwTzu1L34scVqtPc38nMXj51\"]},\"/src/contracts/lendingpool/LendingPoolCore.sol\":{\"keccak256\":\"0xd00405f2782adcee9c916bec9259588264676b632b9190f90f6f7ce09f638733\",\"urls\":[\"bzz-raw://9493d06fea985bd499d23b23a826cdb6ba98b6d490366059ae4329fa9cace0a3\",\"dweb:/ipfs/QmcUsbtpTiW7jMVSmeGxbvJ3PeYhQVCkQApNA5qaxjsxpy\"]},\"/src/contracts/lendingpool/LendingPoolDataProvider.sol\":{\"keccak256\":\"0x41fdf7523036ed4426586e3041666a7ffb898395e89e60314b73f0808adb447e\",\"urls\":[\"bzz-raw://669b4d5084057dec439d82004ee3bfcd308bd17be9be24e829e93fcc7e6a65fd\",\"dweb:/ipfs/QmTEaybrFnU9MY8fb9nz1Xs8HK7dfaGwCxuvheT3fgDUbD\"]},\"/src/contracts/lendingpool/LendingPoolLiquidationManager.sol\":{\"keccak256\":\"0xf130f16d2c6e1bed86234cded830078ba127240a938d14c9abcfb0bdc395bedb\",\"urls\":[\"bzz-raw://0d6c49774ad6a4642ce5f9bc01776a1536886e73070de4e1c4755cab43724701\",\"dweb:/ipfs/QmThyRdcJ64usHxzpX7UbSwMRVqYL9nUUVpG5ERDgtCaNR\"]},\"/src/contracts/libraries/CoreLibrary.sol\":{\"keccak256\":\"0x43f37e31a7282e30514500b91d1b903ad1631a629e3dcef39eeff9451b7f1abc\",\"urls\":[\"bzz-raw://79bcdff9122703983fce65a9da94f19c7ac8b2f232b87ca03399fedf1724112d\",\"dweb:/ipfs/QmZesZ1pDGfTKo4UsjEmcfcBpDY6oZ2kxK6hjDxWRM7jZW\"]},\"/src/contracts/libraries/EthAddressLib.sol\":{\"keccak256\":\"0x6d13f10408208ebff44123254f6db03121a8fb5a73d84c2d94f4e9651932b70d\",\"urls\":[\"bzz-raw://50b64d66e1544fcef496cc68e98cee61cfbab58685dfc4d57f73a1308e3aec2a\",\"dweb:/ipfs/QmQwJ5ZpaNjrfREruW7RzppzbEv8Mxxj5Ln87DX1i1iXW5\"]},\"/src/contracts/libraries/WadRayMath.sol\":{\"keccak256\":\"0xeb4c4581bf5809af3759c4793839ad29c36d145cd8fca113de5ebd1e3590ccd6\",\"urls\":[\"bzz-raw://61d6f32727cd51873af3ccbe67eff38e0c947dd7cb77b0a1d0151e8bfb02de0b\",\"dweb:/ipfs/QmPhw2nUfiRBJeeu4yDdVrMqeNC8AEGzniH1TG69gjx3p3\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/BaseAdminUpgradeabilityProxy.sol\":{\"keccak256\":\"0xf2e16a1f8871ef17d0401642558c4f1596f6524859fa01443cfde837c2879544\",\"urls\":[\"bzz-raw://13199ef810b7f2188fbde76096f5e411c35f2ef6b032e82694b9ab2c8eb8810c\",\"dweb:/ipfs/QmSKPwEwbbJ7GAZveoyqAkQzyskN27WeNfTfP2VKED7zGF\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/BaseUpgradeabilityProxy.sol\":{\"keccak256\":\"0x832aa0ecb5fbd8585fe96d96f7ca6417c318fe29f228f8e8c3b4f382602709d0\",\"urls\":[\"bzz-raw://c3fa785c03ca09e4d68d3addde1d5ba97d96d9a402e7c09fc892e1666fdabad2\",\"dweb:/ipfs/Qmbbof1LwgU1cgpW8L3zQeMW6iyjGM24qJBZ7aVVwjqgoC\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/InitializableAdminUpgradeabilityProxy.sol\":{\"keccak256\":\"0x21e6b79157ff2014d20b18a380d9b0bdedc5fcb220d7210ba52e78de288dca28\",\"urls\":[\"bzz-raw://4e49eb1a180bc34c74ca96c9982ff93c2c8f4410dd6d7861ace0959936e1857d\",\"dweb:/ipfs/QmV4HjFmkyx2sMj6Ghda5XNYFKtHL5QG9qbagtHdzPVKAM\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/InitializableUpgradeabilityProxy.sol\":{\"keccak256\":\"0x90dd0f65ee16a11f2c1f413bf13dc8b153b8c41854c8c3965b42f99a2200cd1d\",\"urls\":[\"bzz-raw://3e14953656bbc19d812ee9fc418a4df69100782194ca95bf757f3987a718be66\",\"dweb:/ipfs/QmcTmFcZMbesvtScuRYenfiPdHXbG9sWxPRswHdsFGozRB\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/Proxy.sol\":{\"keccak256\":\"0xd8dcdaaf2f03c606a569d91506958bf78df9adfb41df76727857e5dfe956e872\",\"urls\":[\"bzz-raw://1d780033022b07478621ce08cd4e668603fc899ae3212a883eea23347937e8d5\",\"dweb:/ipfs/QmVZkBHpdDjko87qT4597e3UZ5uYdrEfPYbamEjBep52Se\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/UpgradeabilityProxy.sol\":{\"keccak256\":\"0x5829b59012f64d1ce3ae6b98a61ddf5d6daa6e6f1a54e336ce910c8afd415c69\",\"urls\":[\"bzz-raw://28cba7d1f3d67aab91a4f88df4cb63762b443c31cb62a87e957add0b43dc8e1a\",\"dweb:/ipfs/QmUXzpQDBXA2xGSNRqjn3VMJ3o8RXmpATieU9ovvk6QDAD\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/VersionedInitializable.sol\":{\"keccak256\":\"0x8691eb3d853842f32d3b1e65c788f3db226901ec82c3de52c21eb029dc7f545b\",\"urls\":[\"bzz-raw://c46f6c422db674265552cb12abce67088e23fbec2723a5d1173058e2b0f3378a\",\"dweb:/ipfs/QmXnBcGWAX8wAvZngxxVwvAPKpxnZ8ABdWKaf8cYb25qns\"]},\"/src/contracts/tokenization/AToken.sol\":{\"keccak256\":\"0x53e5167142bfbfe0367f8101996353d718e79bbdd100eae9c4ee4fc3ab503e14\",\"urls\":[\"bzz-raw://806418e40e4bb0a03fcdbb578e77d4fc14464f5a3df348b6f51b83cdaef7db77\",\"dweb:/ipfs/QmSixjXLSHJiWhkPaaiWBxtKxrzwSuhwG7iSFWGMFTY2ah\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x4ccf2d7b51873db1ccfd54ca2adae5eac3b184f9699911ed4490438419f1c690\",\"urls\":[\"bzz-raw://d62d769b2219d5de39013093412623e624fa887f871826ea3bae6052ee893610\",\"dweb:/ipfs/QmV3yVktya1s617QmuzQR2CfuJgUi3dR2xEZY9ecmqZ2G1\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzz-raw://cd3429aa9a4878dcf6c73faa32c3722f4013d4be012ece543b246faa6b50f55c\",\"dweb:/ipfs/QmS55hgTvNEAKinus19m65CB4wcymN8EiUPFpRx5tYJ1i2\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x852793a3c2f86d336a683b30d688ec3dcfc57451af5a2bf5975cda3b7191a901\",\"urls\":[\"bzz-raw://4f5b57664069671648fb81f55b0082faecdf1b2f159eec6b1fa6cef9b7d73bc5\",\"dweb:/ipfs/QmcyytaLs7zFdb4Uu7C5PmQRhQdB3wA3fUdkV6mkYfdDFH\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0xc61b3603089b09a730d8ca72e9133a496cc4405da40e9b87c12f073245d774bf\",\"urls\":[\"bzz-raw://de8bb0003d53de236913f0e0102e7a9d015e02098f2495edd000f207fe2be2f4\",\"dweb:/ipfs/QmbtwNwAJEehWWL7yGGyyMoenQvcqtz91pqLgQPpLRoLYC\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzz-raw://d0abb99bb8bfc2bc0a89902b8ed1dc0442ad08cc78cee64c291b3df6a27bcccc\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]},\"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf6f89424e17870561dc23c5933c55c5726b66a68d51ad2a2c00c569a5f02f507\",\"urls\":[\"bzz-raw://005657a7ffbf6d12726ac0167b55be965dc473d43f061b605f883a54cc00ab4f\",\"dweb:/ipfs/QmaBzyvDQyNnn6DXQYewEtN9Go85orikSnW9PwNWqUGPEX\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf3358e5819ca73357abd6c90bdfffd0474af54364897f6b3e3234c4b71fbe9a1\",\"urls\":[\"bzz-raw://75ae8d04454d1511a2ed986cc8585736f05c5c25280683b3d24712a9f414a4bf\",\"dweb:/ipfs/Qmb3kNCoBUZdah1AgBBD4zMk898j5Qw8ahT1w5cCMYp5Y3\"]},\"openzeppelin-solidity/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x0441ff2b36d503f3a29d28d3754291f119064f4973d5c780698143d919037a78\",\"urls\":[\"bzz-raw://af27dd68d2371e68c8ed8cf297ec6d832bf906742d53367b70399ba918060cb7\",\"dweb:/ipfs/QmcMMjZceFepXgRrzSx577oWwt7SCSFzoqZiTF7tTxquF7\"]}},\"version\":1}", - "bytecode": "0x60806040526000805534801561001457600080fd5b5061575d806100246000396000f3fe60806040526004361061041b5760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f6148311146113bf578063f6ea8d7614611443578063fa51854c1461147e578063fa93b2a5146114c3578063feab31ac146115065761041b565b8063e8ae2f5b146112eb578063eede87c11461131e578063ef1f937314611359578063f054ab461461138c5761041b565b8063dae4c4e7116100f2578063dae4c4e7146111d4578063e10076ad14611207578063e2174d8614611242578063e240301914611285578063e6d18190146112b85761041b565b8063d15e0053146110fc578063d3ae26b31461112f578063d466016f14611144578063da12d96f1461117d5761041b565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e14611012578063c72c4d1014611045578063c76a6c9c1461105a578063c7d142371461108d578063d06e2ec1146110c95761041b565b8063bd7fd79a14610f46578063bfacad8414610f79578063c33cfd9014610fac578063c4d66de814610fdf5761041b565b8063afcdbea3116101ed578063afcdbea314610e17578063b701d09314610e62578063b75d6f3414610e95578063b8c0f74514610ec8578063bcd6ffa414610efb5761041b565b8063a2353fdc14610d29578063a5bc826c14610d5c578063a8dc0f4514610da1578063af825b0714610dd45761041b565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a4114610bfc57806398bd473714610c2f5780639e3c4f3b14610c625780639e67484814610c9d5780639fb8afcd14610cd05761041b565b80637aca76eb14610b2d5780637f90fec514610b6057806388079d8814610b935780638f385c2214610bc65761041b565b806366d103f3116102f357806366d103f3146109e057806368beb4d614610a1b5780636ae1441614610a865780636fffab0c14610ab957806370fb84f414610af45761041b565b80635cf2e656146109045780635fc526ff14610937578063646810831461099257806366bbd928146109a75761041b565b80633443a14b116103a757806345330a401161037657806345330a40146107de57806346bc0f28146108275780634a08accb1461085a5780634f1446091461088d5780634fe7a6e5146108da5761041b565b80633443a14b146106b757806334b3beee146106f057806337ac6fe41461073f5780633e72a454146107ab5761041b565b806318a4dbca116103ee57806318a4dbca1461057957806318f9bbae146105b45780631ca19f19146105e75780631d2118f91461064657806328fcf4d3146106815761041b565b806305075d6e146104615780630902f1ac146104a857806309ac29531461050d5780630c7de4e914610552575b61042433611541565b61045f5760405162461bcd60e51b81526004018080602001828103825260368152602001806154b16036913960400191505060405180910390fd5b005b34801561046d57600080fd5b506104946004803603602081101561048457600080fd5b50356001600160a01b031661154b565b604080519115158252519081900360200190f35b3480156104b457600080fd5b506104bd611573565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104f95781810151838201526020016104e1565b505050509050019250505060405180910390f35b34801561051957600080fd5b5061045f6004803603608081101561053057600080fd5b506001600160a01b0381351690602081013590604081013590606001356115d5565b34801561055e57600080fd5b506105676116a3565b60408051918252519081900360200190f35b34801561058557600080fd5b506105676004803603604081101561059c57600080fd5b506001600160a01b03813581169160200135166116a8565b3480156105c057600080fd5b50610494600480360360208110156105d757600080fd5b50356001600160a01b031661173b565b3480156105f357600080fd5b506106226004803603604081101561060a57600080fd5b506001600160a01b0381358116916020013516611763565b6040518082600281111561063257fe5b60ff16815260200191505060405180910390f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b506001600160a01b03813581169160200135166117b8565b61045f6004803603606081101561069757600080fd5b506001600160a01b0381358116916020810135909116906040013561189e565b3480156106c357600080fd5b5061045f600480360360408110156106da57600080fd5b506001600160a01b038135169060200135611a69565b3480156106fc57600080fd5b506107236004803603602081101561071357600080fd5b50356001600160a01b0316611b3d565b604080516001600160a01b039092168252519081900360200190f35b34801561074b57600080fd5b50610792600480360360a081101561076257600080fd5b5080356001600160a01b03908116916020810135909116906040810135906060810135906080013560ff16611b5e565b6040805192835260208301919091528051918290030190f35b3480156107b757600080fd5b5061045f600480360360208110156107ce57600080fd5b50356001600160a01b0316611bfe565b3480156107ea57600080fd5b5061045f6004803603608081101561080157600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516611cda565b34801561083357600080fd5b506105676004803603602081101561084a57600080fd5b50356001600160a01b0316611e34565b34801561086657600080fd5b506104946004803603602081101561087d57600080fd5b50356001600160a01b0316611e52565b34801561089957600080fd5b506108c0600480360360208110156108b057600080fd5b50356001600160a01b0316611e7a565b6040805164ffffffffff9092168252519081900360200190f35b3480156108e657600080fd5b50610723600480360360208110156108fd57600080fd5b5035611ea6565b34801561091057600080fd5b506104946004803603602081101561092757600080fd5b50356001600160a01b0316611ecd565b34801561094357600080fd5b5061096a6004803603602081101561095a57600080fd5b50356001600160a01b0316611ef5565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561099e57600080fd5b5061045f611f33565b3480156109b357600080fd5b5061045f600480360360408110156109ca57600080fd5b506001600160a01b038135169060200135611ff2565b3480156109ec57600080fd5b5061056760048036036040811015610a0357600080fd5b506001600160a01b03813581169160200135166120c6565b348015610a2757600080fd5b5061045f6004803603610120811015610a3f57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a08101359060c08101359060e081013590610100013515156120fc565b348015610a9257600080fd5b5061072360048036036020811015610aa957600080fd5b50356001600160a01b031661219e565b348015610ac557600080fd5b5061056760048036036040811015610adc57600080fd5b506001600160a01b03813581169160200135166121bf565b348015610b0057600080fd5b5061045f60048036036040811015610b1757600080fd5b506001600160a01b0381351690602001356121ee565b348015610b3957600080fd5b5061045f60048036036020811015610b5057600080fd5b50356001600160a01b03166122c2565b348015610b6c57600080fd5b5061056760048036036020811015610b8357600080fd5b50356001600160a01b03166123a4565b348015610b9f57600080fd5b5061056760048036036020811015610bb657600080fd5b50356001600160a01b03166123c2565b61045f60048036036060811015610bdc57600080fd5b506001600160a01b038135811691602081013591604090910135166124ea565b348015610c0857600080fd5b5061056760048036036020811015610c1f57600080fd5b50356001600160a01b0316612600565b348015610c3b57600080fd5b5061056760048036036020811015610c5257600080fd5b50356001600160a01b03166126b0565b348015610c6e57600080fd5b5061049460048036036040811015610c8557600080fd5b506001600160a01b03813581169160200135166126ce565b348015610ca957600080fd5b5061049460048036036020811015610cc057600080fd5b50356001600160a01b0316612707565b348015610cdc57600080fd5b50610d0b60048036036040811015610cf357600080fd5b506001600160a01b038135811691602001351661272f565b60408051938452602084019290925282820152519081900360600190f35b348015610d3557600080fd5b5061056760048036036020811015610d4c57600080fd5b50356001600160a01b03166127ba565b348015610d6857600080fd5b5061045f60048036036080811015610d7f57600080fd5b506001600160a01b0381351690602081013590604081013590606001356127d8565b348015610dad57600080fd5b5061045f60048036036020811015610dc457600080fd5b50356001600160a01b0316612926565b348015610de057600080fd5b5061056760048036036060811015610df757600080fd5b506001600160a01b03813581169160208101359091169060400135612a55565b348015610e2357600080fd5b5061045f60048036036080811015610e3a57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612af5565b348015610e6e57600080fd5b5061056760048036036020811015610e8557600080fd5b50356001600160a01b0316612b7d565b348015610ea157600080fd5b5061045f60048036036020811015610eb857600080fd5b50356001600160a01b0316612b9b565b348015610ed457600080fd5b5061045f60048036036020811015610eeb57600080fd5b50356001600160a01b0316612cce565b348015610f0757600080fd5b5061045f60048036036080811015610f1e57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612daa565b348015610f5257600080fd5b5061056760048036036020811015610f6957600080fd5b50356001600160a01b0316612e32565b348015610f8557600080fd5b5061056760048036036020811015610f9c57600080fd5b50356001600160a01b0316612e4d565b348015610fb857600080fd5b5061056760048036036020811015610fcf57600080fd5b50356001600160a01b0316612eb7565b348015610feb57600080fd5b5061045f6004803603602081101561100257600080fd5b50356001600160a01b0316612ef0565b34801561101e57600080fd5b506105676004803603602081101561103557600080fd5b50356001600160a01b0316612faf565b34801561105157600080fd5b50610723612fcd565b34801561106657600080fd5b506105676004803603602081101561107d57600080fd5b50356001600160a01b0316612fdc565b61045f600480360360808110156110a357600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516612ffa565b3480156110d557600080fd5b5061045f600480360360208110156110ec57600080fd5b50356001600160a01b03166131ac565b34801561110857600080fd5b506105676004803603602081101561111f57600080fd5b50356001600160a01b03166133b1565b34801561113b57600080fd5b506107236133d2565b34801561115057600080fd5b5061045f6004803603604081101561116757600080fd5b506001600160a01b0381351690602001356133e1565b34801561118957600080fd5b5061045f600480360360c08110156111a057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a0013515156134b5565b3480156111e057600080fd5b5061045f600480360360208110156111f757600080fd5b50356001600160a01b0316613524565b34801561121357600080fd5b5061096a6004803603604081101561122a57600080fd5b506001600160a01b0381358116916020013516613606565b34801561124e57600080fd5b506104946004803603606081101561126557600080fd5b506001600160a01b038135811691602081013590911690604001356136b3565b34801561129157600080fd5b50610567600480360360208110156112a857600080fd5b50356001600160a01b0316613749565b3480156112c457600080fd5b50610567600480360360208110156112db57600080fd5b50356001600160a01b03166137ed565b3480156112f757600080fd5b5061045f6004803603602081101561130e57600080fd5b50356001600160a01b031661380e565b34801561132a57600080fd5b5061045f6004803603604081101561134157600080fd5b506001600160a01b0381351690602001351515613929565b34801561136557600080fd5b5061045f6004803603602081101561137c57600080fd5b50356001600160a01b0316613a60565b34801561139857600080fd5b50610567600480360360208110156113af57600080fd5b50356001600160a01b0316613b3c565b3480156113cb57600080fd5b50611418600480360360c08110156113e257600080fd5b5080356001600160a01b039081169160208101359091169060408101359060608101359060808101359060a0013560ff16613b5a565b6040518083600281111561142857fe5b60ff1681526020018281526020019250505060405180910390f35b34801561144f57600080fd5b506105676004803603604081101561146657600080fd5b506001600160a01b0381358116916020013516613bec565b34801561148a57600080fd5b5061045f600480360360608110156114a157600080fd5b506001600160a01b038135811691602081013590911690604001351515613c1b565b3480156114cf57600080fd5b5061045f600480360360608110156114e657600080fd5b506001600160a01b03813581169160208101359091169060400135613cad565b34801561151257600080fd5b506105676004803603604081101561152957600080fd5b506001600160a01b0381358116916020013516613dd4565b803b15155b919050565b6001600160a01b03166000908152603660205260409020600d0154600160e01b900460ff1690565b606060388054806020026020016040519081016040528092919081815260200182805480156115cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ad575b5050505050905090565b6034546001600160a01b0316331461161e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6116288482613e03565b6001600160a01b038416600090815260366020526040902061164990613ee6565b6000611664611657866137ed565b859063ffffffff613f7e16565b6001600160a01b038616600090815260366020526040902090915061169090828563ffffffff613fd816565b61169c85846000614036565b5050505050565b600481565b6001600160a01b038083166000908152603660209081526040808320600c015481516370a0823160e01b8152868616600482015291519394169283926370a082319260248082019391829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50519150505b92915050565b6001600160a01b03166000908152603660205260409020600d0154600160d01b900460ff1690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052908120805461179a576000915050611735565b60008160030154116117ad5760026117b0565b60015b949350505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156117fc57600080fd5b505afa158015611810573d6000803e3d6000fd5b505050506040513d602081101561182657600080fd5b50516001600160a01b03161461186d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039182166000908152603660205260409020600d0180546001600160a01b03191691909216179055565b6034546001600160a01b031633146118e75760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6118ef6141cf565b6001600160a01b0316836001600160a01b0316146119645734156119445760405162461bcd60e51b81526004018080602001828103825260328152602001806155476032913960400191505060405180910390fd5b61195f6001600160a01b03841683308463ffffffff6141e716565b611a64565b803410156119a35760405162461bcd60e51b815260040180806020018281038252603581526020018061547c6035913960400191505060405180910390fd5b80341115611a645760006119bd348363ffffffff61424116565b6040519091506000906001600160a01b0385169061c35090849084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b606091505b505090508061169c576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611aad57600080fd5b505afa158015611ac1573d6000803e3d6000fd5b505050506040513d6020811015611ad757600080fd5b50516001600160a01b031614611b1e5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060090155565b6001600160a01b039081166000908152603660205260409020600c01541690565b60345460009081906001600160a01b03163314611bac5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b600080611bb9898961272f565b9250509150611bcc898984848b8a61429e565b611bda898989848a8a6142cd565b611be689600089614036565b611bf089896143f2565b999098509650505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d6020811015611c6c57600080fd5b50516001600160a01b031614611cb35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e01b19169055565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611d1e57600080fd5b505afa158015611d32573d6000803e3d6000fd5b505050506040513d6020811015611d4857600080fd5b50516001600160a01b031614611d8f5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0380851660009081526036602052604080822081516304dda73560e21b8152600481019190915286841660248201526044810186905292841660648401525173__CoreLibrary___________________________926313769cd4926084808301939192829003018186803b158015611e0d57600080fd5b505af4158015611e21573d6000803e3d6000fd5b50505050611e2e84614484565b50505050565b6001600160a01b031660009081526036602052604090206006015490565b6001600160a01b03166000908152603660205260409020600d0154600160e81b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160a01b900464ffffffffff1690565b60388181548110611eb357fe5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03166000908152603660205260409020600d0154600160c81b900460ff1690565b6001600160a01b03166000908152603660205260409020600b81015460088201546009830154600d909301549193909291600160d01b900460ff1690565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611f7757600080fd5b505afa158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b50516001600160a01b031614611fe85760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b611ff0614528565b565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b50516001600160a01b0316146120a75760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600b0155565b6001600160a01b0390811660009081526037602090815260408083209490931682529290925290206004015464ffffffffff1690565b6034546001600160a01b031633146121455760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b612151898888856145c3565b61215a8861467c565b61216789888887866146a0565b61217389876000614036565b806121935761219388600061218e888763ffffffff613f7e16565b614036565b505050505050505050565b6001600160a01b039081166000908152603660205260409020600d01541690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206003015492915050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050506040513d602081101561225c57600080fd5b50516001600160a01b0316146122a35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600a0155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561230657600080fd5b505afa15801561231a573d6000803e3d6000fd5b505050506040513d602081101561233057600080fd5b50516001600160a01b0316146123775760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b1916600160e81b179055565b6001600160a01b031660009081526036602052604090206002015490565b6001600160a01b0380821660009081526036602090815260408083206035548251631b0c55dd60e11b815292519495919486949190921692633618abba9260048083019392829003018186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d602081101561244557600080fd5b505160058301549091506124df57806001600160a01b031663bb85c0bb856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124a957600080fd5b505afa1580156124bd573d6000803e3d6000fd5b505050506040513d60208110156124d357600080fd5b50519250611546915050565b506005015492915050565b6034546001600160a01b031633146125335760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b8034156125715760405162461bcd60e51b81526004018080602001828103825260368152602001806153f66036913960400191505060405180910390fd5b6125796141cf565b6001600160a01b0316846001600160a01b0316146125b0576125ab6001600160a01b038516828563ffffffff61475216565b611e2e565b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b6001600160a01b038116600090815260366020526040812060048101546126a65780600d0160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b15801561267157600080fd5b505afa158015612685573d6000803e3d6000fd5b505050506040513d602081101561269b57600080fd5b505191506115469050565b6004015492915050565b6001600160a01b031660009081526036602052604090206003015490565b6001600160a01b03908116600090815260376020908152604080832094909316825292909252902060040154600160281b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160d81b900460ff1690565b6001600160a01b03808216600090815260376020908152604080832093861683529290529081208054829182916127705750600092508291508190506127b3565b80546001600160a01b03871660009081526036602052604081206127959084906147a4565b905081816127a9818363ffffffff61424116565b9550955095505050505b9250925092565b6001600160a01b03166000908152603660205260409020600b015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561281c57600080fd5b505afa158015612830573d6000803e3d6000fd5b505050506040513d602081101561284657600080fd5b50516001600160a01b03161461288d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b038416600090815260366020526040808220815163126ee27360e11b81526004810191909152602481018690526044810185905260648101849052905173__CoreLibrary___________________________926324ddc4e69260848082019391829003018186803b15801561290857600080fd5b505af415801561291c573d6000803e3d6000fd5b5050505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561296a57600080fd5b505afa15801561297e573d6000803e3d6000fd5b505050506040513d602081101561299457600080fd5b50516001600160a01b0316146129db5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03811660009081526036602052604080822081516372efab5360e11b81526004810191909152905173__CoreLibrary___________________________9263e5df56a69260248082019391829003018186803b158015612a4157600080fd5b505af415801561169c573d6000803e3d6000fd5b6034546000906001600160a01b03163314612aa15760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b612aac848484614896565b612ab78484846148e6565b612ac384600080614036565b506001600160a01b038083166000908152603760209081526040808320938716835292905220600301545b9392505050565b6034546001600160a01b03163314612b3e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612b5f90613ee6565b612b6b84600084614036565b8015611e2e57611e2e84846000613c1b565b6001600160a01b031660009081526036602052604090206007015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612bdf57600080fd5b505afa158015612bf3573d6000803e3d6000fd5b505050506040513d6020811015612c0957600080fd5b50516001600160a01b031614612c505760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260409020805415801590612c7c575060008160070154115b612cb75760405162461bcd60e51b815260040180806020018281038252602481526020018061563f6024913960400191505060405180910390fd5b600d01805460ff60e01b1916600160e01b17905550565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612d1257600080fd5b505afa158015612d26573d6000803e3d6000fd5b505050506040513d6020811015612d3c57600080fd5b50516001600160a01b031614612d835760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b19169055565b6034546001600160a01b03163314612df35760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612e1490613ee6565b612e2084836000614036565b8015611e2e57611e2e84846001613c1b565b6001600160a01b031660009081526036602052604090205490565b6001600160a01b038116600090815260366020526040812081612e6f8261494f565b905080612e8157600092505050611546565b6000612e8c85613749565b9050612eae612ea1828463ffffffff613f7e16565b839063ffffffff61496c16565b95945050505050565b6001600160a01b0381166000908152603660205260408120612aee612edb8261494f565b612ee485613749565b9063ffffffff613f7e16565b6000612efa6149a8565b60015490915060ff1680612f115750612f116149ad565b80612f1d575060005481115b612f585760405162461bcd60e51b815260040180806020018281038252602e815260200180615684602e913960400191505060405180910390fd5b60015460ff16158015612f77576001805460ff19168117905560008290555b603580546001600160a01b0319166001600160a01b038516179055612f9a614528565b8015611a64576001805460ff19169055505050565b6001600160a01b031660009081526036602052604090206001015490565b6035546001600160a01b031681565b6001600160a01b03166000908152603660205260409020600a015490565b6034546001600160a01b031633146130435760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b8061304c6141cf565b6001600160a01b0316856001600160a01b0316146130c15734156130a15760405162461bcd60e51b815260040180806020018281038252605f815260200180615579605f913960600191505060405180910390fd5b6130bc6001600160a01b03861685838663ffffffff6141e716565b61169c565b823410156131005760405162461bcd60e51b815260040180806020018281038252603581526020018061547c6035913960400191505060405180910390fd5b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114613150576040519150601f19603f3d011682016040523d82523d6000602084013e613155565b606091505b50509050806131a4576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156131f057600080fd5b505afa158015613204573d6000803e3d6000fd5b505050506040513d602081101561321a57600080fd5b50516001600160a01b0316146132615760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6038805460009190600019810190811061327757fe5b6000918252602090912001546001600160a01b039081169150821681146132cf5760405162461bcd60e51b815260040180806020018281038252603d81526020018061550a603d913960400191505060405180910390fd5b6132d8816137ed565b156133145760405162461bcd60e51b81526004018080602001828103825260308152602001806155d86030913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260408120600d81018054600c830180546001600160a01b0319169055600b8301849055838355600783018490556008830184905560098301849055600a90920192909255600168ff00ffff000000000160a01b0319169055603880548061338b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0381166000908152603660205260408120612aee816149b3565b6034546001600160a01b031681565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561342557600080fd5b505afa158015613439573d6000803e3d6000fd5b505050506040513d602081101561344f57600080fd5b50516001600160a01b0316146134965760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060080155565b6034546001600160a01b031633146134fe5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b61350a868686856149e1565b613518868686868686614a45565b6131a486856000614036565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561356857600080fd5b505afa15801561357c573d6000803e3d6000fd5b505050506040513d602081101561359257600080fd5b50516001600160a01b0316146135d95760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b1916600160d81b179055565b6001600160a01b03808316600081815260366020908152604080832094861683526037825280832093835292905290812090918291829182918261364a89896116a8565b8254909150613677576004909101549095506000945084935060ff600160281b9091041691506136aa9050565b80613688838563ffffffff6147a416565b6002840154600490940154919850965091945050600160281b900460ff169150505b92959194509250565b6001600160a01b038381166000818152603660209081526040808320948716835260378252808320938352929052908120600d830154919291600160d81b900460ff1661370557600092505050612aee565b6004810154600160281b900460ff16158061372c5750600d820154600160d01b900460ff16155b8061373f575061373c86866116a8565b84115b9695505050505050565b6000806137546141cf565b6001600160a01b0316836001600160a01b03161415613774575047611735565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156137ba57600080fd5b505afa1580156137ce573d6000803e3d6000fd5b505050506040513d60208110156137e457600080fd5b50519392505050565b6001600160a01b03811660009081526036602052604081206117359061494f565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561385257600080fd5b505afa158015613866573d6000803e3d6000fd5b505050506040513d602081101561387c57600080fd5b50516001600160a01b0316146138c35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b038116600090815260366020526040808220815163041e0b2d60e51b81526004810191909152905173__CoreLibrary___________________________926383c165a09260248082019391829003018186803b158015612a4157600080fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561396d57600080fd5b505afa158015613981573d6000803e3d6000fd5b505050506040513d602081101561399757600080fd5b50516001600160a01b0316146139de5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0382166000908152603660205260408082208151637b1dd5df60e11b815260048101919091528315156024820152905173__CoreLibrary___________________________9263f63babbe9260448082019391829003018186803b158015613a4c57600080fd5b505af41580156131a4573d6000803e3d6000fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b50516001600160a01b031614613b155760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b19169055565b6001600160a01b031660009081526036602052604090206009015490565b60345460009081906001600160a01b03163314613ba85760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b613bb58888888887614ac2565b6000613bc389898787614bc1565b9050613bd189600080614036565b80613bdc8a8a6143f2565b9250925050965096945050505050565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206001015492915050565b6034546001600160a01b03163314613c645760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0391821660009081526037602090815260408083209590941682529390935291206004018054911515600160281b0265ff000000000019909216919091179055565b6034546001600160a01b03163314613cf65760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b613cfe6141cf565b6001600160a01b0316836001600160a01b031614613d305761195f6001600160a01b038416838363ffffffff61475216565b6040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114613d80576040519150601f19603f3d011682016040523d82523d6000602084013e613d85565b606091505b5050905080611e2e576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b6001600160a01b0380821660009081526037602090815260408083209386168352929052206002015492915050565b60355460408051637744894b60e11b815290516000926001600160a01b03169163ee891296916004808301926020929190829003018186803b158015613e4857600080fd5b505afa158015613e5c573d6000803e3d6000fd5b505050506040513d6020811015613e7257600080fd5b50519050613e7e6141cf565b6001600160a01b0316836001600160a01b031614613eb05761195f6001600160a01b038416828463ffffffff61475216565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015611e2e573d6000803e3d6000fd5b6000613ef18261494f565b90508015613f7a576001820154600d830154600091613f1d91600160a01b900464ffffffffff16614cbf565b8354909150613f3390829063ffffffff614d0a16565b83556004830154600d840154600091613f5991600160a01b900464ffffffffff16614d42565b9050613f72846007015482614d0a90919063ffffffff16565b600785015550505b5050565b600082820183811015612aee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000613ffb613fe684614d91565b613fef84614d91565b9063ffffffff61496c16565b9050600061401761400a614da7565b839063ffffffff613f7e16565b855490915061402d90829063ffffffff614d0a16565b90945550505050565b6001600160a01b038084166000908152603660205260408120600d810154909282918291166357e37af08861407e886140728b612ee485613749565b9063ffffffff61424116565b8760020154886003015489600601546040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b1580156140ef57600080fd5b505afa158015614103573d6000803e3d6000fd5b505050506040513d606081101561411957600080fd5b508051602080830151604093840151600189018490556005890182905560048901819055600d8901805464ffffffffff4216600160a01b0264ffffffffff60a01b19909116179055885460078a0154865186815294850184905284870183905260608501919091526080840152935192965094509192506001600160a01b038916917f04e4f521f16fcfd987978b05504262c2a2db223844977aab000e5accedb2d725919081900360a00190a250505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611e2e908590614db7565b600082821115614298576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03861660009081526036602052604090206142bf90613ee6565b6131a4868686868686614f6f565b6001600160a01b038087166000818152603660209081526040808320948a1683526037825280832093835292905220600183600281111561430a57fe5b141561432657600582015460038201556000600182015561439d565b600283600281111561433457fe5b141561435057600060038201556007820154600182015561439d565b6040805162461bcd60e51b815260206004820152601860248201527f496e76616c696420626f72726f772072617465206d6f64650000000000000000604482015290519081900360640190fd5b80546143b5908690612ee4908963ffffffff613f7e16565b815560028101546143cc908563ffffffff613f7e16565b6002820155600401805464ffffffffff19164264ffffffffff1617905550505050505050565b6000806143ff8484611763565b9050600081600281111561440f57fe5b141561441f576000915050611735565b600181600281111561442d57fe5b14614453576001600160a01b0384166000908152603660205260409020600401546117b0565b50506001600160a01b0390811660009081526037602090815260408083209490931682529290925290206003015490565b6000805b6038548110156144d157826001600160a01b0316603882815481106144a957fe5b6000918252602090912001546001600160a01b031614156144c957600191505b600101614488565b5080613f7a57603880546001810182556000919091527f38395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f4561990180546001600160a01b0384166001600160a01b03199091161790555050565b603560009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561457657600080fd5b505afa15801561458a573d6000803e3d6000fd5b505050506040513d60208110156145a057600080fd5b5051603480546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b038085166000818152603660209081526040808320948816835260378252808320938352929052206145fb82613ee6565b60006146078787611763565b905060015b81600281111561461857fe5b1415614653576003820154614636908490869063ffffffff6150cb16565b600382015461464e908490879063ffffffff61513b16565b614673565b614663838563ffffffff61524616565b614673838663ffffffff61526716565b50505050505050565b6001600160a01b038116600090815260366020526040902061469d90613ee6565b50565b6001600160a01b0380851660009081526037602090815260408083209389168352928152828220603690915291902081546146e7908690614072908663ffffffff613f7e16565b825560026146f58888611763565b600281111561470057fe5b141561471157600781015460018301555b831561473257600282015461472c908563ffffffff61424116565b60028301555b50600401805464ffffffffff19164264ffffffffff161790555050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a64908490614db7565b81546000906147b557506000611735565b60006147c48460000154614d91565b60038501549091506000908190156147f857600386015460048701546147f1919064ffffffffff16614d42565b905061483a565b6148378660010154613fef876007015461482b89600401548a600d0160149054906101000a900464ffffffffff16614d42565b9063ffffffff614d0a16565b90505b61485261484d848363ffffffff614d0a16565b6152bf565b865490925082141561488d57600486015464ffffffffff16421461488d57855461488390600163ffffffff613f7e16565b9350505050611735565b50949350505050565b6001600160a01b038084166000818152603660209081526040808320948716835260378252808320938352929052206148ce82613ee6565b600381015461169c908390859063ffffffff6150cb16565b6001600160a01b038083166000908152603760209081526040808320938716835292815282822060369091529190208154614927908463ffffffff613f7e16565b8255600501546003820155600401805464ffffffffff19164264ffffffffff16179055505050565b600061173582600301548360020154613f7e90919063ffffffff16565b6000600282046117b08361499c61498f876b033b2e3c9fd0803ce80000006152d8565b849063ffffffff613f7e16565b9063ffffffff61533116565b600490565b303b1590565b600080612aee836000015461482b856001015486600d0160149054906101000a900464ffffffffff16614cbf565b6001600160a01b03808516600090815260366020908152604080832060378352818420948816845293909152812090614a1a8787611763565b6001600160a01b0388166000908152603660205260409020909150614a3e90613ee6565b600161460c565b6001600160a01b038087166000818152603660209081526040808320948a16835260378252808320938352929052208054614a8c908790614072908763ffffffff613f7e16565b8155600782015460018201558215614aad5760006003820181905560018201555b60028101546143cc908663ffffffff61424116565b6001600160a01b03808616600081815260366020908152604080832094891683526037825280832093835292905220614afa82613ee6565b6001836002811115614b0857fe5b1415614b3a576003810154614b2483878363ffffffff61513b16565b614b34838663ffffffff61524616565b50614673565b6002836002811115614b4857fe5b1415614b74576005820154614b63838763ffffffff61526716565b614b3483868363ffffffff6150cb16565b6040805162461bcd60e51b815260206004820152601a60248201527f496e76616c69642072617465206d6f6465207265636569766564000000000000604482015290519081900360640190fd5b6001600160a01b03808416600090815260376020908152604080832093881683529281528282206036909152918120909190826002856002811115614c0257fe5b1415614c235750600581015460038301556000600183810191909155614c87565b6001856002811115614c3157fe5b1415614c50575060006003830155600781015460018301556002614c87565b60405162461bcd60e51b81526004018080602001828103825260238152602001806156dc6023913960400191505060405180910390fd5b8254614c99908763ffffffff613f7e16565b83556004909201805464ffffffffff19164264ffffffffff161790555095945050505050565b600080614cd94264ffffffffff851663ffffffff61424116565b90506000614ced613fe66301e13380614d91565b9050612eae614cfa614da7565b612ee4878463ffffffff614d0a16565b6000612aee6b033b2e3c9fd0803ce800000061499c614d2f868663ffffffff6152d816565b6b019d971e4fe8401e7400000090613f7e565b600080614d5c4264ffffffffff851663ffffffff61424116565b90506000614d74856301e1338063ffffffff61533116565b9050612eae82614d8561498f614da7565b9063ffffffff61539b16565b600061173582633b9aca0063ffffffff6152d816565b6b033b2e3c9fd0803ce800000090565b614dc9826001600160a01b0316611541565b614e1a576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310614e585780518252601f199092019160209182019101614e39565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614eba576040519150601f19603f3d011682016040523d82523d6000602084013e614ebf565b606091505b509150915081614f16576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611e2e57808060200190516020811015614f3257600080fd5b5051611e2e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156ff602a913960400191505060405180910390fd5b6000614f7b8787611763565b6001600160a01b03881660009081526036602052604090209091506001826002811115614fa457fe5b1415614fed576001600160a01b038088166000908152603760209081526040808320938c168352929052206003810154614fe7908390899063ffffffff61513b16565b50615011565b6002826002811115614ffb57fe5b141561501157615011818763ffffffff61526716565b600061502785612ee4898963ffffffff613f7e16565b9050600184600281111561503757fe5b141561505a576005820154615055908390839063ffffffff6150cb16565b612193565b600284600281111561506857fe5b141561507e57615055828263ffffffff61524616565b6040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206e657720626f72726f772072617465206d6f646500000000604482015290519081900360640190fd5b60028301546150e0818463ffffffff613f7e16565b600285015560006150f48361482b86614d91565b90506000615109866006015461482b85614d91565b905061512b61511b8760020154614d91565b613fef848463ffffffff613f7e16565b8660060181905550505050505050565b8183600201541015615194576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e7420746f206465637265617365000000000000604482015290519081900360640190fd5b60028301546151a9818463ffffffff61424116565b600285018190556151c1575060006006840155611a64565b60006151d08361482b86614d91565b905060006151e5866006015461482b85614d91565b9050818110156152265760405162461bcd60e51b81526004018080602001828103825260238152602001806154e76023913960400191505060405180910390fd5b61512b6152368760020154614d91565b613fef838563ffffffff61424116565b600382015461525b908263ffffffff613f7e16565b82600301819055505050565b80826003015410156152aa5760405162461bcd60e51b815260040180806020018281038252605081526020018061542c6050913960600191505060405180910390fd5b600382015461525b908263ffffffff61424116565b6000631dcd6500612aee633b9aca0061499c8386613f7e565b6000826152e757506000611735565b828202828482816152f457fe5b0414612aee5760405162461bcd60e51b81526004018080602001828103825260218152602001806156636021913960400191505060405180910390fd5b6000808211615387576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161539257fe5b04949350505050565b6000600282066153b7576b033b2e3c9fd0803ce80000006153b9565b825b90506002820491505b8115611735576153d28384614d0a565b925060028206156153ea576153e78184614d0a565b90505b6002820491506153c256fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820b51cb4b2ff2c9220190d7c0e46a463ea830d4e8a62cef6ff7abd8ad427d1ee5364736f6c634300050e0032", - "deployedBytecode": "0x60806040526004361061041b5760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f6148311146113bf578063f6ea8d7614611443578063fa51854c1461147e578063fa93b2a5146114c3578063feab31ac146115065761041b565b8063e8ae2f5b146112eb578063eede87c11461131e578063ef1f937314611359578063f054ab461461138c5761041b565b8063dae4c4e7116100f2578063dae4c4e7146111d4578063e10076ad14611207578063e2174d8614611242578063e240301914611285578063e6d18190146112b85761041b565b8063d15e0053146110fc578063d3ae26b31461112f578063d466016f14611144578063da12d96f1461117d5761041b565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e14611012578063c72c4d1014611045578063c76a6c9c1461105a578063c7d142371461108d578063d06e2ec1146110c95761041b565b8063bd7fd79a14610f46578063bfacad8414610f79578063c33cfd9014610fac578063c4d66de814610fdf5761041b565b8063afcdbea3116101ed578063afcdbea314610e17578063b701d09314610e62578063b75d6f3414610e95578063b8c0f74514610ec8578063bcd6ffa414610efb5761041b565b8063a2353fdc14610d29578063a5bc826c14610d5c578063a8dc0f4514610da1578063af825b0714610dd45761041b565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a4114610bfc57806398bd473714610c2f5780639e3c4f3b14610c625780639e67484814610c9d5780639fb8afcd14610cd05761041b565b80637aca76eb14610b2d5780637f90fec514610b6057806388079d8814610b935780638f385c2214610bc65761041b565b806366d103f3116102f357806366d103f3146109e057806368beb4d614610a1b5780636ae1441614610a865780636fffab0c14610ab957806370fb84f414610af45761041b565b80635cf2e656146109045780635fc526ff14610937578063646810831461099257806366bbd928146109a75761041b565b80633443a14b116103a757806345330a401161037657806345330a40146107de57806346bc0f28146108275780634a08accb1461085a5780634f1446091461088d5780634fe7a6e5146108da5761041b565b80633443a14b146106b757806334b3beee146106f057806337ac6fe41461073f5780633e72a454146107ab5761041b565b806318a4dbca116103ee57806318a4dbca1461057957806318f9bbae146105b45780631ca19f19146105e75780631d2118f91461064657806328fcf4d3146106815761041b565b806305075d6e146104615780630902f1ac146104a857806309ac29531461050d5780630c7de4e914610552575b61042433611541565b61045f5760405162461bcd60e51b81526004018080602001828103825260368152602001806154b16036913960400191505060405180910390fd5b005b34801561046d57600080fd5b506104946004803603602081101561048457600080fd5b50356001600160a01b031661154b565b604080519115158252519081900360200190f35b3480156104b457600080fd5b506104bd611573565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104f95781810151838201526020016104e1565b505050509050019250505060405180910390f35b34801561051957600080fd5b5061045f6004803603608081101561053057600080fd5b506001600160a01b0381351690602081013590604081013590606001356115d5565b34801561055e57600080fd5b506105676116a3565b60408051918252519081900360200190f35b34801561058557600080fd5b506105676004803603604081101561059c57600080fd5b506001600160a01b03813581169160200135166116a8565b3480156105c057600080fd5b50610494600480360360208110156105d757600080fd5b50356001600160a01b031661173b565b3480156105f357600080fd5b506106226004803603604081101561060a57600080fd5b506001600160a01b0381358116916020013516611763565b6040518082600281111561063257fe5b60ff16815260200191505060405180910390f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b506001600160a01b03813581169160200135166117b8565b61045f6004803603606081101561069757600080fd5b506001600160a01b0381358116916020810135909116906040013561189e565b3480156106c357600080fd5b5061045f600480360360408110156106da57600080fd5b506001600160a01b038135169060200135611a69565b3480156106fc57600080fd5b506107236004803603602081101561071357600080fd5b50356001600160a01b0316611b3d565b604080516001600160a01b039092168252519081900360200190f35b34801561074b57600080fd5b50610792600480360360a081101561076257600080fd5b5080356001600160a01b03908116916020810135909116906040810135906060810135906080013560ff16611b5e565b6040805192835260208301919091528051918290030190f35b3480156107b757600080fd5b5061045f600480360360208110156107ce57600080fd5b50356001600160a01b0316611bfe565b3480156107ea57600080fd5b5061045f6004803603608081101561080157600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516611cda565b34801561083357600080fd5b506105676004803603602081101561084a57600080fd5b50356001600160a01b0316611e34565b34801561086657600080fd5b506104946004803603602081101561087d57600080fd5b50356001600160a01b0316611e52565b34801561089957600080fd5b506108c0600480360360208110156108b057600080fd5b50356001600160a01b0316611e7a565b6040805164ffffffffff9092168252519081900360200190f35b3480156108e657600080fd5b50610723600480360360208110156108fd57600080fd5b5035611ea6565b34801561091057600080fd5b506104946004803603602081101561092757600080fd5b50356001600160a01b0316611ecd565b34801561094357600080fd5b5061096a6004803603602081101561095a57600080fd5b50356001600160a01b0316611ef5565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561099e57600080fd5b5061045f611f33565b3480156109b357600080fd5b5061045f600480360360408110156109ca57600080fd5b506001600160a01b038135169060200135611ff2565b3480156109ec57600080fd5b5061056760048036036040811015610a0357600080fd5b506001600160a01b03813581169160200135166120c6565b348015610a2757600080fd5b5061045f6004803603610120811015610a3f57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a08101359060c08101359060e081013590610100013515156120fc565b348015610a9257600080fd5b5061072360048036036020811015610aa957600080fd5b50356001600160a01b031661219e565b348015610ac557600080fd5b5061056760048036036040811015610adc57600080fd5b506001600160a01b03813581169160200135166121bf565b348015610b0057600080fd5b5061045f60048036036040811015610b1757600080fd5b506001600160a01b0381351690602001356121ee565b348015610b3957600080fd5b5061045f60048036036020811015610b5057600080fd5b50356001600160a01b03166122c2565b348015610b6c57600080fd5b5061056760048036036020811015610b8357600080fd5b50356001600160a01b03166123a4565b348015610b9f57600080fd5b5061056760048036036020811015610bb657600080fd5b50356001600160a01b03166123c2565b61045f60048036036060811015610bdc57600080fd5b506001600160a01b038135811691602081013591604090910135166124ea565b348015610c0857600080fd5b5061056760048036036020811015610c1f57600080fd5b50356001600160a01b0316612600565b348015610c3b57600080fd5b5061056760048036036020811015610c5257600080fd5b50356001600160a01b03166126b0565b348015610c6e57600080fd5b5061049460048036036040811015610c8557600080fd5b506001600160a01b03813581169160200135166126ce565b348015610ca957600080fd5b5061049460048036036020811015610cc057600080fd5b50356001600160a01b0316612707565b348015610cdc57600080fd5b50610d0b60048036036040811015610cf357600080fd5b506001600160a01b038135811691602001351661272f565b60408051938452602084019290925282820152519081900360600190f35b348015610d3557600080fd5b5061056760048036036020811015610d4c57600080fd5b50356001600160a01b03166127ba565b348015610d6857600080fd5b5061045f60048036036080811015610d7f57600080fd5b506001600160a01b0381351690602081013590604081013590606001356127d8565b348015610dad57600080fd5b5061045f60048036036020811015610dc457600080fd5b50356001600160a01b0316612926565b348015610de057600080fd5b5061056760048036036060811015610df757600080fd5b506001600160a01b03813581169160208101359091169060400135612a55565b348015610e2357600080fd5b5061045f60048036036080811015610e3a57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612af5565b348015610e6e57600080fd5b5061056760048036036020811015610e8557600080fd5b50356001600160a01b0316612b7d565b348015610ea157600080fd5b5061045f60048036036020811015610eb857600080fd5b50356001600160a01b0316612b9b565b348015610ed457600080fd5b5061045f60048036036020811015610eeb57600080fd5b50356001600160a01b0316612cce565b348015610f0757600080fd5b5061045f60048036036080811015610f1e57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612daa565b348015610f5257600080fd5b5061056760048036036020811015610f6957600080fd5b50356001600160a01b0316612e32565b348015610f8557600080fd5b5061056760048036036020811015610f9c57600080fd5b50356001600160a01b0316612e4d565b348015610fb857600080fd5b5061056760048036036020811015610fcf57600080fd5b50356001600160a01b0316612eb7565b348015610feb57600080fd5b5061045f6004803603602081101561100257600080fd5b50356001600160a01b0316612ef0565b34801561101e57600080fd5b506105676004803603602081101561103557600080fd5b50356001600160a01b0316612faf565b34801561105157600080fd5b50610723612fcd565b34801561106657600080fd5b506105676004803603602081101561107d57600080fd5b50356001600160a01b0316612fdc565b61045f600480360360808110156110a357600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516612ffa565b3480156110d557600080fd5b5061045f600480360360208110156110ec57600080fd5b50356001600160a01b03166131ac565b34801561110857600080fd5b506105676004803603602081101561111f57600080fd5b50356001600160a01b03166133b1565b34801561113b57600080fd5b506107236133d2565b34801561115057600080fd5b5061045f6004803603604081101561116757600080fd5b506001600160a01b0381351690602001356133e1565b34801561118957600080fd5b5061045f600480360360c08110156111a057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a0013515156134b5565b3480156111e057600080fd5b5061045f600480360360208110156111f757600080fd5b50356001600160a01b0316613524565b34801561121357600080fd5b5061096a6004803603604081101561122a57600080fd5b506001600160a01b0381358116916020013516613606565b34801561124e57600080fd5b506104946004803603606081101561126557600080fd5b506001600160a01b038135811691602081013590911690604001356136b3565b34801561129157600080fd5b50610567600480360360208110156112a857600080fd5b50356001600160a01b0316613749565b3480156112c457600080fd5b50610567600480360360208110156112db57600080fd5b50356001600160a01b03166137ed565b3480156112f757600080fd5b5061045f6004803603602081101561130e57600080fd5b50356001600160a01b031661380e565b34801561132a57600080fd5b5061045f6004803603604081101561134157600080fd5b506001600160a01b0381351690602001351515613929565b34801561136557600080fd5b5061045f6004803603602081101561137c57600080fd5b50356001600160a01b0316613a60565b34801561139857600080fd5b50610567600480360360208110156113af57600080fd5b50356001600160a01b0316613b3c565b3480156113cb57600080fd5b50611418600480360360c08110156113e257600080fd5b5080356001600160a01b039081169160208101359091169060408101359060608101359060808101359060a0013560ff16613b5a565b6040518083600281111561142857fe5b60ff1681526020018281526020019250505060405180910390f35b34801561144f57600080fd5b506105676004803603604081101561146657600080fd5b506001600160a01b0381358116916020013516613bec565b34801561148a57600080fd5b5061045f600480360360608110156114a157600080fd5b506001600160a01b038135811691602081013590911690604001351515613c1b565b3480156114cf57600080fd5b5061045f600480360360608110156114e657600080fd5b506001600160a01b03813581169160208101359091169060400135613cad565b34801561151257600080fd5b506105676004803603604081101561152957600080fd5b506001600160a01b0381358116916020013516613dd4565b803b15155b919050565b6001600160a01b03166000908152603660205260409020600d0154600160e01b900460ff1690565b606060388054806020026020016040519081016040528092919081815260200182805480156115cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ad575b5050505050905090565b6034546001600160a01b0316331461161e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6116288482613e03565b6001600160a01b038416600090815260366020526040902061164990613ee6565b6000611664611657866137ed565b859063ffffffff613f7e16565b6001600160a01b038616600090815260366020526040902090915061169090828563ffffffff613fd816565b61169c85846000614036565b5050505050565b600481565b6001600160a01b038083166000908152603660209081526040808320600c015481516370a0823160e01b8152868616600482015291519394169283926370a082319260248082019391829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50519150505b92915050565b6001600160a01b03166000908152603660205260409020600d0154600160d01b900460ff1690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052908120805461179a576000915050611735565b60008160030154116117ad5760026117b0565b60015b949350505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156117fc57600080fd5b505afa158015611810573d6000803e3d6000fd5b505050506040513d602081101561182657600080fd5b50516001600160a01b03161461186d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039182166000908152603660205260409020600d0180546001600160a01b03191691909216179055565b6034546001600160a01b031633146118e75760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6118ef6141cf565b6001600160a01b0316836001600160a01b0316146119645734156119445760405162461bcd60e51b81526004018080602001828103825260328152602001806155476032913960400191505060405180910390fd5b61195f6001600160a01b03841683308463ffffffff6141e716565b611a64565b803410156119a35760405162461bcd60e51b815260040180806020018281038252603581526020018061547c6035913960400191505060405180910390fd5b80341115611a645760006119bd348363ffffffff61424116565b6040519091506000906001600160a01b0385169061c35090849084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b606091505b505090508061169c576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611aad57600080fd5b505afa158015611ac1573d6000803e3d6000fd5b505050506040513d6020811015611ad757600080fd5b50516001600160a01b031614611b1e5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060090155565b6001600160a01b039081166000908152603660205260409020600c01541690565b60345460009081906001600160a01b03163314611bac5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b600080611bb9898961272f565b9250509150611bcc898984848b8a61429e565b611bda898989848a8a6142cd565b611be689600089614036565b611bf089896143f2565b999098509650505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d6020811015611c6c57600080fd5b50516001600160a01b031614611cb35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e01b19169055565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611d1e57600080fd5b505afa158015611d32573d6000803e3d6000fd5b505050506040513d6020811015611d4857600080fd5b50516001600160a01b031614611d8f5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0380851660009081526036602052604080822081516304dda73560e21b8152600481019190915286841660248201526044810186905292841660648401525173__CoreLibrary___________________________926313769cd4926084808301939192829003018186803b158015611e0d57600080fd5b505af4158015611e21573d6000803e3d6000fd5b50505050611e2e84614484565b50505050565b6001600160a01b031660009081526036602052604090206006015490565b6001600160a01b03166000908152603660205260409020600d0154600160e81b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160a01b900464ffffffffff1690565b60388181548110611eb357fe5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03166000908152603660205260409020600d0154600160c81b900460ff1690565b6001600160a01b03166000908152603660205260409020600b81015460088201546009830154600d909301549193909291600160d01b900460ff1690565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611f7757600080fd5b505afa158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b50516001600160a01b031614611fe85760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b611ff0614528565b565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b50516001600160a01b0316146120a75760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600b0155565b6001600160a01b0390811660009081526037602090815260408083209490931682529290925290206004015464ffffffffff1690565b6034546001600160a01b031633146121455760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b612151898888856145c3565b61215a8861467c565b61216789888887866146a0565b61217389876000614036565b806121935761219388600061218e888763ffffffff613f7e16565b614036565b505050505050505050565b6001600160a01b039081166000908152603660205260409020600d01541690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206003015492915050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050506040513d602081101561225c57600080fd5b50516001600160a01b0316146122a35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600a0155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561230657600080fd5b505afa15801561231a573d6000803e3d6000fd5b505050506040513d602081101561233057600080fd5b50516001600160a01b0316146123775760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b1916600160e81b179055565b6001600160a01b031660009081526036602052604090206002015490565b6001600160a01b0380821660009081526036602090815260408083206035548251631b0c55dd60e11b815292519495919486949190921692633618abba9260048083019392829003018186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d602081101561244557600080fd5b505160058301549091506124df57806001600160a01b031663bb85c0bb856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124a957600080fd5b505afa1580156124bd573d6000803e3d6000fd5b505050506040513d60208110156124d357600080fd5b50519250611546915050565b506005015492915050565b6034546001600160a01b031633146125335760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b8034156125715760405162461bcd60e51b81526004018080602001828103825260368152602001806153f66036913960400191505060405180910390fd5b6125796141cf565b6001600160a01b0316846001600160a01b0316146125b0576125ab6001600160a01b038516828563ffffffff61475216565b611e2e565b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b6001600160a01b038116600090815260366020526040812060048101546126a65780600d0160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b15801561267157600080fd5b505afa158015612685573d6000803e3d6000fd5b505050506040513d602081101561269b57600080fd5b505191506115469050565b6004015492915050565b6001600160a01b031660009081526036602052604090206003015490565b6001600160a01b03908116600090815260376020908152604080832094909316825292909252902060040154600160281b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160d81b900460ff1690565b6001600160a01b03808216600090815260376020908152604080832093861683529290529081208054829182916127705750600092508291508190506127b3565b80546001600160a01b03871660009081526036602052604081206127959084906147a4565b905081816127a9818363ffffffff61424116565b9550955095505050505b9250925092565b6001600160a01b03166000908152603660205260409020600b015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561281c57600080fd5b505afa158015612830573d6000803e3d6000fd5b505050506040513d602081101561284657600080fd5b50516001600160a01b03161461288d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b038416600090815260366020526040808220815163126ee27360e11b81526004810191909152602481018690526044810185905260648101849052905173__CoreLibrary___________________________926324ddc4e69260848082019391829003018186803b15801561290857600080fd5b505af415801561291c573d6000803e3d6000fd5b5050505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561296a57600080fd5b505afa15801561297e573d6000803e3d6000fd5b505050506040513d602081101561299457600080fd5b50516001600160a01b0316146129db5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03811660009081526036602052604080822081516372efab5360e11b81526004810191909152905173__CoreLibrary___________________________9263e5df56a69260248082019391829003018186803b158015612a4157600080fd5b505af415801561169c573d6000803e3d6000fd5b6034546000906001600160a01b03163314612aa15760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b612aac848484614896565b612ab78484846148e6565b612ac384600080614036565b506001600160a01b038083166000908152603760209081526040808320938716835292905220600301545b9392505050565b6034546001600160a01b03163314612b3e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612b5f90613ee6565b612b6b84600084614036565b8015611e2e57611e2e84846000613c1b565b6001600160a01b031660009081526036602052604090206007015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612bdf57600080fd5b505afa158015612bf3573d6000803e3d6000fd5b505050506040513d6020811015612c0957600080fd5b50516001600160a01b031614612c505760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260409020805415801590612c7c575060008160070154115b612cb75760405162461bcd60e51b815260040180806020018281038252602481526020018061563f6024913960400191505060405180910390fd5b600d01805460ff60e01b1916600160e01b17905550565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612d1257600080fd5b505afa158015612d26573d6000803e3d6000fd5b505050506040513d6020811015612d3c57600080fd5b50516001600160a01b031614612d835760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b19169055565b6034546001600160a01b03163314612df35760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612e1490613ee6565b612e2084836000614036565b8015611e2e57611e2e84846001613c1b565b6001600160a01b031660009081526036602052604090205490565b6001600160a01b038116600090815260366020526040812081612e6f8261494f565b905080612e8157600092505050611546565b6000612e8c85613749565b9050612eae612ea1828463ffffffff613f7e16565b839063ffffffff61496c16565b95945050505050565b6001600160a01b0381166000908152603660205260408120612aee612edb8261494f565b612ee485613749565b9063ffffffff613f7e16565b6000612efa6149a8565b60015490915060ff1680612f115750612f116149ad565b80612f1d575060005481115b612f585760405162461bcd60e51b815260040180806020018281038252602e815260200180615684602e913960400191505060405180910390fd5b60015460ff16158015612f77576001805460ff19168117905560008290555b603580546001600160a01b0319166001600160a01b038516179055612f9a614528565b8015611a64576001805460ff19169055505050565b6001600160a01b031660009081526036602052604090206001015490565b6035546001600160a01b031681565b6001600160a01b03166000908152603660205260409020600a015490565b6034546001600160a01b031633146130435760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b8061304c6141cf565b6001600160a01b0316856001600160a01b0316146130c15734156130a15760405162461bcd60e51b815260040180806020018281038252605f815260200180615579605f913960600191505060405180910390fd5b6130bc6001600160a01b03861685838663ffffffff6141e716565b61169c565b823410156131005760405162461bcd60e51b815260040180806020018281038252603581526020018061547c6035913960400191505060405180910390fd5b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114613150576040519150601f19603f3d011682016040523d82523d6000602084013e613155565b606091505b50509050806131a4576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156131f057600080fd5b505afa158015613204573d6000803e3d6000fd5b505050506040513d602081101561321a57600080fd5b50516001600160a01b0316146132615760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6038805460009190600019810190811061327757fe5b6000918252602090912001546001600160a01b039081169150821681146132cf5760405162461bcd60e51b815260040180806020018281038252603d81526020018061550a603d913960400191505060405180910390fd5b6132d8816137ed565b156133145760405162461bcd60e51b81526004018080602001828103825260308152602001806155d86030913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260408120600d81018054600c830180546001600160a01b0319169055600b8301849055838355600783018490556008830184905560098301849055600a90920192909255600168ff00ffff000000000160a01b0319169055603880548061338b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0381166000908152603660205260408120612aee816149b3565b6034546001600160a01b031681565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561342557600080fd5b505afa158015613439573d6000803e3d6000fd5b505050506040513d602081101561344f57600080fd5b50516001600160a01b0316146134965760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060080155565b6034546001600160a01b031633146134fe5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b61350a868686856149e1565b613518868686868686614a45565b6131a486856000614036565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561356857600080fd5b505afa15801561357c573d6000803e3d6000fd5b505050506040513d602081101561359257600080fd5b50516001600160a01b0316146135d95760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b1916600160d81b179055565b6001600160a01b03808316600081815260366020908152604080832094861683526037825280832093835292905290812090918291829182918261364a89896116a8565b8254909150613677576004909101549095506000945084935060ff600160281b9091041691506136aa9050565b80613688838563ffffffff6147a416565b6002840154600490940154919850965091945050600160281b900460ff169150505b92959194509250565b6001600160a01b038381166000818152603660209081526040808320948716835260378252808320938352929052908120600d830154919291600160d81b900460ff1661370557600092505050612aee565b6004810154600160281b900460ff16158061372c5750600d820154600160d01b900460ff16155b8061373f575061373c86866116a8565b84115b9695505050505050565b6000806137546141cf565b6001600160a01b0316836001600160a01b03161415613774575047611735565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156137ba57600080fd5b505afa1580156137ce573d6000803e3d6000fd5b505050506040513d60208110156137e457600080fd5b50519392505050565b6001600160a01b03811660009081526036602052604081206117359061494f565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561385257600080fd5b505afa158015613866573d6000803e3d6000fd5b505050506040513d602081101561387c57600080fd5b50516001600160a01b0316146138c35760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b038116600090815260366020526040808220815163041e0b2d60e51b81526004810191909152905173__CoreLibrary___________________________926383c165a09260248082019391829003018186803b158015612a4157600080fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561396d57600080fd5b505afa158015613981573d6000803e3d6000fd5b505050506040513d602081101561399757600080fd5b50516001600160a01b0316146139de5760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b0382166000908152603660205260408082208151637b1dd5df60e11b815260048101919091528315156024820152905173__CoreLibrary___________________________9263f63babbe9260448082019391829003018186803b158015613a4c57600080fd5b505af41580156131a4573d6000803e3d6000fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b50516001600160a01b031614613b155760405162461bcd60e51b81526004018080602001828103825260378152602001806156086037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b19169055565b6001600160a01b031660009081526036602052604090206009015490565b60345460009081906001600160a01b03163314613ba85760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b613bb58888888887614ac2565b6000613bc389898787614bc1565b9050613bd189600080614036565b80613bdc8a8a6143f2565b9250925050965096945050505050565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206001015492915050565b6034546001600160a01b03163314613c645760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b6001600160a01b0391821660009081526037602090815260408083209590941682529390935291206004018054911515600160281b0265ff000000000019909216919091179055565b6034546001600160a01b03163314613cf65760405162461bcd60e51b815260040180806020018281038252602a8152602001806156b2602a913960400191505060405180910390fd5b613cfe6141cf565b6001600160a01b0316836001600160a01b031614613d305761195f6001600160a01b038416838363ffffffff61475216565b6040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114613d80576040519150601f19603f3d011682016040523d82523d6000602084013e613d85565b606091505b5050905080611e2e576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b6001600160a01b0380821660009081526037602090815260408083209386168352929052206002015492915050565b60355460408051637744894b60e11b815290516000926001600160a01b03169163ee891296916004808301926020929190829003018186803b158015613e4857600080fd5b505afa158015613e5c573d6000803e3d6000fd5b505050506040513d6020811015613e7257600080fd5b50519050613e7e6141cf565b6001600160a01b0316836001600160a01b031614613eb05761195f6001600160a01b038416828463ffffffff61475216565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015611e2e573d6000803e3d6000fd5b6000613ef18261494f565b90508015613f7a576001820154600d830154600091613f1d91600160a01b900464ffffffffff16614cbf565b8354909150613f3390829063ffffffff614d0a16565b83556004830154600d840154600091613f5991600160a01b900464ffffffffff16614d42565b9050613f72846007015482614d0a90919063ffffffff16565b600785015550505b5050565b600082820183811015612aee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000613ffb613fe684614d91565b613fef84614d91565b9063ffffffff61496c16565b9050600061401761400a614da7565b839063ffffffff613f7e16565b855490915061402d90829063ffffffff614d0a16565b90945550505050565b6001600160a01b038084166000908152603660205260408120600d810154909282918291166357e37af08861407e886140728b612ee485613749565b9063ffffffff61424116565b8760020154886003015489600601546040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b1580156140ef57600080fd5b505afa158015614103573d6000803e3d6000fd5b505050506040513d606081101561411957600080fd5b508051602080830151604093840151600189018490556005890182905560048901819055600d8901805464ffffffffff4216600160a01b0264ffffffffff60a01b19909116179055885460078a0154865186815294850184905284870183905260608501919091526080840152935192965094509192506001600160a01b038916917f04e4f521f16fcfd987978b05504262c2a2db223844977aab000e5accedb2d725919081900360a00190a250505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611e2e908590614db7565b600082821115614298576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03861660009081526036602052604090206142bf90613ee6565b6131a4868686868686614f6f565b6001600160a01b038087166000818152603660209081526040808320948a1683526037825280832093835292905220600183600281111561430a57fe5b141561432657600582015460038201556000600182015561439d565b600283600281111561433457fe5b141561435057600060038201556007820154600182015561439d565b6040805162461bcd60e51b815260206004820152601860248201527f496e76616c696420626f72726f772072617465206d6f64650000000000000000604482015290519081900360640190fd5b80546143b5908690612ee4908963ffffffff613f7e16565b815560028101546143cc908563ffffffff613f7e16565b6002820155600401805464ffffffffff19164264ffffffffff1617905550505050505050565b6000806143ff8484611763565b9050600081600281111561440f57fe5b141561441f576000915050611735565b600181600281111561442d57fe5b14614453576001600160a01b0384166000908152603660205260409020600401546117b0565b50506001600160a01b0390811660009081526037602090815260408083209490931682529290925290206003015490565b6000805b6038548110156144d157826001600160a01b0316603882815481106144a957fe5b6000918252602090912001546001600160a01b031614156144c957600191505b600101614488565b5080613f7a57603880546001810182556000919091527f38395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f4561990180546001600160a01b0384166001600160a01b03199091161790555050565b603560009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561457657600080fd5b505afa15801561458a573d6000803e3d6000fd5b505050506040513d60208110156145a057600080fd5b5051603480546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b038085166000818152603660209081526040808320948816835260378252808320938352929052206145fb82613ee6565b60006146078787611763565b905060015b81600281111561461857fe5b1415614653576003820154614636908490869063ffffffff6150cb16565b600382015461464e908490879063ffffffff61513b16565b614673565b614663838563ffffffff61524616565b614673838663ffffffff61526716565b50505050505050565b6001600160a01b038116600090815260366020526040902061469d90613ee6565b50565b6001600160a01b0380851660009081526037602090815260408083209389168352928152828220603690915291902081546146e7908690614072908663ffffffff613f7e16565b825560026146f58888611763565b600281111561470057fe5b141561471157600781015460018301555b831561473257600282015461472c908563ffffffff61424116565b60028301555b50600401805464ffffffffff19164264ffffffffff161790555050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a64908490614db7565b81546000906147b557506000611735565b60006147c48460000154614d91565b60038501549091506000908190156147f857600386015460048701546147f1919064ffffffffff16614d42565b905061483a565b6148378660010154613fef876007015461482b89600401548a600d0160149054906101000a900464ffffffffff16614d42565b9063ffffffff614d0a16565b90505b61485261484d848363ffffffff614d0a16565b6152bf565b865490925082141561488d57600486015464ffffffffff16421461488d57855461488390600163ffffffff613f7e16565b9350505050611735565b50949350505050565b6001600160a01b038084166000818152603660209081526040808320948716835260378252808320938352929052206148ce82613ee6565b600381015461169c908390859063ffffffff6150cb16565b6001600160a01b038083166000908152603760209081526040808320938716835292815282822060369091529190208154614927908463ffffffff613f7e16565b8255600501546003820155600401805464ffffffffff19164264ffffffffff16179055505050565b600061173582600301548360020154613f7e90919063ffffffff16565b6000600282046117b08361499c61498f876b033b2e3c9fd0803ce80000006152d8565b849063ffffffff613f7e16565b9063ffffffff61533116565b600490565b303b1590565b600080612aee836000015461482b856001015486600d0160149054906101000a900464ffffffffff16614cbf565b6001600160a01b03808516600090815260366020908152604080832060378352818420948816845293909152812090614a1a8787611763565b6001600160a01b0388166000908152603660205260409020909150614a3e90613ee6565b600161460c565b6001600160a01b038087166000818152603660209081526040808320948a16835260378252808320938352929052208054614a8c908790614072908763ffffffff613f7e16565b8155600782015460018201558215614aad5760006003820181905560018201555b60028101546143cc908663ffffffff61424116565b6001600160a01b03808616600081815260366020908152604080832094891683526037825280832093835292905220614afa82613ee6565b6001836002811115614b0857fe5b1415614b3a576003810154614b2483878363ffffffff61513b16565b614b34838663ffffffff61524616565b50614673565b6002836002811115614b4857fe5b1415614b74576005820154614b63838763ffffffff61526716565b614b3483868363ffffffff6150cb16565b6040805162461bcd60e51b815260206004820152601a60248201527f496e76616c69642072617465206d6f6465207265636569766564000000000000604482015290519081900360640190fd5b6001600160a01b03808416600090815260376020908152604080832093881683529281528282206036909152918120909190826002856002811115614c0257fe5b1415614c235750600581015460038301556000600183810191909155614c87565b6001856002811115614c3157fe5b1415614c50575060006003830155600781015460018301556002614c87565b60405162461bcd60e51b81526004018080602001828103825260238152602001806156dc6023913960400191505060405180910390fd5b8254614c99908763ffffffff613f7e16565b83556004909201805464ffffffffff19164264ffffffffff161790555095945050505050565b600080614cd94264ffffffffff851663ffffffff61424116565b90506000614ced613fe66301e13380614d91565b9050612eae614cfa614da7565b612ee4878463ffffffff614d0a16565b6000612aee6b033b2e3c9fd0803ce800000061499c614d2f868663ffffffff6152d816565b6b019d971e4fe8401e7400000090613f7e565b600080614d5c4264ffffffffff851663ffffffff61424116565b90506000614d74856301e1338063ffffffff61533116565b9050612eae82614d8561498f614da7565b9063ffffffff61539b16565b600061173582633b9aca0063ffffffff6152d816565b6b033b2e3c9fd0803ce800000090565b614dc9826001600160a01b0316611541565b614e1a576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310614e585780518252601f199092019160209182019101614e39565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614eba576040519150601f19603f3d011682016040523d82523d6000602084013e614ebf565b606091505b509150915081614f16576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611e2e57808060200190516020811015614f3257600080fd5b5051611e2e5760405162461bcd60e51b815260040180806020018281038252602a8152602001806156ff602a913960400191505060405180910390fd5b6000614f7b8787611763565b6001600160a01b03881660009081526036602052604090209091506001826002811115614fa457fe5b1415614fed576001600160a01b038088166000908152603760209081526040808320938c168352929052206003810154614fe7908390899063ffffffff61513b16565b50615011565b6002826002811115614ffb57fe5b141561501157615011818763ffffffff61526716565b600061502785612ee4898963ffffffff613f7e16565b9050600184600281111561503757fe5b141561505a576005820154615055908390839063ffffffff6150cb16565b612193565b600284600281111561506857fe5b141561507e57615055828263ffffffff61524616565b6040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206e657720626f72726f772072617465206d6f646500000000604482015290519081900360640190fd5b60028301546150e0818463ffffffff613f7e16565b600285015560006150f48361482b86614d91565b90506000615109866006015461482b85614d91565b905061512b61511b8760020154614d91565b613fef848463ffffffff613f7e16565b8660060181905550505050505050565b8183600201541015615194576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e7420746f206465637265617365000000000000604482015290519081900360640190fd5b60028301546151a9818463ffffffff61424116565b600285018190556151c1575060006006840155611a64565b60006151d08361482b86614d91565b905060006151e5866006015461482b85614d91565b9050818110156152265760405162461bcd60e51b81526004018080602001828103825260238152602001806154e76023913960400191505060405180910390fd5b61512b6152368760020154614d91565b613fef838563ffffffff61424116565b600382015461525b908263ffffffff613f7e16565b82600301819055505050565b80826003015410156152aa5760405162461bcd60e51b815260040180806020018281038252605081526020018061542c6050913960600191505060405180910390fd5b600382015461525b908263ffffffff61424116565b6000631dcd6500612aee633b9aca0061499c8386613f7e565b6000826152e757506000611735565b828202828482816152f457fe5b0414612aee5760405162461bcd60e51b81526004018080602001828103825260218152602001806156636021913960400191505060405180910390fd5b6000808211615387576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161539257fe5b04949350505050565b6000600282066153b7576b033b2e3c9fd0803ce80000006153b9565b825b90506002820491505b8115611735576153d28384614d0a565b925060028206156153ea576153e78184614d0a565b90505b6002820491506153c256fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820b51cb4b2ff2c9220190d7c0e46a463ea830d4e8a62cef6ff7abd8ad427d1ee5364736f6c634300050e0032", - "sourceMap": "1071:66087:21:-;;;891:1:35;849:43;;1071:66087:21;8:9:-1;5:2;;;30:1;27;20:12;5:2;1071:66087:21;;;;;;;", - "deployedSourceMap": "1071:66087:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14254:23;:10;:21;:23::i;:::-;14246:90;;;;-1:-1:-1;;;14246:90:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1071:66087;30910:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30910:185:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30910:185:21;-1:-1:-1;;;;;30910:185:21;;:::i;:::-;;;;;;;;;;;;;;;;;;32635:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32635:100:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8::-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;32635:100:21;;;;;;;;;;;;;;;;;5552:744;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5552:744:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;5552:744:21;;;;;;;;;;;;;;;;;;:::i;2887:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2887:43:21;;;:::i;:::-;;;;;;;;;;;;;;;;20697:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20697:244:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20697:244:21;;;;;;;;;;:::i;30095:216::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30095:216:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30095:216:21;-1:-1:-1;;;;;30095:216:21;;:::i;34073:513::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34073:513:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;34073:513:21;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40587:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40587:238:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;40587:238:21;;;;;;;;;;:::i;17566:842::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17566:842:21;;;;;;;;;;;;;;;;;:::i;45279:263::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45279:263:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;45279:263:21;;;;;;;;:::i;21544:196::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21544:196:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21544:196:21;-1:-1:-1;;;;;21544:196:21;;:::i;:::-;;;;-1:-1:-1;;;;;21544:196:21;;;;;;;;;;;;;;6741:1028;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6741:1028:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;6741:1028:21;;-1:-1:-1;;;;;6741:1028:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;43630:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43630:193:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43630:193:21;-1:-1:-1;;;;;43630:193:21;;:::i;38655:337::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38655:337:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;38655:337:21;;;;;;;;;;;;;;;;;;;;;;:::i;26628:260::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26628:260:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26628:260:21;-1:-1:-1;;;;;26628:260:21;;:::i;31296:187::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31296:187:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31296:187:21;-1:-1:-1;;;;;31296:187:21;;:::i;31702:215::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31702:215:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31702:215:21;-1:-1:-1;;;;;31702:215:21;;:::i;:::-;;;;;;;;;;;;;;;;;;;2851:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2851:29:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2851:29:21;;:::i;29690:200::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29690:200:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29690:200:21;-1:-1:-1;;;;;29690:200:21;;:::i;28534:676::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28534:676:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28534:676:21;-1:-1:-1;;;;;28534:676:21;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38216:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38216:109:21;;;:::i;46180:237::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46180:237:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;46180:237:21;;;;;;;;:::i;37870:269::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37870:269:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;37870:269:21;;;;;;;;;;:::i;11291:1227::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11291:1227:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;11291:1227:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21146:224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21146:224:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21146:224:21;-1:-1:-1;;;;;21146:224:21;;:::i;35715:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35715:264:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;35715:264:21;;;;;;;;;;:::i;45742:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45742:247:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;45742:247:21;;;;;;;;:::i;44059:189::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;44059:189:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44059:189:21;-1:-1:-1;;;;;44059:189:21;;:::i;23688:208::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23688:208:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23688:208:21;-1:-1:-1;;;;;23688:208:21;;:::i;25885:476::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25885:476:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25885:476:21;-1:-1:-1;;;;;25885:476:21;;:::i;16574:683::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16574:683:21;;;;;;;;;;;;;;;;;:::i;25234:434::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25234:434:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25234:434:21;-1:-1:-1;;;;;25234:434:21;;:::i;24053:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24053:212:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24053:212:21;-1:-1:-1;;;;;24053:212:21;;:::i;33013:265::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33013:265:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;33013:265:21;;;;;;;;;;:::i;30517:219::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30517:219:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30517:219:21;-1:-1:-1;;;;;30517:219:21;;:::i;36295:596::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36295:596:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;36295:596:21;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;29356:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29356:129:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29356:129:21;-1:-1:-1;;;;;29356:129:21;;:::i;41676:380::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41676:380:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;41676:380:21;;;;;;;;;;;;;;;;;;:::i;41407:144::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41407:144:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41407:144:21;-1:-1:-1;;;;;41407:144:21;;:::i;12876:520::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12876:520:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12876:520:21;;;;;;;;;;;;;;;;;:::i;4714:582::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4714:582:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;4714:582:21;;;;;;;;;;;;;;;;;;;;;;;;:::i;27806:263::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27806:263:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27806:263:21;-1:-1:-1;;;;;27806:263:21;;:::i;43137:389::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43137:389:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43137:389:21;-1:-1:-1;;;;;43137:389:21;;:::i;42812:223::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42812:223:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42812:223:21;-1:-1:-1;;;;;42812:223:21;;:::i;3819:529::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3819:529:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;3819:529:21;;;;;;;;;;;;;;;;;;;;;;;;:::i;27420:224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27420:224:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27420:224:21;-1:-1:-1;;;;;27420:224:21;;:::i;32116:438::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32116:438:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32116:438:21;-1:-1:-1;;;;;32116:438:21;;:::i;22518:245::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22518:245:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22518:245:21;-1:-1:-1;;;;;22518:245:21;;:::i;3279:176::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3279:176:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3279:176:21;-1:-1:-1;;;;;3279:176:21;;:::i;27036:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27036:212:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27036:212:21;-1:-1:-1;;;;;27036:212:21;;:::i;2052:53::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2052:53:21;;;:::i;24795:204::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24795:204:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24795:204:21;-1:-1:-1;;;;;24795:204:21;;:::i;15408:892::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;15408:892:21;;;;;;;;;;;;;;;;;;;;;;:::i;39141:1219::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39141:1219:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39141:1219:21;-1:-1:-1;;;;;39141:1219:21;;:::i;23029:209::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23029:209:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23029:209:21;-1:-1:-1;;;;;23029:209:21;;:::i;2012:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2012:33:21;;;:::i;44818:249::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;44818:249:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;44818:249:21;;;;;;;;:::i;8296:739::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8296:739:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;8296:739:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;42460:221::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42460:221:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42460:221:21;-1:-1:-1;;;;;42460:221:21;;:::i;18886:705::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18886:705:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18886:705:21;;;;;;;;;;:::i;19897:544::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19897:544:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19897:544:21;;;;;;;;;;;;;;;;;:::i;21958:338::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21958:338:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21958:338:21;-1:-1:-1;;;;;21958:338:21;;:::i;23396:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23396:140:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23396:140:21;-1:-1:-1;;;;;23396:140:21;;:::i;42182:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42182:148:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42182:148:21;-1:-1:-1;;;;;42182:148:21;;:::i;41075:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41075:217:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;41075:217:21;;;;;;;;;;:::i;44436:192::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;44436:192:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44436:192:21;-1:-1:-1;;;;;44436:192:21;;:::i;24428:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24428:212:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24428:212:21;-1:-1:-1;;;;;24428:212:21;;:::i;9561:885::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9561:885:21;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;9561:885:21;;-1:-1:-1;;;;;9561:885:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37237:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37237:287:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;37237:287:21;;;;;;;;;;:::i;13696:280::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13696:280:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13696:280:21;;;;;;;;;;;;;;;;;;;:::i;14632:439::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14632:439:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14632:439:21;;;;;;;;;;;;;;;;;:::i;33511:253::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33511:253:21;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;33511:253:21;;;;;;;;;;:::i;542:413:82:-;902:20;;940:8;;542:413;;;;:::o;30910:185:21:-;-1:-1:-1;;;;;31037:18:21;30979:4;31037:18;;;:8;:18;;;;;31072:16;;;-1:-1:-1;;;31072:16:21;;;;;30910:185::o;32635:100::-;32681:16;32716:12;32709:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32709:19:21;;;;;;;;;;;;;;;;;;;;;;;32635:100;:::o;5552:744::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5749:60;5786:8;5796:12;5749:36;:60::i;:::-;-1:-1:-1;;;;;5865:18:21;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;5920:28;5951:85;5994:32;6017:8;5994:22;:32::i;:::-;5951:25;;:85;:29;:85;:::i;:::-;-1:-1:-1;;;;;6103:18:21;;;;;;:8;:18;;;;;5920:116;;-1:-1:-1;6103:74:21;;5920:116;6169:7;6103:74;:43;:74;:::i;:::-;6221:68;6268:8;6278:7;6287:1;6221:46;:68::i;:::-;2334:1;5552:744;;;;:::o;2887:43::-;2927:3;2887:43;:::o;20697:244::-;-1:-1:-1;;;;;20860:18:21;;;20814:7;20860:18;;;:8;:18;;;;;;;;:32;;;20910:23;;-1:-1:-1;;;20910:23:21;;;;;;;;;;;20814:7;;20860:32;;;;20910:16;;:23;;;;;;;;;;;20860:32;20910:23;;;5:2:-1;;;;30:1;27;20:12;5:2;20910:23:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20910:23:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20910:23:21;;-1:-1:-1;;20697:244:21;;;;;:::o;30095:216::-;-1:-1:-1;;;;;30237:18:21;30179:4;30237:18;;;:8;:18;;;;;30272:32;;;-1:-1:-1;;;30272:32:21;;;;;30095:216::o;34073:513::-;-1:-1:-1;;;;;34276:23:21;;;34189:28;34276:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;34324:27;;34320:103;;34379:33;34372:40;;;;;34320:103;34476:1;34452:4;:21;;;:25;:127;;34542:37;34452:127;;;34492:35;34452:127;34433:146;34073:513;-1:-1:-1;;;;34073:513:21:o;40587:238::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40749:18:21;;;;;;;:8;:18;;;;;:46;;:69;;-1:-1:-1;;;;;;40749:69:21;;;;;;;;40587:238::o;17566:842::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17738:26;:24;:26::i;:::-;-1:-1:-1;;;;;17726:38:21;:8;-1:-1:-1;;;;;17726:38:21;;17722:680;;17788:9;:14;17780:77;;;;-1:-1:-1;;;17780:77:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17871:63;-1:-1:-1;;;;;17871:32:21;;17904:5;17919:4;17926:7;17871:63;:32;:63;:::i;:::-;17722:680;;;17987:7;17974:9;:20;;17966:86;;;;-1:-1:-1;;;17966:86:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18083:7;18071:9;:19;18067:325;;;18149:20;18172:22;:9;18186:7;18172:22;:13;:22;:::i;:::-;18273:45;;18149;;-1:-1:-1;18256:11:21;;-1:-1:-1;;;;;18273:10:21;;;18308:5;;18149:45;;18256:11;18273:45;18256:11;18273:45;18149;18273:10;18308:5;18273:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;18255:63:21;;;18344:6;18336:41;;;;;-1:-1:-1;;;18336:41:21;;;;;;;;;;;;-1:-1:-1;;;18336:41:21;;;;;;;;;;;;;;18067:325;17566:842;;;:::o;45279:263::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45466:18:21;;;45424:39;45466:18;;;:8;:18;;;;;45494:28;;:41;45279:263::o;21544:196::-;-1:-1:-1;;;;;21677:18:21;;;21616:7;21677:18;;;:8;:18;;;;;21712:21;;;;;21544:196::o;6741:1028::-;2245:18;;6968:7;;;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7053:30;7087:23;7114:72;7149:8;7171:5;7114:21;:72::i;:::-;7052:134;;;;;7197:202;7245:8;7267:5;7286:22;7322:15;7351;7380:9;7197:34;:202::i;:::-;7410:187;7455:8;7477:5;7496:15;7525;7554:10;7578:9;7410:31;:187::i;:::-;7608:76;7655:8;7665:1;7668:15;7608:46;:76::i;:::-;7703:41;7728:8;7738:5;7703:24;:41::i;:::-;7695:67;7746:15;;-1:-1:-1;6741:1028:21;-1:-1:-1;;;;;;;6741:1028:21:o;43630:193::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43764:18:21;43722:39;43764:18;;;:8;:18;;;;;43792:16;;:24;;-1:-1:-1;;;;43792:24:21;;;43630:193::o;38655:337::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;38860:18:21;;;;;;;:8;:18;;;;;;:80;;-1:-1:-1;;;38860:80:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;:80;;;;;:18;;:80;;;;;:23;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;38860:80:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38860:80:21;;;;38950:34;38975:8;38950:24;:34::i;:::-;38655:337;;;;:::o;26628:260::-;-1:-1:-1;;;;;26808:18:21;26743:7;26808:18;;;:8;:18;;;;;26843:38;;;;26628:260::o;31296:187::-;-1:-1:-1;;;;;31424:18:21;31366:4;31424:18;;;:8;:18;;;;;31459:17;;;-1:-1:-1;;;31459:17:21;;;;;31296:187::o;31702:215::-;-1:-1:-1;;;;;31843:18:21;31773:16;31843:18;;;:8;:18;;;;;31883:27;;;-1:-1:-1;;;31883:27:21;;;;;31702:215::o;2851:29::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2851:29:21;;-1:-1:-1;2851:29:21;:::o;29690:200::-;-1:-1:-1;;;;;29824:18:21;29766:4;29824:18;;;:8;:18;;;;;29859:24;;;-1:-1:-1;;;29859:24:21;;;;;29690:200::o;28534:676::-;-1:-1:-1;;;;;28862:18:21;28632:7;28862:18;;;:8;:18;;;;;28901:16;;;;28949:27;;;;29009:28;;;;29074:32;;;;;28901:16;;28949:27;;29009:28;-1:-1:-1;;;29074:32:21;;;;;28534:676::o;38216:109::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38295:23;:21;:23::i;:::-;38216:109::o;46180:237::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;46354:18:21;;;46312:39;46354:18;;;:8;:18;;;;;46382:16;;:28;46180:237::o;37870:269::-;-1:-1:-1;;;;;38053:23:21;;;37977:17;38053:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;38108:24;;;;;;37870:269::o;11291:1227::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11687:170;11749:17;11780:5;11799:18;11831:16;11687:48;:170::i;:::-;11868:91;11931:18;11868:49;:91::i;:::-;11970:186;12020:17;12051:5;12070:18;12102:14;12130:16;11970:36;:186::i;:::-;12167:88;12214:17;12233:18;12253:1;12167:46;:88::i;:::-;12271:25;12266:245;;12312:188;12376:18;12412:1;12431:55;:22;12458:27;12431:55;:26;:55;:::i;:::-;12312:46;:188::i;:::-;11291:1227;;;;;;;;;:::o;21146:224::-;-1:-1:-1;;;;;21293:18:21;;;21232:7;21293:18;;;:8;:18;;;;;21328:35;;;;;21146:224::o;35715:264::-;-1:-1:-1;;;;;35901:23:21;;;35835:7;35901:23;;;:16;:23;;;;;;;;:33;;;;;;;;;35951:21;;;35715:264;;;;:::o;45742:247::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45921:18:21;;;45879:39;45921:18;;;:8;:18;;;;;45949:24;;:33;45742:247::o;44059:189::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44189:18:21;44147:39;44189:18;;;:8;:18;;;;;44217:17;;:24;;-1:-1:-1;;;;44217:24:21;-1:-1:-1;;;44217:24:21;;;44059:189::o;23688:208::-;-1:-1:-1;;;;;23828:18:21;23767:7;23828:18;;;:8;:18;;;;;23863:26;;;;23688:208::o;25885:476::-;-1:-1:-1;;;;;26028:18:21;;;25967:7;26028:18;;;:8;:18;;;;;;;;26103:17;;:40;;-1:-1:-1;;;26103:40:21;;;;25967:7;;26028:18;;25967:7;;26103:17;;;;;:38;;:40;;;;;26028:18;26103:40;;;;;:17;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;26103:40:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26103:40:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26103:40:21;26159:31;;;;26103:40;;-1:-1:-1;26155:151:21;;26259:6;-1:-1:-1;;;;;26259:26:21;;26286:8;26259:36;;;;;;;;;;;;;-1:-1:-1;;;;;26259:36:21;-1:-1:-1;;;;;26259:36:21;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26259:36:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26259:36:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26259:36:21;;-1:-1:-1;26252:43:21;;-1:-1:-1;;26252:43:21;26155:151;-1:-1:-1;26323:31:21;;;;25885:476;-1:-1:-1;;25885:476:21:o;16574:683::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16769:12;16844:9;:14;16823:115;;;;-1:-1:-1;;;16823:115:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16963:26;:24;:26::i;:::-;-1:-1:-1;;;;;16953:36:21;:6;-1:-1:-1;;;;;16953:36:21;;16949:302;;17005:47;-1:-1:-1;;;;;17005:26:21;;17032:10;17044:7;17005:47;:26;:47;:::i;:::-;16949:302;;;17140:45;;17123:11;;-1:-1:-1;;;;;17140:15:21;;;17175:5;;17162:7;;17123:11;17140:45;17123:11;17140:45;17162:7;17140:15;17175:5;17140:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;25234:434:21;-1:-1:-1;;;;;25381:18:21;;25320:7;25381:18;;;:8;:18;;;;;25414:33;;;;25410:202;;25520:7;:35;;;;;;;;;;-1:-1:-1;;;;;25520:35:21;-1:-1:-1;;;;;25491:108:21;;:110;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25491:110:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25491:110:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25491:110:21;;-1:-1:-1;25468:133:21;;-1:-1:-1;25468:133:21;25410:202;25628:33;;;;25234:434;-1:-1:-1;;25234:434:21:o;24053:212::-;-1:-1:-1;;;;;24195:18:21;24134:7;24195:18;;;:8;:18;;;;;24230:28;;;;24053:212::o;33013:265::-;-1:-1:-1;;;;;33201:23:21;;;33138:4;33201:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;33251:20;;;-1:-1:-1;;;33251:20:21;;;;;33013:265::o;30517:219::-;-1:-1:-1;;;;;30661:18:21;30603:4;30661:18;;;:8;:18;;;;;30696:33;;;-1:-1:-1;;;30696:33:21;;;;;30517:219::o;36295:596::-;-1:-1:-1;;;;;36488:23:21;;;36404:7;36488:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;36535:27;;36404:7;;;;36531:79;;-1:-1:-1;36591:1:21;;-1:-1:-1;36591:1:21;;-1:-1:-1;36591:1:21;;-1:-1:-1;36583:16:21;;36531:79;36640:27;;-1:-1:-1;;;;;36775:18:21;;36620:17;36775:18;;;:8;:18;;;;;36705:98;;36640:4;;36705:38;:98::i;:::-;36677:126;-1:-1:-1;36821:9:21;36677:126;36851:32;36677:126;36821:9;36851:32;:21;:32;:::i;:::-;36813:71;;;;;;;;;36295:596;;;;;;:::o;29356:129::-;-1:-1:-1;;;;;29451:18:21;29425:7;29451:18;;;:8;:18;;;;;:27;;;;29356:129::o;41676:380::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;41902:18:21;;;;;;:8;:18;;;;;;:147;;-1:-1:-1;;;41902:147:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;:147;;;;;;;;;;;:37;:147;;;5:2:-1;;;;30:1;27;20:12;5:2;41902:147:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41902:147:21;;;;41676:380;;;;:::o;41407:144::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;41507:18:21;;;;;;:8;:18;;;;;;:37;;-1:-1:-1;;;41507:37:21;;;;;;;;;;;:35;;;;:37;;;;;;;;;;;:35;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;41507:37:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;12876:520:21;2245:18;;13025:7;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13048:72;13086:8;13096:5;13103:16;13048:37;:72::i;:::-;13181:69;13216:8;13226:5;13233:16;13181:34;:69::i;:::-;13260:62;13307:8;13317:1;13320;13260:46;:62::i;:::-;-1:-1:-1;;;;;;13339:23:21;;;;;;;:16;:23;;;;;;;;:33;;;;;;;;;:50;;;2334:1;12876:520;;;;;:::o;4714:582::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4963:18:21;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;5017:76;5064:8;5074:1;5077:15;5017:46;:76::i;:::-;5187:23;5183:107;;;5226:53;5256:8;5266:5;5273;5226:29;:53::i;27806:263::-;-1:-1:-1;;;;;27986:18:21;27921:7;27986:18;;;:8;:18;;;;;28021:41;;;;27806:263::o;43137:389::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43269:18:21;;43227:39;43269:18;;;:8;:18;;;;;43319:36;;:40;;;;:105;;;43423:1;43379:7;:41;;;:45;43319:105;43298:188;;;;-1:-1:-1;;;43298:188:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43496:16;;:23;;-1:-1:-1;;;;43496:23:21;-1:-1:-1;;;43496:23:21;;;-1:-1:-1;43137:389:21:o;42812:223::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42959:18:21;42917:39;42959:18;;;:8;:18;;;;;42987:33;;:41;;-1:-1:-1;;;;42987:41:21;;;42812:223::o;3819:529::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3994:18:21;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;4048:68;4095:8;4105:7;4114:1;4048:46;:68::i;:::-;4131:15;4127:215;;;4279:52;4309:8;4319:5;4326:4;4279:29;:52::i;27420:224::-;-1:-1:-1;;;;;27566:18:21;27505:7;27566:18;;;:8;:18;;;;;27601:36;;27420:224::o;32116:438::-;-1:-1:-1;;;;;32251:18:21;;32190:7;32251:18;;;:8;:18;;;;;32190:7;32303:25;32251:18;32303:23;:25::i;:::-;32280:48;-1:-1:-1;32343:17:21;32339:56;;32383:1;32376:8;;;;;;32339:56;32405:26;32434:38;32463:8;32434:28;:38::i;:::-;32405:67;-1:-1:-1;32490:57:21;32510:36;32405:67;32533:12;32510:36;:22;:36;:::i;:::-;32490:12;;:57;:19;:57;:::i;:::-;32483:64;32116:438;-1:-1:-1;;;;;32116:438:21:o;22518:245::-;-1:-1:-1;;;;;22652:18:21;;22591:7;22652:18;;;:8;:18;;;;;22687:69;22730:25;22652:18;22730:23;:25::i;:::-;22687:38;22716:8;22687:28;:38::i;:::-;:42;:69;:42;:69;:::i;3279:176::-;1139:16:35;1158:13;:11;:13::i;:::-;1189:12;;1139:32;;-1:-1:-1;1189:12:35;;;:31;;;1205:15;:13;:15::i;:::-;1189:69;;;;1235:23;;1224:8;:34;1189:69;1181:128;;;;-1:-1:-1;;;1181:128:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1343:12;;;;1342:13;1365:112;;;;1414:4;1399:19;;-1:-1:-1;;1399:19:35;;;;;:12;1432:34;;;1365:112;3377:17:21;:38;;-1:-1:-1;;;;;;3377:38:21;-1:-1:-1;;;;;3377:38:21;;;;;3425:23;:21;:23::i;:::-;1503:14:35;1499:65;;;1533:12;:20;;-1:-1:-1;;1533:20:35;;;3279:176:21;;;:::o;27036:212::-;-1:-1:-1;;;;;27178:18:21;27117:7;27178:18;;;:8;:18;;;;;27213:28;;;;27036:212::o;2052:53::-;;;-1:-1:-1;;;;;2052:53:21;;:::o;24795:204::-;-1:-1:-1;;;;;24933:18:21;24872:7;24933:18;;;:8;:18;;;;;24968:24;;;;24795:204::o;15408:892::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15644:12;15713:26;:24;:26::i;:::-;-1:-1:-1;;;;;15703:36:21;:6;-1:-1:-1;;;;;15703:36:21;;15699:595;;15780:9;:14;15755:168;;;;-1:-1:-1;;;15755:168:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15937:58;-1:-1:-1;;;;;15937:30:21;;15968:5;15975:10;15987:7;15937:58;:30;:58;:::i;:::-;15699:595;;;16047:7;16034:9;:20;;16026:86;;;;-1:-1:-1;;;16026:86:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16183:45;;16166:11;;-1:-1:-1;;;;;16183:15:21;;;16218:5;;16205:7;;16166:11;16183:45;16166:11;16183:45;16205:7;16183:15;16218:5;16183:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;16165:63:21;;;16250:6;16242:41;;;;;-1:-1:-1;;;16242:41:21;;;;;;;;;;;;-1:-1:-1;;;16242:41:21;;;;;;;;;;;;;;;15699:595;2334:1;15408:892;;;;:::o;39141:1219::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39274:12;39287:19;;39252;;39274:12;-1:-1:-1;;39287:21:21;;;39274:35;;;;;;;;;;;;;;;;-1:-1:-1;;;;;39274:35:21;;;;-1:-1:-1;39328:31:21;;;;39320:105;;;;-1:-1:-1;;;39320:105:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39592:35;39615:11;39592:22;:35::i;:::-;:40;39584:101;;;;-1:-1:-1;;;39584:101:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;39696:21:21;;39729:5;39696:21;;;:8;:21;;;;;:30;;;:38;;39744:35;;;:48;;-1:-1:-1;;;;;;39744:48:21;;;39802:30;;;:34;;;39846:54;;;39910:55;;;:59;;;40099:41;;;:45;;;40154:42;;;:46;;;40210:38;;;;:42;;;;-1:-1:-1;;;;;;40262:62:21;;;40335:12;:18;;;;;;;;;;;;;;;;-1:-1:-1;;40335:18:21;;;;;-1:-1:-1;;;;;;40335:18:21;;;;;;-1:-1:-1;;39141:1219:21:o;23029:209::-;-1:-1:-1;;;;;23167:18:21;;23106:7;23167:18;;;:8;:18;;;;;23202:29;23167:18;23202:27;:29::i;2012:33::-;;;-1:-1:-1;;;;;2012:33:21;;:::o;44818:249::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44998:18:21;;;44956:39;44998:18;;;:8;:18;;;;;45026:27;;:34;44818:249::o;8296:739::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8559:151;8606:8;8628:5;8647:23;8684:16;8559:33;:151::i;:::-;8720:213;8764:8;8786:5;8805:23;8842:21;8877:16;8907;8720:30;:213::i;:::-;8944:84;8991:8;9001:23;9026:1;8944:46;:84::i;42460:221::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42606:18:21;42564:39;42606:18;;;:8;:18;;;;;42634:33;;:40;;-1:-1:-1;;;;42634:40:21;-1:-1:-1;;;42634:40:21;;;42460:221::o;18886:705::-;-1:-1:-1;;;;;19088:18:21;;;18999:7;19088:18;;;:8;:18;;;;;;;;19159:23;;;;;:16;:23;;;;;:33;;;;;;;;;18999:7;;;;;;;;;19231:46;19097:8;19176:5;19231:29;:46::i;:::-;19292:27;;19203:74;;-1:-1:-1;19288:117:21;;19373:20;;;;;19348:17;;-1:-1:-1;19367:1:21;;-1:-1:-1;19367:1:21;;-1:-1:-1;19373:20:21;-1:-1:-1;;;19373:20:21;;;;;-1:-1:-1;19340:54:21;;-1:-1:-1;19340:54:21;19288:117;19436:17;19467:40;:4;19499:7;19467:40;:31;:40;:::i;:::-;19521:19;;;;19554:20;;;;;19415:169;;-1:-1:-1;19415:169:21;-1:-1:-1;19521:19:21;;-1:-1:-1;;;;;19554:20:21;;;;;-1:-1:-1;;18886:705:21;;;;;;;;:::o;19897:544::-;-1:-1:-1;;;;;20095:18:21;;;20033:4;20095:18;;;:8;:18;;;;;;;;20166:23;;;;;:16;:23;;;;;:33;;;;;;;;;20215;;;;20033:4;;20095:18;-1:-1:-1;;;20215:33:21;;;;20210:52;;20257:5;20250:12;;;;;;20210:52;20293:20;;;;-1:-1:-1;;;20293:20:21;;;;20292:21;;:70;;-1:-1:-1;20330:32:21;;;;-1:-1:-1;;;20330:32:21;;;;20329:33;20292:70;:142;;;;20388:46;20418:8;20428:5;20388:29;:46::i;:::-;20378:7;:56;20292:142;20273:161;19897:544;-1:-1:-1;;;;;;19897:544:21:o;21958:338::-;22035:7;;22100:26;:24;:26::i;:::-;-1:-1:-1;;;;;22088:38:21;:8;-1:-1:-1;;;;;22088:38:21;;22084:182;;;-1:-1:-1;22152:21:21;22084:182;;;22214:41;;;-1:-1:-1;;;22214:41:21;;22249:4;22214:41;;;;;;-1:-1:-1;;;;;22214:26:21;;;;;:41;;;;;;;;;;;;;;:26;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;22214:41:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22214:41:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22214:41:21;;22282:7;-1:-1:-1;;;21958:338:21:o;23396:140::-;-1:-1:-1;;;;;23493:18:21;;23467:7;23493:18;;;:8;:18;;;;;:36;;:34;:36::i;42182:148::-;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42283:18:21;;;;;;:8;:18;;;;;;:40;;-1:-1:-1;;;42283:40:21;;;;;;;;;;;:38;;;;:40;;;;;;;;;;;:38;:40;;;5:2:-1;;;;30:1;27;20:12;41075:217:21;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;41225:18:21;;;;;;:8;:18;;;;;;:60;;-1:-1:-1;;;41225:60:21;;;;;;;;;;;;;;;;;;:34;;;;:60;;;;;;;;;;;:34;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;41225:60:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;44436:192:21;2519:17;;:46;;;-1:-1:-1;;;2519:46:21;;;;2569:10;;-1:-1:-1;;;;;2519:17:21;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;2519:46:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2519:46:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2519:46:21;-1:-1:-1;;;;;2519:60:21;;2498:162;;;;-1:-1:-1;;;2498:162:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44568:18:21;44526:39;44568:18;;;:8;:18;;;;;44596:17;;:25;;-1:-1:-1;;;;44596:25:21;;;44436:192::o;24428:212::-;-1:-1:-1;;;;;24570:18:21;24509:7;24570:18;;;:8;:18;;;;;24605:28;;;;24428:212::o;9561:885::-;2245:18;;9853:28;;;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9902:192;9952:8;9974:5;9993:23;10030:24;10068:16;9902:36;:192::i;:::-;10105:40;10148:144;10195:8;10217:5;10236:16;10266;10148:33;:144::i;:::-;10105:187;;10303:62;10350:8;10360:1;10363;10303:46;:62::i;:::-;10384:11;10397:41;10422:8;10432:5;10397:24;:41::i;:::-;10376:63;;;;;9561:885;;;;;;;;;:::o;37237:287::-;-1:-1:-1;;;;;37429:23:21;;;37363:7;37429:23;;;:16;:23;;;;;;;;:33;;;;;;;;;37479:38;;;37237:287;;;;:::o;13696:280::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13887:23:21;;;13844:40;13887:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;13930:20;;:39;;;;;-1:-1:-1;;;13930:39:21;-1:-1:-1;;13930:39:21;;;;;;;;;13696:280::o;14632:439::-;2245:18;;-1:-1:-1;;;;;2245:18:21;2267:10;2245:32;2237:87;;;;-1:-1:-1;;;2237:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14785:26;:24;:26::i;:::-;-1:-1:-1;;;;;14773:38:21;:8;-1:-1:-1;;;;;14773:38:21;;14769:296;;14827:44;-1:-1:-1;;;;;14827:28:21;;14856:5;14863:7;14827:44;:28;:44;:::i;14769:296::-;14959:40;;14942:11;;-1:-1:-1;;;;;14959:10:21;;;14989:5;;14976:7;;14942:11;14959:40;14942:11;14959:40;14976:7;14959:10;14989:5;14959:40;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;14941:58:21;;;15021:6;15013:41;;;;;-1:-1:-1;;;15013:41:21;;;;;;;;;;;;-1:-1:-1;;;15013:41:21;;;;;;;;;;;;;;33511:253;-1:-1:-1;;;;;33688:23:21;;;33622:7;33688:23;;;:16;:23;;;;;;;;:33;;;;;;;;;33738:19;;;33511:253;;;;:::o;66172:368::-;66313:17;;:39;;;-1:-1:-1;;;66313:39:21;;;;66270:24;;-1:-1:-1;;;;;66313:17:21;;:37;;:39;;;;;;;;;;;;;;:17;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;66313:39:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;66313:39:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;66313:39:21;;-1:-1:-1;66379:26:21;:24;:26::i;:::-;-1:-1:-1;;;;;66369:36:21;:6;-1:-1:-1;;;;;66369:36:21;;66365:169;;66421:45;-1:-1:-1;;;;;66421:26:21;;66448:8;66458:7;66421:45;:26;:45;:::i;66365:169::-;66497:26;;-1:-1:-1;;;;;66497:17:21;;;:26;;;;;66515:7;;66497:26;;;;66515:7;66497:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;4415:923:24;4494:20;4517:22;4533:5;4517:15;:22::i;:::-;4494:45;-1:-1:-1;4554:16:24;;4550:782;;4732:26;;;;4776:25;;;;4654:34;;4691:124;;-1:-1:-1;;;4776:25:24;;;;4691:23;:124::i;:::-;4918:34;;4654:161;;-1:-1:-1;4867:99:24;;4654:161;;4867:99;:33;:99;:::i;:::-;4830:136;;5068:31;;;;5117:25;;;;4830:34;;5023:133;;-1:-1:-1;;;5117:25:24;;;;5023:27;:133::i;:::-;4981:175;;5212:109;5268:5;:39;;;5212:31;:38;;:109;;;;:::i;:::-;5170:39;;;:151;-1:-1:-1;;4550:782:24;4415:923;;:::o;834:176:75:-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:75;;;;;;;;;;;;;;;;;;;;;;;;;;;5723:460:24;5875:30;5908:53;5934:26;:15;:24;:26::i;:::-;5908:18;:7;:16;:18::i;:::-;:25;:53;:25;:53;:::i;:::-;5875:86;;5972:26;6001:44;6028:16;:14;:16::i;:::-;6001:22;;:44;:26;:44;:::i;:::-;6132:34;;5972:73;;-1:-1:-1;6093:83:24;;5972:73;;6093:83;:25;:83;:::i;:::-;6056:120;;;-1:-1:-1;;;;5723:460:24:o;64693:1255:21:-;-1:-1:-1;;;;;64908:18:21;;;64866:39;64908:18;;;:8;:18;;;;;65055:52;;;;64908:18;;64866:39;;;;65055:52;65013:140;64917:8;65189:80;65253:15;65189:59;65232:15;65189:38;64917:8;65189:28;:38::i;:59::-;:63;:80;:63;:80;:::i;:::-;65283:7;:26;;;65323:7;:28;;;65365:7;:38;;;65013:400;;;;;;;;;;;;;-1:-1:-1;;;;;65013:400:21;-1:-1:-1;;;;;65013:400:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;65013:400:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;65013:400:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;65013:400:21;;;;;;;;;;;;65424:28;;;:47;;;65481:31;;;:47;;;65538:33;;;:51;;;65635:27;;;:53;;;65672:15;65635:53;-1:-1:-1;;;65635:53:21;-1:-1:-1;;;;65635:53:21;;;;;;65840:36;;65890:41;;;;65704:237;;;;;;;;;;;;;;;;;65013:400;65704:237;;;;;;;;;;;;65013:400;;-1:-1:-1;65013:400:21;-1:-1:-1;65013:400:21;;-1:-1:-1;;;;;;65704:237:21;;;;;;;;;;;;;64693:1255;;;;;;;:::o;184:119:25:-;254:42;184:119;:::o;842:202:81:-;968:68;;;-1:-1:-1;;;;;968:68:81;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;968:68:81;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;942:95:81;;961:5;;942:18;:95::i;1274:179:75:-;1332:7;1364:1;1359;:6;;1351:49;;;;;-1:-1:-1;;;1351:49:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:75;;;1274:179::o;47006:774:21:-;-1:-1:-1;;;;;47280:18:21;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;47560:213;47617:8;47639:5;47658:23;47695:16;47725:15;47754:9;47560:43;:213::i;48293:1422::-;-1:-1:-1;;;;;48587:18:21;;;48545:39;48587:18;;;:8;:18;;;;;;;;48658:23;;;;;:16;:23;;;;;:33;;;;;;;48719:35;48706:9;:48;;;;;;;;;48702:652;;;48887:31;;;;48863:21;;;:55;48973:1;48932:38;;;:42;48702:652;;;49008:37;48995:9;:50;;;;;;;;;48991:363;;;49181:1;49157:21;;;:25;49237:41;;;;49196:38;;;:82;48991:363;;;49309:34;;;-1:-1:-1;;;49309:34:21;;;;;;;;;;;;;;;;;;;;;;;;;;;48991:363;49458:27;;:92;;49524:16;;49458:48;;49490:15;49458:48;:31;:48;:::i;:92::-;49428:122;;49582:19;;;;:29;;49606:4;49582:29;:23;:29;:::i;:::-;49560:19;;;:51;49657:24;;:50;;-1:-1:-1;;49657:50:21;49691:15;49657:50;;;;;-1:-1:-1;;;;;;;48293:1422:21:o;34868:524::-;34982:7;35005:37;35045:45;35074:8;35084:5;35045:28;:45::i;:::-;35005:85;-1:-1:-1;35117:33:21;35105:8;:45;;;;;;;;;35101:84;;;35173:1;35166:8;;;;;35101:84;35226:35;35214:8;:47;;;;;;;;;:171;;-1:-1:-1;;;;;35341:18:21;;;;;;:8;:18;;;;;:44;;;35214:171;;;-1:-1:-1;;;;;;;35276:23:21;;;;;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;:50;;;;34868:524::o;66819:336::-;66890:24;;66932:154;66956:12;:19;66952:23;;66932:154;;;67017:8;-1:-1:-1;;;;;66998:27:21;:12;67011:1;66998:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;66998:15:21;:27;66994:92;;;67067:4;67045:26;;66994:92;66977:3;;66932:154;;;;67100:19;67095:53;;67121:12;27:10:-1;;39:1;23:18;;45:23;;-1:-1;67121:27:21;;;;;;;;-1:-1:-1;;;;;67121:27:21;;-1:-1:-1;;;;;;67121:27:21;;;;;;66819:336;;:::o;66620:114::-;66693:17;;;;;;;;;-1:-1:-1;;;;;66693:17:21;-1:-1:-1;;;;;66693:32:21;;:34;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;66693:34:21;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;66693:34:21;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;66693:34:21;66672:18;:55;;-1:-1:-1;;;;;;66672:55:21;-1:-1:-1;;;;;66672:55:21;;;;;;;;;66620:114::o;57194:1412::-;-1:-1:-1;;;;;57447:27:21;;;57405:39;57447:27;;;:8;:27;;;;;;;;57527:23;;;;;:16;:23;;;;;:42;;;;;;;57620:33;57447:27;57620:31;:33::i;:::-;57664:43;57710:88;57752:17;57783:5;57710:28;:88::i;:::-;57664:134;-1:-1:-1;57831:35:21;57813:53;:14;:53;;;;;;;;;57809:790;;;58056:21;;;;57950:141;;:7;;58022:16;;57950:141;:54;:141;:::i;:::-;58271:21;;;;58163:143;;:7;;58235:18;;58163:143;:54;:143;:::i;:::-;57809:790;;;58406:54;:7;58443:16;58406:54;:36;:54;:::i;:::-;58532:56;:7;58569:18;58532:56;:36;:56;:::i;:::-;57194:1412;;;;;;;:::o;58820:218::-;-1:-1:-1;;;;;58976:28:21;;;;;;:8;:28;;;;;:54;;:52;:54::i;:::-;58820:218;:::o;59510:1047::-;-1:-1:-1;;;;;59775:23:21;;;59732:40;59775:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;59860:8;:18;;;;;;60010:27;;:95;;60077:18;;60010:49;;60042:16;60010:49;:31;:49;:::i;:95::-;59980:125;;60182:37;60133:45;60162:8;60172:5;60133:28;:45::i;:::-;:86;;;;;;;;;60116:221;;;60285:41;;;;60244:38;;;:82;60116:221;60350:18;;60347:108;;60405:19;;;;:39;;60429:14;60405:39;:23;:39;:::i;:::-;60383:19;;;:61;60347:108;-1:-1:-1;60500:24:21;;:50;;-1:-1:-1;;60500:50:21;60534:15;60500:50;;;;;-1:-1:-1;;;;;59510:1047:21:o;662:174:81:-;770:58;;;-1:-1:-1;;;;;770:58:81;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;770:58:81;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;744:85:81;;763:5;;744:18;:85::i;9589:1556:24:-;9778:28;;9755:7;;9774:47;;-1:-1:-1;9820:1:24;9813:8;;9774:47;9832:33;9868:39;:5;:28;;;:37;:39::i;:::-;10000:22;;;;9832:75;;-1:-1:-1;9917:25:24;;;;10000:26;9996:598;;10107:22;;;;10147:25;;;;10062:124;;10107:22;10147:25;;10062:27;:124::i;:::-;10042:144;;9996:598;;;10269:314;10543:5;:39;;;10269:249;10475:8;:42;;;10269:181;10314:8;:55;;;10387:8;:49;;;;;;;;;;;;10269:27;:181::i;:::-;:205;:249;:205;:249;:::i;:314::-;10249:334;;9996:598;10624:62;:51;:25;10657:17;10624:51;:32;:51;:::i;:::-;:60;:62::i;:::-;10722:28;;10604:82;;-1:-1:-1;10701:49:24;;10697:407;;;10809:25;;;;;;10838:15;10809:44;10805:289;;11040:28;;:39;;11073:5;11040:39;:32;:39;:::i;:::-;11033:46;;;;;;;10805:289;-1:-1:-1;11121:17:24;9589:1556;-1:-1:-1;;;;9589:1556:24:o;60872:493:21:-;-1:-1:-1;;;;;61069:18:21;;;61027:39;61069:18;;;:8;:18;;;;;;;;61140:23;;;;;:16;:23;;;;;:33;;;;;;;61184;61069:18;61184:31;:33::i;:::-;61326:21;;;;61228:129;;:7;;61296:16;;61228:129;:54;:129;:::i;61677:556::-;-1:-1:-1;;;;;61872:23:21;;;61829:40;61872:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;61957:8;:18;;;;;;62016:27;;:49;;62048:16;62016:49;:31;:49;:::i;:::-;61986:79;;62099:31;;;62075:21;;;:55;62176:24;;:50;;-1:-1:-1;;62176:50:21;62210:15;62176:50;;;;;-1:-1:-1;;;61677:556:21:o;16475:213:24:-;16589:7;16619:62;16651:8;:29;;;16619:8;:27;;;:31;;:62;;;;:::i;1321:154:26:-;1382:7;1421:1;1417:5;;1440:28;1417:1;1440:21;1450:10;:1;454:4;1450:5;:10::i;:::-;1440:5;;:21;:9;:21;:::i;:::-;:25;:28;:25;:28;:::i;3008:92:21:-;2927:3;3008:92;:::o;1845:556:35:-;2353:7;2341:20;2387:7;1845:556;:::o;3795:407:24:-;3913:7;3936:17;3956:211;4129:8;:37;;;3956:152;3993:8;:46;;;4053:8;:45;;;;;;;;;;;;3956:23;:152::i;50093:1192:21:-;-1:-1:-1;;;;;50327:18:21;;;50285:39;50327:18;;;:8;:18;;;;;;;;50398:16;:26;;;;;:33;;;;;;;;;;;;50488:45;50336:8;50425:5;50488:28;:45::i;:::-;-1:-1:-1;;;;;50573:18:21;;;;;;:8;:18;;;;;50442:91;;-1:-1:-1;50573:44:21;;:42;:44::i;:::-;50754:35;50736:53;;51811:1266;-1:-1:-1;;;;;52112:18:21;;;52070:39;52112:18;;;:8;:18;;;;;;;;52183:23;;;;;:16;:23;;;;;:33;;;;;;;52379:27;;:100;;52446:23;;52379:49;;52411:16;52379:49;:31;:49;:::i;:100::-;52349:130;;52530:41;;;;52489:38;;;:82;52768:128;;;;52828:1;52804:21;;;:25;;;52843:38;;;:42;52768:128;52927:19;;;;:46;;52951:21;52927:46;:23;:46;:::i;53561:1471::-;-1:-1:-1;;;;;53861:18:21;;;53819:39;53861:18;;;:8;:18;;;;;;;;53932:23;;;;;:16;:23;;;;;:33;;;;;;;54014;53861:18;54014:31;:33::i;:::-;54082:35;54062:16;:55;;;;;;;;;54058:968;;;54165:21;;;;54232:148;:7;54304:23;54165:21;54232:148;:54;:148;:::i;:::-;54441:62;:7;54478:24;54441:62;:36;:62;:::i;:::-;54058:968;;;;54572:37;54552:16;:57;;;;;;;;;54548:478;;;54682:31;;;;54727:61;54682:7;54764:23;54727:61;:36;:61;:::i;:::-;54802:145;:7;54874:24;54916:17;54802:145;:54;:145;:::i;54548:478::-;54979:36;;;-1:-1:-1;;;54979:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;55411:1380;-1:-1:-1;;;;;55699:23:21;;;55616:28;55699:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;55784:8;:18;;;;;;55616:28;;55699:33;55616:28;55920:37;55900:16;:57;;;;;;;;;55896:639;;;-1:-1:-1;56087:31:21;;;;56063:21;;;:55;56173:1;56014:35;56132:38;;;:42;;;;55896:639;;;56215:35;56195:16;:55;;;;;;;;;56191:344;;;-1:-1:-1;56351:1:21;56327:21;;;:25;56407:41;;;;56366:38;;;:82;56276:37;56191:344;;;56479:45;;-1:-1:-1;;;56479:45:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56191:344;56615:27;;:49;;56647:16;56615:49;:31;:49;:::i;:::-;56585:79;;56709:24;;;;:50;;-1:-1:-1;;56709:50:21;56743:15;56709:50;;;;;-1:-1:-1;56709:24:21;55411:1380;-1:-1:-1;;;;;55411:1380:21:o;15174:419:24:-;15298:7;;15381:50;:15;15401:29;;;15381:50;:19;:50;:::i;:::-;15356:75;;15442:17;15462:61;15495:27;427:8;15495:25;:27::i;15462:61::-;15442:81;;15541:45;15569:16;:14;:16::i;:::-;15541:23;:5;15554:9;15541:23;:12;:23;:::i;1191:124:26:-;1252:7;1278:30;454:4;1278:21;1290:8;:1;1296;1290:8;:5;:8;:::i;:::-;500:7;;1278:11;:21::i;15902:406:24:-;16030:7;;16113:50;:15;16133:29;;;16113:50;:19;:50;:::i;:::-;16088:75;-1:-1:-1;16174:21:24;16198:27;:5;427:8;16198:27;:9;:27;:::i;:::-;16174:51;;16243:58;16286:14;16243:35;16261:16;:14;:16::i;16243:35::-;:42;:58;:42;:58;:::i;1655:105:26:-;1707:7;1733:20;:1;556:3;1733:20;:5;:20;:::i;566:74::-;454:4;566:74;:::o;2621:1095:81:-;3216:27;3224:5;-1:-1:-1;;;;;3216:25:81;;:27::i;:::-;3208:71;;;;;-1:-1:-1;;;3208:71:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:12;3364:23;3399:5;-1:-1:-1;;;;;3391:19:81;3411:4;3391:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3391:25:81;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3349:67:81;;;;3434:7;3426:52;;;;;-1:-1:-1;;;3426:52:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:17;;:21;3489:221;;3633:10;3622:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3622:30:81;3614:85;;;;-1:-1:-1;;;3614:85:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;62617:1538:21;62903:45;62951:79;62993:8;63015:5;62951:28;:79::i;:::-;-1:-1:-1;;;;;63082:18:21;;63040:39;63082:18;;;:8;:18;;;;;62903:127;;-1:-1:-1;63135:35:21;63115:16;:55;;;;;;;;;63111:467;;;-1:-1:-1;;;;;63229:23:21;;;63186:40;63229:23;;;:16;:23;;;;;;;;:33;;;;;;;;;63383:21;;;;63276:142;;:7;;63348:17;;63276:142;:54;:142;:::i;:::-;63111:467;;;;63459:37;63439:16;:57;;;;;;;;;63435:143;;;63512:55;:7;63549:17;63512:55;:36;:55;:::i;:::-;63588:26;63617:60;63661:15;63617:39;:17;63639:16;63617:39;:21;:39;:::i;:60::-;63588:89;-1:-1:-1;63713:35:21;63691:18;:57;;;;;;;;;63687:462;;;63872:31;;;;63764:153;;63872:7;;63836:18;;63764:153;:54;:153;:::i;:::-;63687:462;;;63960:37;63938:18;:59;;;;;;;;;63934:215;;;64013:56;:7;64050:18;64013:56;:36;:56;:::i;63934:215::-;64100:38;;;-1:-1:-1;;;64100:38:21;;;;;;;;;;;;;;;;;;;;;;;;;;;11474:851:24;11677:27;;;;11786:40;11677:27;11818:7;11786:40;:31;:40;:::i;:::-;11756:27;;;:70;11924:26;11953:32;11979:5;11953:18;:7;:16;:18::i;:32::-;11924:61;;11995:36;12034:106;12091:8;:39;;;12034:36;:25;:34;:36::i;:106::-;11995:145;;12193:125;12279:38;:8;:27;;;:36;:38::i;:::-;12193:65;:18;12229:28;12193:65;:35;:65;:::i;:125::-;12151:8;:39;;:167;;;;11474:851;;;;;;:::o;12658:1267::-;12864:7;12833:8;:27;;;:38;;12825:77;;;;;-1:-1:-1;;;12825:77:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;12949:27;;;;13059:40;12949:27;13091:7;13059:40;:31;:40;:::i;:::-;13029:27;;;:70;;;13110:174;;-1:-1:-1;13204:1:24;13162:39;;;:43;13267:7;;13110:174;13381:26;13410:32;13436:5;13410:18;:7;:16;:18::i;:32::-;13381:61;;13452:36;13491:106;13548:8;:39;;;13491:36;:25;:34;:36::i;:106::-;13452:145;;13661:18;13629:28;:50;;13608:132;;;;-1:-1:-1;;;13608:132:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13793:125;13879:38;:8;:27;;;:36;:38::i;:::-;13793:65;:28;13839:18;13793:65;:45;:65;:::i;14115:185::-;14251:29;;;;:42;;14285:7;14251:42;:33;:42;:::i;:::-;14219:8;:29;;:74;;;;14115:185;;:::o;14496:362::-;14654:7;14621:8;:29;;;:40;;14600:167;;;;-1:-1:-1;;;14600:167:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14809:29;;;;:42;;14843:7;14809:42;:33;:42;:::i;1481:168:26:-;1533:7;1572:17;1607:35;556:3;1607:16;1572:17;1621:1;1607:13;:16::i;1693:458:75:-;1751:7;1991:6;1987:45;;-1:-1:-1;2020:1:75;2013:8;;1987:45;2054:5;;;2058:1;2054;:5;:1;2077:5;;;;;:10;2069:56;;;;-1:-1:-1;;;2069:56:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:326;2664:7;2761:1;2757;:5;2749:44;;;;;-1:-1:-1;;;2749:44:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;2803:9;2819:1;2815;:5;;;;;;;2606:326;-1:-1:-1;;;;2606:326:75:o;1911:273:26:-;1972:9;2002:1;1998;:5;:20;;454:4;1998:20;;;2011:1;1998:20;1994:24;-1:-1:-1;2039:1:26;2034:6;;;;2029:149;2042:6;;2029:149;;2076:12;2083:1;2086;2076:6;:12::i;:::-;2072:16;-1:-1:-1;2111:1:26;2107;:5;:10;2103:65;;2141:12;2148:1;2151;2141:6;:12::i;:::-;2137:16;;2103:65;2055:1;2050:6;;;;2029:149;", - "source": "pragma solidity ^0.5.0;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"openzeppelin-solidity/contracts/utils/Address.sol\";\nimport \"../libraries/openzeppelin-upgradeability/VersionedInitializable.sol\";\n\nimport \"../libraries/CoreLibrary.sol\";\nimport \"../configuration/LendingPoolAddressesProvider.sol\";\nimport \"../interfaces/ILendingRateOracle.sol\";\nimport \"../interfaces/IReserveInterestRateStrategy.sol\";\nimport \"../libraries/WadRayMath.sol\";\nimport \"../tokenization/AToken.sol\";\nimport \"../libraries/EthAddressLib.sol\";\n\n/**\n* @title LendingPoolCore contract\n* @author Aave\n* @notice Holds the state of the lending pool and all the funds deposited\n* @dev NOTE: The core does not enforce security checks on the update of the state\n* (eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve).\n* The check that an action can be performed is a duty of the overlying LendingPool contract.\n**/\n\ncontract LendingPoolCore is VersionedInitializable {\n using SafeMath for uint256;\n using WadRayMath for uint256;\n using CoreLibrary for CoreLibrary.ReserveData;\n using CoreLibrary for CoreLibrary.UserReserveData;\n using SafeERC20 for ERC20;\n using Address for address payable;\n\n /**\n * @dev Emitted when the state of a reserve is updated\n * @param reserve the address of the reserve\n * @param liquidityRate the new liquidity rate\n * @param stableBorrowRate the new stable borrow rate\n * @param variableBorrowRate the new variable borrow rate\n * @param liquidityIndex the new liquidity index\n * @param variableBorrowIndex the new variable borrow index\n **/\n event ReserveUpdated(\n address indexed reserve,\n uint256 liquidityRate,\n uint256 stableBorrowRate,\n uint256 variableBorrowRate,\n uint256 liquidityIndex,\n uint256 variableBorrowIndex\n );\n\n address public lendingPoolAddress;\n\n LendingPoolAddressesProvider public addressesProvider;\n\n /**\n * @dev only lending pools can use functions affected by this modifier\n **/\n modifier onlyLendingPool {\n require(lendingPoolAddress == msg.sender, \"The caller must be a lending pool contract\");\n _;\n }\n\n /**\n * @dev only lending pools configurator can use functions affected by this modifier\n **/\n modifier onlyLendingPoolConfigurator {\n require(\n addressesProvider.getLendingPoolConfigurator() == msg.sender,\n \"The caller must be a lending pool configurator contract\"\n );\n _;\n }\n\n mapping(address => CoreLibrary.ReserveData) internal reserves;\n mapping(address => mapping(address => CoreLibrary.UserReserveData)) internal usersReserveData;\n\n address[] public reservesList;\n\n uint256 public constant CORE_REVISION = 0x4;\n\n /**\n * @dev returns the revision number of the contract\n **/\n function getRevision() internal pure returns (uint256) {\n return CORE_REVISION;\n }\n\n /**\n * @dev initializes the Core contract, invoked upon registration on the AddressesProvider\n * @param _addressesProvider the addressesProvider contract\n **/\n\n function initialize(LendingPoolAddressesProvider _addressesProvider) public initializer {\n addressesProvider = _addressesProvider;\n refreshConfigInternal();\n }\n\n /**\n * @dev updates the state of the core as a result of a deposit action\n * @param _reserve the address of the reserve in which the deposit is happening\n * @param _user the address of the the user depositing\n * @param _amount the amount being deposited\n * @param _isFirstDeposit true if the user is depositing for the first time\n **/\n\n function updateStateOnDeposit(\n address _reserve,\n address _user,\n uint256 _amount,\n bool _isFirstDeposit\n ) external onlyLendingPool {\n reserves[_reserve].updateCumulativeIndexes();\n updateReserveInterestRatesAndTimestampInternal(_reserve, _amount, 0);\n\n if (_isFirstDeposit) {\n //if this is the first deposit of the user, we configure the deposit as enabled to be used as collateral\n setUserUseReserveAsCollateral(_reserve, _user, true);\n }\n }\n\n /**\n * @dev updates the state of the core as a result of a redeem action\n * @param _reserve the address of the reserve in which the redeem is happening\n * @param _user the address of the the user redeeming\n * @param _amountRedeemed the amount being redeemed\n * @param _userRedeemedEverything true if the user is redeeming everything\n **/\n function updateStateOnRedeem(\n address _reserve,\n address _user,\n uint256 _amountRedeemed,\n bool _userRedeemedEverything\n ) external onlyLendingPool {\n //compound liquidity and variable borrow interests\n reserves[_reserve].updateCumulativeIndexes();\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, _amountRedeemed);\n\n //if user redeemed everything the useReserveAsCollateral flag is reset\n if (_userRedeemedEverything) {\n setUserUseReserveAsCollateral(_reserve, _user, false);\n }\n }\n\n /**\n * @dev updates the state of the core as a result of a flashloan action\n * @param _reserve the address of the reserve in which the flashloan is happening\n * @param _income the income of the protocol as a result of the action\n **/\n function updateStateOnFlashLoan(\n address _reserve,\n uint256 _availableLiquidityBefore,\n uint256 _income,\n uint256 _protocolFee\n ) external onlyLendingPool {\n transferFlashLoanProtocolFeeInternal(_reserve, _protocolFee);\n\n //compounding the cumulated interest\n reserves[_reserve].updateCumulativeIndexes();\n\n uint256 totalLiquidityBefore = _availableLiquidityBefore.add(\n getReserveTotalBorrows(_reserve)\n );\n\n //compounding the received fee into the reserve\n reserves[_reserve].cumulateToLiquidityIndex(totalLiquidityBefore, _income);\n\n //refresh interest rates\n updateReserveInterestRatesAndTimestampInternal(_reserve, _income, 0);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _amountBorrowed the new amount borrowed\n * @param _borrowFee the fee on the amount borrowed\n * @param _rateMode the borrow rate mode (stable, variable)\n * @return the new borrow rate for the user\n **/\n function updateStateOnBorrow(\n address _reserve,\n address _user,\n uint256 _amountBorrowed,\n uint256 _borrowFee,\n CoreLibrary.InterestRateMode _rateMode\n ) external onlyLendingPool returns (uint256, uint256) {\n // getting the previous borrow data of the user\n (uint256 principalBorrowBalance, , uint256 balanceIncrease) = getUserBorrowBalances(\n _reserve,\n _user\n );\n\n updateReserveStateOnBorrowInternal(\n _reserve,\n _user,\n principalBorrowBalance,\n balanceIncrease,\n _amountBorrowed,\n _rateMode\n );\n\n updateUserStateOnBorrowInternal(\n _reserve,\n _user,\n _amountBorrowed,\n balanceIncrease,\n _borrowFee,\n _rateMode\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, _amountBorrowed);\n\n return (getUserCurrentBorrowRate(_reserve, _user), balanceIncrease);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _originationFeeRepaid the fee on the amount that is being repaid\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _repaidWholeLoan true if the user is repaying the whole loan\n **/\n\n function updateStateOnRepay(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _originationFeeRepaid,\n uint256 _balanceIncrease,\n bool _repaidWholeLoan\n ) external onlyLendingPool {\n updateReserveStateOnRepayInternal(\n _reserve,\n _user,\n _paybackAmountMinusFees,\n _balanceIncrease\n );\n updateUserStateOnRepayInternal(\n _reserve,\n _user,\n _paybackAmountMinusFees,\n _originationFeeRepaid,\n _balanceIncrease,\n _repaidWholeLoan\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, _paybackAmountMinusFees, 0);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the amount borrowed by the user\n * @param _compoundedBorrowBalance the amount borrowed plus accrued interest\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _currentRateMode the current interest rate mode for the user\n **/\n function updateStateOnSwapRate(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _compoundedBorrowBalance,\n uint256 _balanceIncrease,\n CoreLibrary.InterestRateMode _currentRateMode\n ) external onlyLendingPool returns (CoreLibrary.InterestRateMode, uint256) {\n updateReserveStateOnSwapRateInternal(\n _reserve,\n _user,\n _principalBorrowBalance,\n _compoundedBorrowBalance,\n _currentRateMode\n );\n\n CoreLibrary.InterestRateMode newRateMode = updateUserStateOnSwapRateInternal(\n _reserve,\n _user,\n _balanceIncrease,\n _currentRateMode\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, 0);\n\n return (newRateMode, getUserCurrentBorrowRate(_reserve, _user));\n }\n\n /**\n * @dev updates the state of the core as a consequence of a liquidation action.\n * @param _principalReserve the address of the principal reserve that is being repaid\n * @param _collateralReserve the address of the collateral reserve that is being liquidated\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _collateralToLiquidate the amount of collateral being liquidated\n * @param _feeLiquidated the amount of origination fee being liquidated\n * @param _liquidatedCollateralForFee the amount of collateral equivalent to the origination fee + bonus\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _liquidatorReceivesAToken true if the liquidator will receive aTokens, false otherwise\n **/\n function updateStateOnLiquidation(\n address _principalReserve,\n address _collateralReserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _collateralToLiquidate,\n uint256 _feeLiquidated,\n uint256 _liquidatedCollateralForFee,\n uint256 _balanceIncrease,\n bool _liquidatorReceivesAToken\n ) external onlyLendingPool {\n updatePrincipalReserveStateOnLiquidationInternal(\n _principalReserve,\n _user,\n _amountToLiquidate,\n _balanceIncrease\n );\n\n updateCollateralReserveStateOnLiquidationInternal(\n _collateralReserve\n );\n\n updateUserStateOnLiquidationInternal(\n _principalReserve,\n _user,\n _amountToLiquidate,\n _feeLiquidated,\n _balanceIncrease\n );\n\n updateReserveInterestRatesAndTimestampInternal(_principalReserve, _amountToLiquidate, 0);\n\n if (!_liquidatorReceivesAToken) {\n updateReserveInterestRatesAndTimestampInternal(\n _collateralReserve,\n 0,\n _collateralToLiquidate.add(_liquidatedCollateralForFee)\n );\n }\n\n }\n\n /**\n * @dev updates the state of the core as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @return the new stable rate for the user\n **/\n function updateStateOnRebalance(address _reserve, address _user, uint256 _balanceIncrease)\n external\n onlyLendingPool\n returns (uint256)\n {\n updateReserveStateOnRebalanceInternal(_reserve, _user, _balanceIncrease);\n\n //update user data and rebalance the rate\n updateUserStateOnRebalanceInternal(_reserve, _user, _balanceIncrease);\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, 0);\n return usersReserveData[_user][_reserve].stableBorrowRate;\n }\n\n /**\n * @dev enables or disables a reserve as collateral\n * @param _reserve the address of the principal reserve where the user deposited\n * @param _user the address of the depositor\n * @param _useAsCollateral true if the depositor wants to use the reserve as collateral\n **/\n function setUserUseReserveAsCollateral(address _reserve, address _user, bool _useAsCollateral)\n public\n onlyLendingPool\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n user.useAsCollateral = _useAsCollateral;\n }\n\n /**\n * @notice ETH/token transfer functions\n **/\n\n /**\n * @dev fallback function enforces that the caller is a contract, to support flashloan transfers\n **/\n function() external payable {\n //only contracts can send ETH to the core\n require(msg.sender.isContract(), \"Only contracts can send ether to the Lending pool core\");\n\n }\n\n /**\n * @dev transfers to the user a specific amount from the reserve.\n * @param _reserve the address of the reserve where the transfer is happening\n * @param _user the address of the user receiving the transfer\n * @param _amount the amount being transferred\n **/\n function transferToUser(address _reserve, address payable _user, uint256 _amount)\n external\n onlyLendingPool\n {\n if (_reserve != EthAddressLib.ethAddress()) {\n ERC20(_reserve).safeTransfer(_user, _amount);\n } else {\n //solium-disable-next-line\n (bool result, ) = _user.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers the protocol fees to the fees collection address\n * @param _token the address of the token being transferred\n * @param _user the address of the user from where the transfer is happening\n * @param _amount the amount being transferred\n * @param _destination the fee receiver address\n **/\n\n function transferToFeeCollectionAddress(\n address _token,\n address _user,\n uint256 _amount,\n address _destination\n ) external payable onlyLendingPool {\n address payable feeAddress = address(uint160(_destination)); //cast the address to payable\n\n if (_token != EthAddressLib.ethAddress()) {\n require(\n msg.value == 0,\n \"User is sending ETH along with the ERC20 transfer. Check the value attribute of the transaction\"\n );\n ERC20(_token).safeTransferFrom(_user, feeAddress, _amount);\n } else {\n require(msg.value >= _amount, \"The amount and the value sent to deposit do not match\");\n //solium-disable-next-line\n (bool result, ) = feeAddress.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers the fees to the fees collection address in the case of liquidation\n * @param _token the address of the token being transferred\n * @param _amount the amount being transferred\n * @param _destination the fee receiver address\n **/\n function liquidateFee(\n address _token,\n uint256 _amount,\n address _destination\n ) external payable onlyLendingPool {\n address payable feeAddress = address(uint160(_destination)); //cast the address to payable\n require(\n msg.value == 0,\n \"Fee liquidation does not require any transfer of value\"\n );\n\n if (_token != EthAddressLib.ethAddress()) {\n ERC20(_token).safeTransfer(feeAddress, _amount);\n } else {\n //solium-disable-next-line\n (bool result, ) = feeAddress.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers an amount from a user to the destination reserve\n * @param _reserve the address of the reserve where the amount is being transferred\n * @param _user the address of the user from where the transfer is happening\n * @param _amount the amount being transferred\n **/\n function transferToReserve(address _reserve, address payable _user, uint256 _amount)\n external\n payable\n onlyLendingPool\n {\n if (_reserve != EthAddressLib.ethAddress()) {\n require(msg.value == 0, \"User is sending ETH along with the ERC20 transfer.\");\n ERC20(_reserve).safeTransferFrom(_user, address(this), _amount);\n\n } else {\n require(msg.value >= _amount, \"The amount and the value sent to deposit do not match\");\n\n if (msg.value > _amount) {\n //send back excess ETH\n uint256 excessAmount = msg.value.sub(_amount);\n //solium-disable-next-line\n (bool result, ) = _user.call.value(excessAmount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n }\n\n /**\n * @notice data access functions\n **/\n\n /**\n * @dev returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral)\n * needed to calculate the global account data in the LendingPoolDataProvider\n * @param _reserve the address of the reserve\n * @param _user the address of the user\n * @return the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not\n **/\n function getUserBasicReserveData(address _reserve, address _user)\n external\n view\n returns (uint256, uint256, uint256, bool)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n uint256 underlyingBalance = getUserUnderlyingAssetBalance(_reserve, _user);\n\n if (user.principalBorrowBalance == 0) {\n return (underlyingBalance, 0, 0, user.useAsCollateral);\n }\n\n return (\n underlyingBalance,\n user.getCompoundedBorrowBalance(reserve),\n user.originationFee,\n user.useAsCollateral\n );\n }\n\n /**\n * @dev checks if a user is allowed to borrow at a stable rate\n * @param _reserve the reserve address\n * @param _user the user\n * @param _amount the amount the the user wants to borrow\n * @return true if the user is allowed to borrow at a stable rate, false otherwise\n **/\n\n function isUserAllowedToBorrowAtStable(address _reserve, address _user, uint256 _amount)\n external\n view\n returns (bool)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (!reserve.isStableBorrowRateEnabled) return false;\n\n return\n !user.useAsCollateral ||\n !reserve.usageAsCollateralEnabled ||\n _amount > getUserUnderlyingAssetBalance(_reserve, _user);\n }\n\n /**\n * @dev gets the underlying asset balance of a user based on the corresponding aToken balance.\n * @param _reserve the reserve address\n * @param _user the user address\n * @return the underlying deposit balance of the user\n **/\n\n function getUserUnderlyingAssetBalance(address _reserve, address _user)\n public\n view\n returns (uint256)\n {\n AToken aToken = AToken(reserves[_reserve].aTokenAddress);\n return aToken.balanceOf(_user);\n\n }\n\n /**\n * @dev gets the interest rate strategy contract address for the reserve\n * @param _reserve the reserve address\n * @return the address of the interest rate strategy contract\n **/\n function getReserveInterestRateStrategyAddress(address _reserve) public view returns (address) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.interestRateStrategyAddress;\n }\n\n /**\n * @dev gets the aToken contract address for the reserve\n * @param _reserve the reserve address\n * @return the address of the aToken contract\n **/\n\n function getReserveATokenAddress(address _reserve) public view returns (address) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.aTokenAddress;\n }\n\n /**\n * @dev gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\n * @param _reserve the reserve address\n * @return the available liquidity\n **/\n function getReserveAvailableLiquidity(address _reserve) public view returns (uint256) {\n uint256 balance = 0;\n\n if (_reserve == EthAddressLib.ethAddress()) {\n balance = address(this).balance;\n } else {\n balance = IERC20(_reserve).balanceOf(address(this));\n }\n return balance;\n }\n\n /**\n * @dev gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\n * @param _reserve the reserve address\n * @return the total liquidity\n **/\n function getReserveTotalLiquidity(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return getReserveAvailableLiquidity(_reserve).add(reserve.getTotalBorrows());\n }\n\n /**\n * @dev gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there\n * there has been 100% income.\n * @param _reserve the reserve address\n * @return the reserve normalized income\n **/\n function getReserveNormalizedIncome(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.getNormalizedIncome();\n }\n\n /**\n * @dev gets the reserve total borrows\n * @param _reserve the reserve address\n * @return the total borrows (stable + variable)\n **/\n function getReserveTotalBorrows(address _reserve) public view returns (uint256) {\n return reserves[_reserve].getTotalBorrows();\n }\n\n /**\n * @dev gets the reserve total borrows stable\n * @param _reserve the reserve address\n * @return the total borrows stable\n **/\n function getReserveTotalBorrowsStable(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.totalBorrowsStable;\n }\n\n /**\n * @dev gets the reserve total borrows variable\n * @param _reserve the reserve address\n * @return the total borrows variable\n **/\n\n function getReserveTotalBorrowsVariable(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.totalBorrowsVariable;\n }\n\n /**\n * @dev gets the reserve liquidation threshold\n * @param _reserve the reserve address\n * @return the reserve liquidation threshold\n **/\n\n function getReserveLiquidationThreshold(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.liquidationThreshold;\n }\n\n /**\n * @dev gets the reserve liquidation bonus\n * @param _reserve the reserve address\n * @return the reserve liquidation bonus\n **/\n\n function getReserveLiquidationBonus(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.liquidationBonus;\n }\n\n /**\n * @dev gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\n * @param _reserve the reserve address\n * @return the reserve current variable borrow rate\n **/\n\n function getReserveCurrentVariableBorrowRate(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n if (reserve.currentVariableBorrowRate == 0) {\n return\n IReserveInterestRateStrategy(reserve.interestRateStrategyAddress)\n .getBaseVariableBorrowRate();\n }\n return reserve.currentVariableBorrowRate;\n }\n\n /**\n * @dev gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\n * @param _reserve the reserve address\n * @return the reserve current stable borrow rate\n **/\n\n function getReserveCurrentStableBorrowRate(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n ILendingRateOracle oracle = ILendingRateOracle(addressesProvider.getLendingRateOracle());\n\n if (reserve.currentStableBorrowRate == 0) {\n //no stable rate borrows yet\n return oracle.getMarketBorrowRate(_reserve);\n }\n\n return reserve.currentStableBorrowRate;\n }\n\n /**\n * @dev gets the reserve average stable borrow rate. The average stable rate is the weighted average\n * of all the loans taken at stable rate.\n * @param _reserve the reserve address\n * @return the reserve current average borrow rate\n **/\n function getReserveCurrentAverageStableBorrowRate(address _reserve)\n external\n view\n returns (uint256)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.currentAverageStableBorrowRate;\n }\n\n /**\n * @dev gets the reserve liquidity rate\n * @param _reserve the reserve address\n * @return the reserve liquidity rate\n **/\n function getReserveCurrentLiquidityRate(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.currentLiquidityRate;\n }\n\n /**\n * @dev gets the reserve liquidity cumulative index\n * @param _reserve the reserve address\n * @return the reserve liquidity cumulative index\n **/\n function getReserveLiquidityCumulativeIndex(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.lastLiquidityCumulativeIndex;\n }\n\n /**\n * @dev gets the reserve variable borrow index\n * @param _reserve the reserve address\n * @return the reserve variable borrow index\n **/\n function getReserveVariableBorrowsCumulativeIndex(address _reserve)\n external\n view\n returns (uint256)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.lastVariableBorrowCumulativeIndex;\n }\n\n /**\n * @dev this function aggregates the configuration parameters of the reserve.\n * It's used in the LendingPoolDataProvider specifically to save gas, and avoid\n * multiple external contract calls to fetch the same data.\n * @param _reserve the reserve address\n * @return the reserve decimals\n * @return the base ltv as collateral\n * @return the liquidation threshold\n * @return if the reserve is used as collateral or not\n **/\n function getReserveConfiguration(address _reserve)\n external\n view\n returns (uint256, uint256, uint256, bool)\n {\n uint256 decimals;\n uint256 baseLTVasCollateral;\n uint256 liquidationThreshold;\n bool usageAsCollateralEnabled;\n\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n decimals = reserve.decimals;\n baseLTVasCollateral = reserve.baseLTVasCollateral;\n liquidationThreshold = reserve.liquidationThreshold;\n usageAsCollateralEnabled = reserve.usageAsCollateralEnabled;\n\n return (decimals, baseLTVasCollateral, liquidationThreshold, usageAsCollateralEnabled);\n }\n\n /**\n * @dev returns the decimals of the reserve\n * @param _reserve the reserve address\n * @return the reserve decimals\n **/\n function getReserveDecimals(address _reserve) external view returns (uint256) {\n return reserves[_reserve].decimals;\n }\n\n /**\n * @dev returns true if the reserve is enabled for borrowing\n * @param _reserve the reserve address\n * @return true if the reserve is enabled for borrowing, false otherwise\n **/\n\n function isReserveBorrowingEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.borrowingEnabled;\n }\n\n /**\n * @dev returns true if the reserve is enabled as collateral\n * @param _reserve the reserve address\n * @return true if the reserve is enabled as collateral, false otherwise\n **/\n\n function isReserveUsageAsCollateralEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.usageAsCollateralEnabled;\n }\n\n /**\n * @dev returns true if the stable rate is enabled on reserve\n * @param _reserve the reserve address\n * @return true if the stable rate is enabled on reserve, false otherwise\n **/\n function getReserveIsStableBorrowRateEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isStableBorrowRateEnabled;\n }\n\n /**\n * @dev returns true if the reserve is active\n * @param _reserve the reserve address\n * @return true if the reserve is active, false otherwise\n **/\n function getReserveIsActive(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isActive;\n }\n\n /**\n * @notice returns if a reserve is freezed\n * @param _reserve the reserve for which the information is needed\n * @return true if the reserve is freezed, false otherwise\n **/\n\n function getReserveIsFreezed(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isFreezed;\n }\n\n /**\n * @notice returns the timestamp of the last action on the reserve\n * @param _reserve the reserve for which the information is needed\n * @return the last updated timestamp of the reserve\n **/\n\n function getReserveLastUpdate(address _reserve) external view returns (uint40 timestamp) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n timestamp = reserve.lastUpdateTimestamp;\n }\n\n /**\n * @dev returns the utilization rate U of a specific reserve\n * @param _reserve the reserve for which the information is needed\n * @return the utilization rate in ray\n **/\n\n function getReserveUtilizationRate(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n uint256 totalBorrows = reserve.getTotalBorrows();\n\n if (totalBorrows == 0) {\n return 0;\n }\n\n uint256 availableLiquidity = getReserveAvailableLiquidity(_reserve);\n\n return totalBorrows.rayDiv(availableLiquidity.add(totalBorrows));\n }\n\n /**\n * @return the array of reserves configured on the core\n **/\n function getReserves() external view returns (address[] memory) {\n return reservesList;\n }\n\n /**\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return true if the user has chosen to use the reserve as collateral, false otherwise\n **/\n function isUserUseReserveAsCollateralEnabled(address _reserve, address _user)\n external\n view\n returns (bool)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.useAsCollateral;\n }\n\n /**\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the origination fee for the user\n **/\n function getUserOriginationFee(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.originationFee;\n }\n\n /**\n * @dev users with no loans in progress have NONE as borrow rate mode\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the borrow rate mode for the user,\n **/\n\n function getUserCurrentBorrowRateMode(address _reserve, address _user)\n public\n view\n returns (CoreLibrary.InterestRateMode)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (user.principalBorrowBalance == 0) {\n return CoreLibrary.InterestRateMode.NONE;\n }\n\n return\n user.stableBorrowRate > 0\n ? CoreLibrary.InterestRateMode.STABLE\n : CoreLibrary.InterestRateMode.VARIABLE;\n }\n\n /**\n * @dev gets the current borrow rate of the user\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the borrow rate for the user,\n **/\n function getUserCurrentBorrowRate(address _reserve, address _user)\n internal\n view\n returns (uint256)\n {\n CoreLibrary.InterestRateMode rateMode = getUserCurrentBorrowRateMode(_reserve, _user);\n\n if (rateMode == CoreLibrary.InterestRateMode.NONE) {\n return 0;\n }\n\n return\n rateMode == CoreLibrary.InterestRateMode.STABLE\n ? usersReserveData[_user][_reserve].stableBorrowRate\n : reserves[_reserve].currentVariableBorrowRate;\n }\n\n /**\n * @dev the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the user stable rate\n **/\n function getUserCurrentStableBorrowRate(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.stableBorrowRate;\n }\n\n /**\n * @dev calculates and returns the borrow balances of the user\n * @param _reserve the address of the reserve\n * @param _user the address of the user\n * @return the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance\n **/\n\n function getUserBorrowBalances(address _reserve, address _user)\n public\n view\n returns (uint256, uint256, uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n if (user.principalBorrowBalance == 0) {\n return (0, 0, 0);\n }\n\n uint256 principal = user.principalBorrowBalance;\n uint256 compoundedBalance = CoreLibrary.getCompoundedBorrowBalance(\n user,\n reserves[_reserve]\n );\n return (principal, compoundedBalance, compoundedBalance.sub(principal));\n }\n\n /**\n * @dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the variable borrow index for the user\n **/\n\n function getUserVariableBorrowCumulativeIndex(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.lastVariableBorrowCumulativeIndex;\n }\n\n /**\n * @dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the variable borrow index for the user\n **/\n\n function getUserLastUpdate(address _reserve, address _user)\n external\n view\n returns (uint256 timestamp)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n timestamp = user.lastUpdateTimestamp;\n }\n\n /**\n * @dev updates the lending pool core configuration\n **/\n function refreshConfiguration() external onlyLendingPoolConfigurator {\n refreshConfigInternal();\n }\n\n /**\n * @dev initializes a reserve\n * @param _reserve the address of the reserve\n * @param _aTokenAddress the address of the overlying aToken contract\n * @param _decimals the decimals of the reserve currency\n * @param _interestRateStrategyAddress the address of the interest rate strategy contract\n **/\n function initReserve(\n address _reserve,\n address _aTokenAddress,\n uint256 _decimals,\n address _interestRateStrategyAddress\n ) external onlyLendingPoolConfigurator {\n reserves[_reserve].init(_aTokenAddress, _decimals, _interestRateStrategyAddress);\n addReserveToListInternal(_reserve);\n\n }\n\n\n\n /**\n * @dev removes the last added reserve in the reservesList array\n * @param _reserveToRemove the address of the reserve\n **/\n function removeLastAddedReserve(address _reserveToRemove)\n external onlyLendingPoolConfigurator {\n\n address lastReserve = reservesList[reservesList.length-1];\n\n require(lastReserve == _reserveToRemove, \"Reserve being removed is different than the reserve requested\");\n\n //as we can't check if totalLiquidity is 0 (since the reserve added might not be an ERC20) we at least check that there is nothing borrowed\n require(getReserveTotalBorrows(lastReserve) == 0, \"Cannot remove a reserve with liquidity deposited\");\n\n reserves[lastReserve].isActive = false;\n reserves[lastReserve].aTokenAddress = address(0);\n reserves[lastReserve].decimals = 0;\n reserves[lastReserve].lastLiquidityCumulativeIndex = 0;\n reserves[lastReserve].lastVariableBorrowCumulativeIndex = 0;\n reserves[lastReserve].borrowingEnabled = false;\n reserves[lastReserve].usageAsCollateralEnabled = false;\n reserves[lastReserve].baseLTVasCollateral = 0;\n reserves[lastReserve].liquidationThreshold = 0;\n reserves[lastReserve].liquidationBonus = 0;\n reserves[lastReserve].interestRateStrategyAddress = address(0);\n\n reservesList.pop();\n }\n\n /**\n * @dev updates the address of the interest rate strategy contract\n * @param _reserve the address of the reserve\n * @param _rateStrategyAddress the address of the interest rate strategy contract\n **/\n\n function setReserveInterestRateStrategyAddress(address _reserve, address _rateStrategyAddress)\n external\n onlyLendingPoolConfigurator\n {\n reserves[_reserve].interestRateStrategyAddress = _rateStrategyAddress;\n }\n\n /**\n * @dev enables borrowing on a reserve. Also sets the stable rate borrowing\n * @param _reserve the address of the reserve\n * @param _stableBorrowRateEnabled true if the stable rate needs to be enabled, false otherwise\n **/\n\n function enableBorrowingOnReserve(address _reserve, bool _stableBorrowRateEnabled)\n external\n onlyLendingPoolConfigurator\n {\n reserves[_reserve].enableBorrowing(_stableBorrowRateEnabled);\n }\n\n /**\n * @dev disables borrowing on a reserve\n * @param _reserve the address of the reserve\n **/\n\n function disableBorrowingOnReserve(address _reserve) external onlyLendingPoolConfigurator {\n reserves[_reserve].disableBorrowing();\n }\n\n /**\n * @dev enables a reserve to be used as collateral\n * @param _reserve the address of the reserve\n **/\n function enableReserveAsCollateral(\n address _reserve,\n uint256 _baseLTVasCollateral,\n uint256 _liquidationThreshold,\n uint256 _liquidationBonus\n ) external onlyLendingPoolConfigurator {\n reserves[_reserve].enableAsCollateral(\n _baseLTVasCollateral,\n _liquidationThreshold,\n _liquidationBonus\n );\n }\n\n /**\n * @dev disables a reserve to be used as collateral\n * @param _reserve the address of the reserve\n **/\n function disableReserveAsCollateral(address _reserve) external onlyLendingPoolConfigurator {\n reserves[_reserve].disableAsCollateral();\n }\n\n /**\n * @dev enable the stable borrow rate mode on a reserve\n * @param _reserve the address of the reserve\n **/\n function enableReserveStableBorrowRate(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isStableBorrowRateEnabled = true;\n }\n\n /**\n * @dev disable the stable borrow rate mode on a reserve\n * @param _reserve the address of the reserve\n **/\n function disableReserveStableBorrowRate(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isStableBorrowRateEnabled = false;\n }\n\n /**\n * @dev activates a reserve\n * @param _reserve the address of the reserve\n **/\n function activateReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n require(\n reserve.lastLiquidityCumulativeIndex > 0 &&\n reserve.lastVariableBorrowCumulativeIndex > 0,\n \"Reserve has not been initialized yet\"\n );\n reserve.isActive = true;\n }\n\n /**\n * @dev deactivates a reserve\n * @param _reserve the address of the reserve\n **/\n function deactivateReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isActive = false;\n }\n\n /**\n * @notice allows the configurator to freeze the reserve.\n * A freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\n * @param _reserve the address of the reserve\n **/\n function freezeReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isFreezed = true;\n }\n\n /**\n * @notice allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\n * @param _reserve the address of the reserve\n **/\n function unfreezeReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isFreezed = false;\n }\n\n /**\n * @notice allows the configurator to update the loan to value of a reserve\n * @param _reserve the address of the reserve\n * @param _ltv the new loan to value\n **/\n function setReserveBaseLTVasCollateral(address _reserve, uint256 _ltv)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.baseLTVasCollateral = _ltv;\n }\n\n /**\n * @notice allows the configurator to update the liquidation threshold of a reserve\n * @param _reserve the address of the reserve\n * @param _threshold the new liquidation threshold\n **/\n function setReserveLiquidationThreshold(address _reserve, uint256 _threshold)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.liquidationThreshold = _threshold;\n }\n\n /**\n * @notice allows the configurator to update the liquidation bonus of a reserve\n * @param _reserve the address of the reserve\n * @param _bonus the new liquidation bonus\n **/\n function setReserveLiquidationBonus(address _reserve, uint256 _bonus)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.liquidationBonus = _bonus;\n }\n\n /**\n * @notice allows the configurator to update the reserve decimals\n * @param _reserve the address of the reserve\n * @param _decimals the decimals of the reserve\n **/\n function setReserveDecimals(address _reserve, uint256 _decimals)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.decimals = _decimals;\n }\n\n /**\n * @notice internal functions\n **/\n\n /**\n * @dev updates the state of a reserve as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the previous borrow balance of the borrower before the action\n * @param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n * @param _amountBorrowed the new amount borrowed\n * @param _rateMode the borrow rate mode (stable, variable)\n **/\n\n function updateReserveStateOnBorrowInternal(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _balanceIncrease,\n uint256 _amountBorrowed,\n CoreLibrary.InterestRateMode _rateMode\n ) internal {\n reserves[_reserve].updateCumulativeIndexes();\n\n //increasing reserve total borrows to account for the new borrow balance of the user\n //NOTE: Depending on the previous borrow mode, the borrows might need to be switched from variable to stable or vice versa\n\n updateReserveTotalBorrowsByRateModeInternal(\n _reserve,\n _user,\n _principalBorrowBalance,\n _balanceIncrease,\n _amountBorrowed,\n _rateMode\n );\n }\n\n /**\n * @dev updates the state of a user as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _amountBorrowed the amount borrowed\n * @param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n * @param _rateMode the borrow rate mode (stable, variable)\n * @return the final borrow rate for the user. Emitted by the borrow() event\n **/\n\n function updateUserStateOnBorrowInternal(\n address _reserve,\n address _user,\n uint256 _amountBorrowed,\n uint256 _balanceIncrease,\n uint256 _fee,\n CoreLibrary.InterestRateMode _rateMode\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (_rateMode == CoreLibrary.InterestRateMode.STABLE) {\n //stable\n //reset the user variable index, and update the stable rate\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n user.lastVariableBorrowCumulativeIndex = 0;\n } else if (_rateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //variable\n //reset the user stable rate, and store the new borrow index\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n } else {\n revert(\"Invalid borrow rate mode\");\n }\n //increase the principal borrows and the origination fee\n user.principalBorrowBalance = user.principalBorrowBalance.add(_amountBorrowed).add(\n _balanceIncrease\n );\n user.originationFee = user.originationFee.add(_fee);\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n }\n\n /**\n * @dev updates the state of the reserve as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateReserveStateOnRepayInternal(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_reserve][_user];\n\n CoreLibrary.InterestRateMode borrowRateMode = getUserCurrentBorrowRateMode(_reserve, _user);\n\n //update the indexes\n reserves[_reserve].updateCumulativeIndexes();\n\n //compound the cumulated interest to the borrow balance and then subtracting the payback amount\n if (borrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _paybackAmountMinusFees,\n user.stableBorrowRate\n );\n } else {\n reserve.increaseTotalBorrowsVariable(_balanceIncrease);\n reserve.decreaseTotalBorrowsVariable(_paybackAmountMinusFees);\n }\n }\n\n /**\n * @dev updates the state of the user as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _originationFeeRepaid the fee on the amount that is being repaid\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _repaidWholeLoan true if the user is repaying the whole loan\n **/\n function updateUserStateOnRepayInternal(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _originationFeeRepaid,\n uint256 _balanceIncrease,\n bool _repaidWholeLoan\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n //update the user principal borrow balance, adding the cumulated interest and then subtracting the payback amount\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease).sub(\n _paybackAmountMinusFees\n );\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n\n //if the balance decrease is equal to the previous principal (user is repaying the whole loan)\n //and the rate mode is stable, we reset the interest rate mode of the user\n if (_repaidWholeLoan) {\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = 0;\n }\n user.originationFee = user.originationFee.sub(_originationFeeRepaid);\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n }\n\n /**\n * @dev updates the state of the user as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is performing the rate swap\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the the principal amount borrowed by the user\n * @param _compoundedBorrowBalance the principal amount plus the accrued interest\n * @param _currentRateMode the rate mode at which the user borrowed\n **/\n function updateReserveStateOnSwapRateInternal(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _compoundedBorrowBalance,\n CoreLibrary.InterestRateMode _currentRateMode\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n //compounding reserve indexes\n reserve.updateCumulativeIndexes();\n\n if (_currentRateMode == CoreLibrary.InterestRateMode.STABLE) {\n uint256 userCurrentStableRate = user.stableBorrowRate;\n\n //swap to variable\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _principalBorrowBalance,\n userCurrentStableRate\n ); //decreasing stable from old principal balance\n reserve.increaseTotalBorrowsVariable(_compoundedBorrowBalance); //increase variable borrows\n } else if (_currentRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //swap to stable\n uint256 currentStableRate = reserve.currentStableBorrowRate;\n reserve.decreaseTotalBorrowsVariable(_principalBorrowBalance);\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _compoundedBorrowBalance,\n currentStableRate\n );\n\n } else {\n revert(\"Invalid rate mode received\");\n }\n }\n\n /**\n * @dev updates the state of the user as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is performing the swap\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _currentRateMode the current rate mode of the user\n **/\n\n function updateUserStateOnSwapRateInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease,\n CoreLibrary.InterestRateMode _currentRateMode\n ) internal returns (CoreLibrary.InterestRateMode) {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n CoreLibrary.InterestRateMode newMode = CoreLibrary.InterestRateMode.NONE;\n\n if (_currentRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //switch to stable\n newMode = CoreLibrary.InterestRateMode.STABLE;\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n user.lastVariableBorrowCumulativeIndex = 0;\n } else if (_currentRateMode == CoreLibrary.InterestRateMode.STABLE) {\n newMode = CoreLibrary.InterestRateMode.VARIABLE;\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n } else {\n revert(\"Invalid interest rate mode received\");\n }\n //compounding cumulated interest\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease);\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n return newMode;\n }\n\n /**\n * @dev updates the state of the principal reserve as a consequence of a liquidation action.\n * @param _principalReserve the address of the principal reserve that is being repaid\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updatePrincipalReserveStateOnLiquidationInternal(\n address _principalReserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_principalReserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_principalReserve];\n\n //update principal reserve data\n reserve.updateCumulativeIndexes();\n\n CoreLibrary.InterestRateMode borrowRateMode = getUserCurrentBorrowRateMode(\n _principalReserve,\n _user\n );\n\n if (borrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n //increase the total borrows by the compounded interest\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n\n //decrease by the actual amount to liquidate\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _amountToLiquidate,\n user.stableBorrowRate\n );\n\n } else {\n //increase the total borrows by the compounded interest\n reserve.increaseTotalBorrowsVariable(_balanceIncrease);\n\n //decrease by the actual amount to liquidate\n reserve.decreaseTotalBorrowsVariable(_amountToLiquidate);\n }\n\n }\n\n /**\n * @dev updates the state of the collateral reserve as a consequence of a liquidation action.\n * @param _collateralReserve the address of the collateral reserve that is being liquidated\n **/\n function updateCollateralReserveStateOnLiquidationInternal(\n address _collateralReserve\n ) internal {\n //update collateral reserve\n reserves[_collateralReserve].updateCumulativeIndexes();\n\n }\n\n /**\n * @dev updates the state of the user being liquidated as a consequence of a liquidation action.\n * @param _reserve the address of the principal reserve that is being repaid\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _feeLiquidated the amount of origination fee being liquidated\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n function updateUserStateOnLiquidationInternal(\n address _reserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _feeLiquidated,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n //first increase by the compounded interest, then decrease by the liquidated amount\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease).sub(\n _amountToLiquidate\n );\n\n if (\n getUserCurrentBorrowRateMode(_reserve, _user) == CoreLibrary.InterestRateMode.VARIABLE\n ) {\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n }\n\n if(_feeLiquidated > 0){\n user.originationFee = user.originationFee.sub(_feeLiquidated);\n }\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n }\n\n /**\n * @dev updates the state of the reserve as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateReserveStateOnRebalanceInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n reserve.updateCumulativeIndexes();\n\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n\n }\n\n /**\n * @dev updates the state of the user as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateUserStateOnRebalanceInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease);\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n }\n\n /**\n * @dev updates the state of the user as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _amountBorrowed the accrued interest on the borrowed amount\n **/\n function updateReserveTotalBorrowsByRateModeInternal(\n address _reserve,\n address _user,\n uint256 _principalBalance,\n uint256 _balanceIncrease,\n uint256 _amountBorrowed,\n CoreLibrary.InterestRateMode _newBorrowRateMode\n ) internal {\n CoreLibrary.InterestRateMode previousRateMode = getUserCurrentBorrowRateMode(\n _reserve,\n _user\n );\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n if (previousRateMode == CoreLibrary.InterestRateMode.STABLE) {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _principalBalance,\n user.stableBorrowRate\n );\n } else if (previousRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n reserve.decreaseTotalBorrowsVariable(_principalBalance);\n }\n\n uint256 newPrincipalAmount = _principalBalance.add(_balanceIncrease).add(_amountBorrowed);\n if (_newBorrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n newPrincipalAmount,\n reserve.currentStableBorrowRate\n );\n } else if (_newBorrowRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n reserve.increaseTotalBorrowsVariable(newPrincipalAmount);\n } else {\n revert(\"Invalid new borrow rate mode\");\n }\n }\n\n /**\n * @dev Updates the reserve current stable borrow rate Rf, the current variable borrow rate Rv and the current liquidity rate Rl.\n * Also updates the lastUpdateTimestamp value. Please refer to the whitepaper for further information.\n * @param _reserve the address of the reserve to be updated\n * @param _liquidityAdded the amount of liquidity added to the protocol (deposit or repay) in the previous action\n * @param _liquidityTaken the amount of liquidity taken from the protocol (redeem or borrow)\n **/\n\n function updateReserveInterestRatesAndTimestampInternal(\n address _reserve,\n uint256 _liquidityAdded,\n uint256 _liquidityTaken\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n (uint256 newLiquidityRate, uint256 newStableRate, uint256 newVariableRate) = IReserveInterestRateStrategy(\n reserve\n .interestRateStrategyAddress\n )\n .calculateInterestRates(\n _reserve,\n getReserveAvailableLiquidity(_reserve).add(_liquidityAdded).sub(_liquidityTaken),\n reserve.totalBorrowsStable,\n reserve.totalBorrowsVariable,\n reserve.currentAverageStableBorrowRate\n );\n\n reserve.currentLiquidityRate = newLiquidityRate;\n reserve.currentStableBorrowRate = newStableRate;\n reserve.currentVariableBorrowRate = newVariableRate;\n\n //solium-disable-next-line\n reserve.lastUpdateTimestamp = uint40(block.timestamp);\n\n emit ReserveUpdated(\n _reserve,\n newLiquidityRate,\n newStableRate,\n newVariableRate,\n reserve.lastLiquidityCumulativeIndex,\n reserve.lastVariableBorrowCumulativeIndex\n );\n }\n\n /**\n * @dev transfers to the protocol fees of a flashloan to the fees collection address\n * @param _token the address of the token being transferred\n * @param _amount the amount being transferred\n **/\n\n function transferFlashLoanProtocolFeeInternal(address _token, uint256 _amount) internal {\n address payable receiver = address(uint160(addressesProvider.getTokenDistributor()));\n\n if (_token != EthAddressLib.ethAddress()) {\n ERC20(_token).safeTransfer(receiver, _amount);\n } else {\n receiver.transfer(_amount);\n }\n }\n\n /**\n * @dev updates the internal configuration of the core\n **/\n function refreshConfigInternal() internal {\n lendingPoolAddress = addressesProvider.getLendingPool();\n }\n\n /**\n * @dev adds a reserve to the array of the reserves address\n **/\n function addReserveToListInternal(address _reserve) internal {\n bool reserveAlreadyAdded = false;\n for (uint256 i = 0; i < reservesList.length; i++)\n if (reservesList[i] == _reserve) {\n reserveAlreadyAdded = true;\n }\n if (!reserveAlreadyAdded) reservesList.push(_reserve);\n }\n\n}\n", + "metadata": "{\"compiler\":{\"version\":\"0.5.14+commit.01f1aaa4\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reserve\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"averageStableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowIndex\",\"type\":\"uint256\"}],\"name\":\"ReserveDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reserve\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidityIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableBorrowIndex\",\"type\":\"uint256\"}],\"name\":\"ReserveUpdated\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"CORE_REVISION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"activateReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"addressesProvider\",\"outputs\":[{\"internalType\":\"contract LendingPoolAddressesProvider\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"deactivateReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableBorrowingOnReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"disableReserveStableBorrowRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_stableBorrowRateEnabled\",\"type\":\"bool\"}],\"name\":\"enableBorrowingOnReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_baseLTVasCollateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidationThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidationBonus\",\"type\":\"uint256\"}],\"name\":\"enableReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"enableReserveStableBorrowRate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"freezeReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveATokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveAvailableLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveConfiguration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentAverageStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentLiquidityRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveCurrentVariableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveDecimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveInterestRateStrategyAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsFreezed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveIsStableBorrowRateEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLastUpdate\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"timestamp\",\"type\":\"uint40\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidationBonus\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidationThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveLiquidityCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveNormalizedIncome\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrows\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrowsStable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalBorrowsVariable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveTotalLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveUtilizationRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"getReserveVariableBorrowsCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserBasicReserveData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserBorrowBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserCurrentBorrowRateMode\",\"outputs\":[{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserCurrentStableBorrowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserLastUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserOriginationFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserUnderlyingAssetBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserVariableBorrowCumulativeIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_interestRateStrategyAddress\",\"type\":\"address\"}],\"name\":\"initReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract LendingPoolAddressesProvider\",\"name\":\"_addressesProvider\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"isReserveBorrowingEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"isReserveUsageAsCollateralEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"isUserAllowedToBorrowAtStable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isUserUseReserveAsCollateralEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lendingPoolAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"}],\"name\":\"liquidateFee\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"refreshConfiguration\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserveToRemove\",\"type\":\"address\"}],\"name\":\"removeLastAddedReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"reservesList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_ltv\",\"type\":\"uint256\"}],\"name\":\"setReserveBaseLTVasCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"name\":\"setReserveDecimals\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rateStrategyAddress\",\"type\":\"address\"}],\"name\":\"setReserveInterestRateStrategyAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_bonus\",\"type\":\"uint256\"}],\"name\":\"setReserveLiquidationBonus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"setReserveLiquidationThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useAsCollateral\",\"type\":\"bool\"}],\"name\":\"setUserUseReserveAsCollateral\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"}],\"name\":\"transferToFeeCollectionAddress\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferToReserve\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferToUser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"}],\"name\":\"unfreezeReserve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_borrowFee\",\"type\":\"uint256\"},{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"_rateMode\",\"type\":\"uint8\"}],\"name\":\"updateStateOnBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_isFirstDeposit\",\"type\":\"bool\"}],\"name\":\"updateStateOnDeposit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_availableLiquidityBefore\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_income\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFee\",\"type\":\"uint256\"}],\"name\":\"updateStateOnFlashLoan\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_principalReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToLiquidate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_collateralToLiquidate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_feeLiquidated\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidatedCollateralForFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_liquidatorReceivesAToken\",\"type\":\"bool\"}],\"name\":\"updateStateOnLiquidation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"}],\"name\":\"updateStateOnRebalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountRedeemed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_userRedeemedEverything\",\"type\":\"bool\"}],\"name\":\"updateStateOnRedeem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_paybackAmountMinusFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_originationFeeRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_repaidWholeLoan\",\"type\":\"bool\"}],\"name\":\"updateStateOnRepay\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_principalBorrowBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_compoundedBorrowBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_balanceIncrease\",\"type\":\"uint256\"},{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"_currentRateMode\",\"type\":\"uint8\"}],\"name\":\"updateStateOnSwapRate\",\"outputs\":[{\"internalType\":\"enum CoreLibrary.InterestRateMode\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aave\",\"details\":\"NOTE: The core does not enforce security checks on the update of the state (eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve). The check that an action can be performed is a duty of the overlying LendingPool contract.*\",\"methods\":{\"activateReserve(address)\":{\"details\":\"activates a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"deactivateReserve(address)\":{\"details\":\"deactivates a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableBorrowingOnReserve(address)\":{\"details\":\"disables borrowing on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableReserveAsCollateral(address)\":{\"details\":\"disables a reserve to be used as collateral\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"disableReserveStableBorrowRate(address)\":{\"details\":\"disable the stable borrow rate mode on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"enableBorrowingOnReserve(address,bool)\":{\"details\":\"enables borrowing on a reserve. Also sets the stable rate borrowing\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_stableBorrowRateEnabled\":\"true if the stable rate needs to be enabled, false otherwise*\"}},\"enableReserveAsCollateral(address,uint256,uint256,uint256)\":{\"details\":\"enables a reserve to be used as collateral\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"enableReserveStableBorrowRate(address)\":{\"details\":\"enable the stable borrow rate mode on a reserve\",\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"freezeReserve(address)\":{\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"getReserveATokenAddress(address)\":{\"details\":\"gets the aToken contract address for the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the address of the aToken contract*\"},\"getReserveAvailableLiquidity(address)\":{\"details\":\"gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the available liquidity*\"},\"getReserveConfiguration(address)\":{\"details\":\"this function aggregates the configuration parameters of the reserve. It's used in the LendingPoolDataProvider specifically to save gas, and avoid multiple external contract calls to fetch the same data.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve decimalsthe base ltv as collateralthe liquidation thresholdif the reserve is used as collateral or not*\"},\"getReserveCurrentAverageStableBorrowRate(address)\":{\"details\":\"gets the reserve average stable borrow rate. The average stable rate is the weighted average of all the loans taken at stable rate.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current average borrow rate*\"},\"getReserveCurrentLiquidityRate(address)\":{\"details\":\"gets the reserve liquidity rate\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidity rate*\"},\"getReserveCurrentStableBorrowRate(address)\":{\"details\":\"gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current stable borrow rate*\"},\"getReserveCurrentVariableBorrowRate(address)\":{\"details\":\"gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve current variable borrow rate*\"},\"getReserveDecimals(address)\":{\"details\":\"returns the decimals of the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve decimals*\"},\"getReserveInterestRateStrategyAddress(address)\":{\"details\":\"gets the interest rate strategy contract address for the reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the address of the interest rate strategy contract*\"},\"getReserveIsActive(address)\":{\"details\":\"returns true if the reserve is active\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is active, false otherwise*\"},\"getReserveIsFreezed(address)\":{\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"true if the reserve is freezed, false otherwise*\"},\"getReserveIsStableBorrowRateEnabled(address)\":{\"details\":\"returns true if the stable rate is enabled on reserve\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the stable rate is enabled on reserve, false otherwise*\"},\"getReserveLastUpdate(address)\":{\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"the last updated timestamp of the reserve*\"},\"getReserveLiquidationBonus(address)\":{\"details\":\"gets the reserve liquidation bonus\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidation bonus*\"},\"getReserveLiquidationThreshold(address)\":{\"details\":\"gets the reserve liquidation threshold\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidation threshold*\"},\"getReserveLiquidityCumulativeIndex(address)\":{\"details\":\"gets the reserve liquidity cumulative index\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve liquidity cumulative index*\"},\"getReserveNormalizedIncome(address)\":{\"details\":\"gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there there has been 100% income.\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve normalized income*\"},\"getReserveTotalBorrows(address)\":{\"details\":\"gets the reserve total borrows\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows (stable + variable)*\"},\"getReserveTotalBorrowsStable(address)\":{\"details\":\"gets the reserve total borrows stable\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows stable*\"},\"getReserveTotalBorrowsVariable(address)\":{\"details\":\"gets the reserve total borrows variable\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total borrows variable*\"},\"getReserveTotalLiquidity(address)\":{\"details\":\"gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the total liquidity*\"},\"getReserveUtilizationRate(address)\":{\"details\":\"returns the utilization rate U of a specific reserve\",\"params\":{\"_reserve\":\"the reserve for which the information is needed\"},\"return\":\"the utilization rate in ray*\"},\"getReserveVariableBorrowsCumulativeIndex(address)\":{\"details\":\"gets the reserve variable borrow index\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"the reserve variable borrow index*\"},\"getReserves()\":{\"return\":\"the array of reserves configured on the core*\"},\"getUserBasicReserveData(address,address)\":{\"details\":\"returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral) needed to calculate the global account data in the LendingPoolDataProvider\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_user\":\"the address of the user\"},\"return\":\"the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not*\"},\"getUserBorrowBalances(address,address)\":{\"details\":\"calculates and returns the borrow balances of the user\",\"params\":{\"_reserve\":\"the address of the reserve\",\"_user\":\"the address of the user\"},\"return\":\"the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance*\"},\"getUserCurrentBorrowRateMode(address,address)\":{\"details\":\"users with no loans in progress have NONE as borrow rate mode\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the borrow rate mode for the user,*\"},\"getUserCurrentStableBorrowRate(address,address)\":{\"details\":\"the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the user stable rate*\"},\"getUserLastUpdate(address,address)\":{\"details\":\"the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the variable borrow index for the user*\"},\"getUserOriginationFee(address,address)\":{\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the origination fee for the user*\"},\"getUserUnderlyingAssetBalance(address,address)\":{\"details\":\"gets the underlying asset balance of a user based on the corresponding aToken balance.\",\"params\":{\"_reserve\":\"the reserve address\",\"_user\":\"the user address\"},\"return\":\"the underlying deposit balance of the user*\"},\"getUserVariableBorrowCumulativeIndex(address,address)\":{\"details\":\"the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\",\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"the variable borrow index for the user*\"},\"initReserve(address,address,uint256,address)\":{\"details\":\"initializes a reserve\",\"params\":{\"_aTokenAddress\":\"the address of the overlying aToken contract\",\"_decimals\":\"the decimals of the reserve currency\",\"_interestRateStrategyAddress\":\"the address of the interest rate strategy contract*\",\"_reserve\":\"the address of the reserve\"}},\"initialize(address)\":{\"details\":\"initializes the Core contract, invoked upon registration on the AddressesProvider\",\"params\":{\"_addressesProvider\":\"the addressesProvider contract*\"}},\"isReserveBorrowingEnabled(address)\":{\"details\":\"returns true if the reserve is enabled for borrowing\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is enabled for borrowing, false otherwise*\"},\"isReserveUsageAsCollateralEnabled(address)\":{\"details\":\"returns true if the reserve is enabled as collateral\",\"params\":{\"_reserve\":\"the reserve address\"},\"return\":\"true if the reserve is enabled as collateral, false otherwise*\"},\"isUserAllowedToBorrowAtStable(address,address,uint256)\":{\"details\":\"checks if a user is allowed to borrow at a stable rate\",\"params\":{\"_amount\":\"the amount the the user wants to borrow\",\"_reserve\":\"the reserve address\",\"_user\":\"the user\"},\"return\":\"true if the user is allowed to borrow at a stable rate, false otherwise*\"},\"isUserUseReserveAsCollateralEnabled(address,address)\":{\"params\":{\"_reserve\":\"the address of the reserve for which the information is needed\",\"_user\":\"the address of the user for which the information is needed\"},\"return\":\"true if the user has chosen to use the reserve as collateral, false otherwise*\"},\"liquidateFee(address,uint256,address)\":{\"details\":\"transfers the fees to the fees collection address in the case of liquidation\",\"params\":{\"_amount\":\"the amount being transferred\",\"_destination\":\"the fee receiver address*\",\"_token\":\"the address of the token being transferred\"}},\"refreshConfiguration()\":{\"details\":\"updates the lending pool core configuration*\"},\"removeLastAddedReserve(address)\":{\"details\":\"removes the last added reserve in the reservesList array\",\"params\":{\"_reserveToRemove\":\"the address of the reserve*\"}},\"setReserveBaseLTVasCollateral(address,uint256)\":{\"params\":{\"_ltv\":\"the new loan to value*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveDecimals(address,uint256)\":{\"params\":{\"_decimals\":\"the decimals of the reserve*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveInterestRateStrategyAddress(address,address)\":{\"details\":\"updates the address of the interest rate strategy contract\",\"params\":{\"_rateStrategyAddress\":\"the address of the interest rate strategy contract*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveLiquidationBonus(address,uint256)\":{\"params\":{\"_bonus\":\"the new liquidation bonus*\",\"_reserve\":\"the address of the reserve\"}},\"setReserveLiquidationThreshold(address,uint256)\":{\"params\":{\"_reserve\":\"the address of the reserve\",\"_threshold\":\"the new liquidation threshold*\"}},\"setUserUseReserveAsCollateral(address,address,bool)\":{\"details\":\"enables or disables a reserve as collateral\",\"params\":{\"_reserve\":\"the address of the principal reserve where the user deposited\",\"_useAsCollateral\":\"true if the depositor wants to use the reserve as collateral*\",\"_user\":\"the address of the depositor\"}},\"transferToFeeCollectionAddress(address,address,uint256,address)\":{\"details\":\"transfers the protocol fees to the fees collection address\",\"params\":{\"_amount\":\"the amount being transferred\",\"_destination\":\"the fee receiver address*\",\"_token\":\"the address of the token being transferred\",\"_user\":\"the address of the user from where the transfer is happening\"}},\"transferToReserve(address,address,uint256)\":{\"details\":\"transfers an amount from a user to the destination reserve\",\"params\":{\"_amount\":\"the amount being transferred*\",\"_reserve\":\"the address of the reserve where the amount is being transferred\",\"_user\":\"the address of the user from where the transfer is happening\"}},\"transferToUser(address,address,uint256)\":{\"details\":\"transfers to the user a specific amount from the reserve.\",\"params\":{\"_amount\":\"the amount being transferred*\",\"_reserve\":\"the address of the reserve where the transfer is happening\",\"_user\":\"the address of the user receiving the transfer\"}},\"unfreezeReserve(address)\":{\"params\":{\"_reserve\":\"the address of the reserve*\"}},\"updateStateOnBorrow(address,address,uint256,uint256,uint8)\":{\"details\":\"updates the state of the core as a consequence of a borrow action.\",\"params\":{\"_amountBorrowed\":\"the new amount borrowed\",\"_borrowFee\":\"the fee on the amount borrowed\",\"_rateMode\":\"the borrow rate mode (stable, variable)\",\"_reserve\":\"the address of the reserve on which the user is borrowing\",\"_user\":\"the address of the borrower\"},\"return\":\"the new borrow rate for the user*\"},\"updateStateOnDeposit(address,address,uint256,bool)\":{\"details\":\"updates the state of the core as a result of a deposit action\",\"params\":{\"_amount\":\"the amount being deposited\",\"_isFirstDeposit\":\"true if the user is depositing for the first time*\",\"_reserve\":\"the address of the reserve in which the deposit is happening\",\"_user\":\"the address of the the user depositing\"}},\"updateStateOnFlashLoan(address,uint256,uint256,uint256)\":{\"details\":\"updates the state of the core as a result of a flashloan action\",\"params\":{\"_income\":\"the income of the protocol as a result of the action*\",\"_reserve\":\"the address of the reserve in which the flashloan is happening\"}},\"updateStateOnLiquidation(address,address,address,uint256,uint256,uint256,uint256,uint256,bool)\":{\"details\":\"updates the state of the core as a consequence of a liquidation action.\",\"params\":{\"_amountToLiquidate\":\"the amount being repaid by the liquidator\",\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_collateralReserve\":\"the address of the collateral reserve that is being liquidated\",\"_collateralToLiquidate\":\"the amount of collateral being liquidated\",\"_feeLiquidated\":\"the amount of origination fee being liquidated\",\"_liquidatedCollateralForFee\":\"the amount of collateral equivalent to the origination fee + bonus\",\"_liquidatorReceivesAToken\":\"true if the liquidator will receive aTokens, false otherwise*\",\"_principalReserve\":\"the address of the principal reserve that is being repaid\",\"_user\":\"the address of the borrower\"}},\"updateStateOnRebalance(address,address,uint256)\":{\"details\":\"updates the state of the core as a consequence of a stable rate rebalance\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_reserve\":\"the address of the principal reserve where the user borrowed\",\"_user\":\"the address of the borrower\"},\"return\":\"the new stable rate for the user*\"},\"updateStateOnRedeem(address,address,uint256,bool)\":{\"details\":\"updates the state of the core as a result of a redeem action\",\"params\":{\"_amountRedeemed\":\"the amount being redeemed\",\"_reserve\":\"the address of the reserve in which the redeem is happening\",\"_user\":\"the address of the the user redeeming\",\"_userRedeemedEverything\":\"true if the user is redeeming everything*\"}},\"updateStateOnRepay(address,address,uint256,uint256,uint256,bool)\":{\"details\":\"updates the state of the core as a consequence of a repay action.\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_originationFeeRepaid\":\"the fee on the amount that is being repaid\",\"_paybackAmountMinusFees\":\"the amount being paid back minus fees\",\"_repaidWholeLoan\":\"true if the user is repaying the whole loan*\",\"_reserve\":\"the address of the reserve on which the user is repaying\",\"_user\":\"the address of the borrower\"}},\"updateStateOnSwapRate(address,address,uint256,uint256,uint256,uint8)\":{\"details\":\"updates the state of the core as a consequence of a swap rate action.\",\"params\":{\"_balanceIncrease\":\"the accrued interest on the borrowed amount\",\"_compoundedBorrowBalance\":\"the amount borrowed plus accrued interest\",\"_currentRateMode\":\"the current interest rate mode for the user*\",\"_principalBorrowBalance\":\"the amount borrowed by the user\",\"_reserve\":\"the address of the reserve on which the user is repaying\",\"_user\":\"the address of the borrower\"}}},\"title\":\"LendingPoolCore contract\"},\"userdoc\":{\"methods\":{\"freezeReserve(address)\":{\"notice\":\"allows the configurator to freeze the reserve. A freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\"},\"getReserveIsFreezed(address)\":{\"notice\":\"returns if a reserve is freezed\"},\"getReserveLastUpdate(address)\":{\"notice\":\"returns the timestamp of the last action on the reserve\"},\"setReserveBaseLTVasCollateral(address,uint256)\":{\"notice\":\"allows the configurator to update the loan to value of a reserve\"},\"setReserveDecimals(address,uint256)\":{\"notice\":\"allows the configurator to update the reserve decimals\"},\"setReserveLiquidationBonus(address,uint256)\":{\"notice\":\"allows the configurator to update the liquidation bonus of a reserve\"},\"setReserveLiquidationThreshold(address,uint256)\":{\"notice\":\"allows the configurator to update the liquidation threshold of a reserve\"},\"unfreezeReserve(address)\":{\"notice\":\"allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\"}},\"notice\":\"Holds the state of the lending pool and all the funds deposited\"}},\"settings\":{\"compilationTarget\":{\"/src/contracts/lendingpool/LendingPoolCore.sol\":\"LendingPoolCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/src/contracts/configuration/AddressStorage.sol\":{\"keccak256\":\"0x079fa4d71c003221d60845732d33079b160e5669d06a61c36127bbfe3845b171\",\"urls\":[\"bzz-raw://ab0a2319a9f2df5c8b2b547786bef5b368ab713a1dfd811293eb92b6451f2d3b\",\"dweb:/ipfs/QmPamCovqkLEK34zW6nKreYToxFeE7R11mojiQegAJxZyM\"]},\"/src/contracts/configuration/LendingPoolAddressesProvider.sol\":{\"keccak256\":\"0x356a58b82ecc5f0076de1809cfb09f6560e9cb49b07ba02c507e157022c04bc9\",\"urls\":[\"bzz-raw://604442728d63c1cf25db9659ce7ad4357be9cdd2cb8e29d27a297fe701a077a9\",\"dweb:/ipfs/QmU8oYLESnuMGTY5ZRQRAvK9Gp2SmXxEXcdtju1ZXQJNry\"]},\"/src/contracts/configuration/LendingPoolParametersProvider.sol\":{\"keccak256\":\"0xe3311045f167e00962d4fc8c501a3c294ac00c98f8dd9ad8422b3769186a0e6e\",\"urls\":[\"bzz-raw://c58b5f24f87ef8e3646e0957a9508a3c0bb451295ce4fb0c1d2a8aed947442cf\",\"dweb:/ipfs/QmaE65vTmJFh7cbwD9jJSdfjAVozjfAnFsrBognpeHFN8c\"]},\"/src/contracts/configuration/UintStorage.sol\":{\"keccak256\":\"0x3f74e899243a66d556c0fa81875ab95ed1e3af1909b0281d03fe89590b95121f\",\"urls\":[\"bzz-raw://be1e401270af075398906fbcaaa7d9d9b3e1a9018ee54617d92b0822eb875b27\",\"dweb:/ipfs/QmVC1qpZKqDb2cWegSpQYHzeraowgqfyryvguU19Qb8tgF\"]},\"/src/contracts/flashloan/interfaces/IFlashLoanReceiver.sol\":{\"keccak256\":\"0xa27643e29a0521cfedde2059c8c558a39b4ce17d20e66970fa6770426e9677c9\",\"urls\":[\"bzz-raw://3eddb6e660e2024a8f85f920261e991014ffd50002868084aba9ac40b5331e2a\",\"dweb:/ipfs/QmZ4DQMGS2WUTeejFdJrMrjyCcjd4PhYrqMgP1ZhTdpTnv\"]},\"/src/contracts/interfaces/IFeeProvider.sol\":{\"keccak256\":\"0x62d83cbedcd0922f0398ee3b0e3ffc5c44e73bbc62909f65f8e76e74dffce3c1\",\"urls\":[\"bzz-raw://3914f6d25616d2cb53cf66dd6de32bea21e375b32f855bab6981b7a2a98baa9d\",\"dweb:/ipfs/QmZCwDZnkPcXHxYdiLtTRWGed8YH1SPt8mWJUYs4zXRgMD\"]},\"/src/contracts/interfaces/ILendingPoolAddressesProvider.sol\":{\"keccak256\":\"0xff6bbb9e7fa67ac67f807e4986863fae87d623266b2970cd102b892b5ed185af\",\"urls\":[\"bzz-raw://bd3978e384688d2fb0295ab42b3fe74c331b12d63a0d8c8f70b35d2d99c6c0f4\",\"dweb:/ipfs/QmaLfhk99FPfPNfLvJER9QtrpEKeBzgHVGjRNDYvrqXyWN\"]},\"/src/contracts/interfaces/ILendingRateOracle.sol\":{\"keccak256\":\"0xc8b4cdfd6a34c4b8d74b71815cbe861e7d48e692f0684be8d5de0b395b6b705f\",\"urls\":[\"bzz-raw://1c3586b0ed32ed7673b4e2031cb3af6881d21f20a30f395434bc39fa65de737a\",\"dweb:/ipfs/QmWSF386UA1NShQ7Q7WqozqrumnCWXDSxuFTgrnx4BjJcL\"]},\"/src/contracts/interfaces/IPriceOracleGetter.sol\":{\"keccak256\":\"0x93029efa2eb448ce5db3a43ac65b8972d110e57be41ca15efeedd8fee7fe65d0\",\"urls\":[\"bzz-raw://9b3c24f41b7c113a8b7836a04389bdbddae39d1f6a675e82313e6cb83a284561\",\"dweb:/ipfs/QmVJzKqT8nYKC5x5trsDXEQKdGjpcgtNGuBQCnoBHUWPXS\"]},\"/src/contracts/interfaces/IReserveInterestRateStrategy.sol\":{\"keccak256\":\"0xe71862d99b3d8fe7127a56cb33faa8e2eada7fc80bce6a287d44db85e1c513d7\",\"urls\":[\"bzz-raw://483b14a8cf4b5fdf85b7d0c19152a06ff339660613c5eb51483324964ce177c2\",\"dweb:/ipfs/QmNRe9X1gwXka9wVcMkAV9n3SBPgEpV6bNsMsyGhLqrdm9\"]},\"/src/contracts/lendingpool/LendingPool.sol\":{\"keccak256\":\"0xef91d23cb64c8dd2de9c744684bd2ed31fd3a33f414fd76df2c8e7382b92f9b0\",\"urls\":[\"bzz-raw://f5634207dc071b4dcd07f9e47895442ecb08bba28adf615b93394ccade34be70\",\"dweb:/ipfs/QmadpwuC5EJddsdPtkDcFfSwTzu1L34scVqtPc38nMXj51\"]},\"/src/contracts/lendingpool/LendingPoolCore.sol\":{\"keccak256\":\"0x926f146c3a5d647270e7ab6ce040cbe75a371f7065276ea683f76280da169fec\",\"urls\":[\"bzz-raw://cd01379a782628cbdbb3c828966837402430c8b82cd0b466d4921fbdb5549062\",\"dweb:/ipfs/QmQ5KPCEeRMEUqoZxDPg4kL4vH3ULHcpoM6E1jCDLiuvMr\"]},\"/src/contracts/lendingpool/LendingPoolDataProvider.sol\":{\"keccak256\":\"0x41fdf7523036ed4426586e3041666a7ffb898395e89e60314b73f0808adb447e\",\"urls\":[\"bzz-raw://669b4d5084057dec439d82004ee3bfcd308bd17be9be24e829e93fcc7e6a65fd\",\"dweb:/ipfs/QmTEaybrFnU9MY8fb9nz1Xs8HK7dfaGwCxuvheT3fgDUbD\"]},\"/src/contracts/lendingpool/LendingPoolLiquidationManager.sol\":{\"keccak256\":\"0x597df8e69b0a330bbffb182fda79022bff764822cd8326ee60834a1a346b0fdb\",\"urls\":[\"bzz-raw://73a67aa24ac9e3c44d88864799e132d913590097bfd88b46a62b497d8bb1f49e\",\"dweb:/ipfs/QmSsEb4XsDRC9J7owz5tAt7pC82yxuEdjnKEb9TRFVJPVS\"]},\"/src/contracts/libraries/CoreLibrary.sol\":{\"keccak256\":\"0x43f37e31a7282e30514500b91d1b903ad1631a629e3dcef39eeff9451b7f1abc\",\"urls\":[\"bzz-raw://79bcdff9122703983fce65a9da94f19c7ac8b2f232b87ca03399fedf1724112d\",\"dweb:/ipfs/QmZesZ1pDGfTKo4UsjEmcfcBpDY6oZ2kxK6hjDxWRM7jZW\"]},\"/src/contracts/libraries/EthAddressLib.sol\":{\"keccak256\":\"0x6d13f10408208ebff44123254f6db03121a8fb5a73d84c2d94f4e9651932b70d\",\"urls\":[\"bzz-raw://50b64d66e1544fcef496cc68e98cee61cfbab58685dfc4d57f73a1308e3aec2a\",\"dweb:/ipfs/QmQwJ5ZpaNjrfREruW7RzppzbEv8Mxxj5Ln87DX1i1iXW5\"]},\"/src/contracts/libraries/WadRayMath.sol\":{\"keccak256\":\"0xd33b3937184662d2aa14e66dafc07668d3fa63b30239f08b5da89ca00cbb52e7\",\"urls\":[\"bzz-raw://443ba21403ca8dab125a37d2c4045ce9318bb5cfc7770798bc810c571f3d9012\",\"dweb:/ipfs/QmR8gmyvn3G2MWN8FuYJiEGzVMzgew6Y8n856MunFcXKZm\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/BaseAdminUpgradeabilityProxy.sol\":{\"keccak256\":\"0xf2e16a1f8871ef17d0401642558c4f1596f6524859fa01443cfde837c2879544\",\"urls\":[\"bzz-raw://13199ef810b7f2188fbde76096f5e411c35f2ef6b032e82694b9ab2c8eb8810c\",\"dweb:/ipfs/QmSKPwEwbbJ7GAZveoyqAkQzyskN27WeNfTfP2VKED7zGF\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/BaseUpgradeabilityProxy.sol\":{\"keccak256\":\"0x832aa0ecb5fbd8585fe96d96f7ca6417c318fe29f228f8e8c3b4f382602709d0\",\"urls\":[\"bzz-raw://c3fa785c03ca09e4d68d3addde1d5ba97d96d9a402e7c09fc892e1666fdabad2\",\"dweb:/ipfs/Qmbbof1LwgU1cgpW8L3zQeMW6iyjGM24qJBZ7aVVwjqgoC\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/InitializableAdminUpgradeabilityProxy.sol\":{\"keccak256\":\"0x21e6b79157ff2014d20b18a380d9b0bdedc5fcb220d7210ba52e78de288dca28\",\"urls\":[\"bzz-raw://4e49eb1a180bc34c74ca96c9982ff93c2c8f4410dd6d7861ace0959936e1857d\",\"dweb:/ipfs/QmV4HjFmkyx2sMj6Ghda5XNYFKtHL5QG9qbagtHdzPVKAM\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/InitializableUpgradeabilityProxy.sol\":{\"keccak256\":\"0x90dd0f65ee16a11f2c1f413bf13dc8b153b8c41854c8c3965b42f99a2200cd1d\",\"urls\":[\"bzz-raw://3e14953656bbc19d812ee9fc418a4df69100782194ca95bf757f3987a718be66\",\"dweb:/ipfs/QmcTmFcZMbesvtScuRYenfiPdHXbG9sWxPRswHdsFGozRB\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/Proxy.sol\":{\"keccak256\":\"0xd8dcdaaf2f03c606a569d91506958bf78df9adfb41df76727857e5dfe956e872\",\"urls\":[\"bzz-raw://1d780033022b07478621ce08cd4e668603fc899ae3212a883eea23347937e8d5\",\"dweb:/ipfs/QmVZkBHpdDjko87qT4597e3UZ5uYdrEfPYbamEjBep52Se\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/UpgradeabilityProxy.sol\":{\"keccak256\":\"0x5829b59012f64d1ce3ae6b98a61ddf5d6daa6e6f1a54e336ce910c8afd415c69\",\"urls\":[\"bzz-raw://28cba7d1f3d67aab91a4f88df4cb63762b443c31cb62a87e957add0b43dc8e1a\",\"dweb:/ipfs/QmUXzpQDBXA2xGSNRqjn3VMJ3o8RXmpATieU9ovvk6QDAD\"]},\"/src/contracts/libraries/openzeppelin-upgradeability/VersionedInitializable.sol\":{\"keccak256\":\"0x8691eb3d853842f32d3b1e65c788f3db226901ec82c3de52c21eb029dc7f545b\",\"urls\":[\"bzz-raw://c46f6c422db674265552cb12abce67088e23fbec2723a5d1173058e2b0f3378a\",\"dweb:/ipfs/QmXnBcGWAX8wAvZngxxVwvAPKpxnZ8ABdWKaf8cYb25qns\"]},\"/src/contracts/tokenization/AToken.sol\":{\"keccak256\":\"0x53e5167142bfbfe0367f8101996353d718e79bbdd100eae9c4ee4fc3ab503e14\",\"urls\":[\"bzz-raw://806418e40e4bb0a03fcdbb578e77d4fc14464f5a3df348b6f51b83cdaef7db77\",\"dweb:/ipfs/QmSixjXLSHJiWhkPaaiWBxtKxrzwSuhwG7iSFWGMFTY2ah\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x4ccf2d7b51873db1ccfd54ca2adae5eac3b184f9699911ed4490438419f1c690\",\"urls\":[\"bzz-raw://d62d769b2219d5de39013093412623e624fa887f871826ea3bae6052ee893610\",\"dweb:/ipfs/QmV3yVktya1s617QmuzQR2CfuJgUi3dR2xEZY9ecmqZ2G1\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzz-raw://cd3429aa9a4878dcf6c73faa32c3722f4013d4be012ece543b246faa6b50f55c\",\"dweb:/ipfs/QmS55hgTvNEAKinus19m65CB4wcymN8EiUPFpRx5tYJ1i2\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x852793a3c2f86d336a683b30d688ec3dcfc57451af5a2bf5975cda3b7191a901\",\"urls\":[\"bzz-raw://4f5b57664069671648fb81f55b0082faecdf1b2f159eec6b1fa6cef9b7d73bc5\",\"dweb:/ipfs/QmcyytaLs7zFdb4Uu7C5PmQRhQdB3wA3fUdkV6mkYfdDFH\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0xc61b3603089b09a730d8ca72e9133a496cc4405da40e9b87c12f073245d774bf\",\"urls\":[\"bzz-raw://de8bb0003d53de236913f0e0102e7a9d015e02098f2495edd000f207fe2be2f4\",\"dweb:/ipfs/QmbtwNwAJEehWWL7yGGyyMoenQvcqtz91pqLgQPpLRoLYC\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzz-raw://d0abb99bb8bfc2bc0a89902b8ed1dc0442ad08cc78cee64c291b3df6a27bcccc\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]},\"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf6f89424e17870561dc23c5933c55c5726b66a68d51ad2a2c00c569a5f02f507\",\"urls\":[\"bzz-raw://005657a7ffbf6d12726ac0167b55be965dc473d43f061b605f883a54cc00ab4f\",\"dweb:/ipfs/QmaBzyvDQyNnn6DXQYewEtN9Go85orikSnW9PwNWqUGPEX\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf3358e5819ca73357abd6c90bdfffd0474af54364897f6b3e3234c4b71fbe9a1\",\"urls\":[\"bzz-raw://75ae8d04454d1511a2ed986cc8585736f05c5c25280683b3d24712a9f414a4bf\",\"dweb:/ipfs/Qmb3kNCoBUZdah1AgBBD4zMk898j5Qw8ahT1w5cCMYp5Y3\"]},\"openzeppelin-solidity/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x0441ff2b36d503f3a29d28d3754291f119064f4973d5c780698143d919037a78\",\"urls\":[\"bzz-raw://af27dd68d2371e68c8ed8cf297ec6d832bf906742d53367b70399ba918060cb7\",\"dweb:/ipfs/QmcMMjZceFepXgRrzSx577oWwt7SCSFzoqZiTF7tTxquF7\"]}},\"version\":1}", + "bytecode": "0x60806040526000805534801561001457600080fd5b506157ea80620000256000396000f3fe60806040526004361061041b5760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f6148311146113bf578063f6ea8d7614611443578063fa51854c1461147e578063fa93b2a5146114c3578063feab31ac146115065761041b565b8063e8ae2f5b146112eb578063eede87c11461131e578063ef1f937314611359578063f054ab461461138c5761041b565b8063dae4c4e7116100f2578063dae4c4e7146111d4578063e10076ad14611207578063e2174d8614611242578063e240301914611285578063e6d18190146112b85761041b565b8063d15e0053146110fc578063d3ae26b31461112f578063d466016f14611144578063da12d96f1461117d5761041b565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e14611012578063c72c4d1014611045578063c76a6c9c1461105a578063c7d142371461108d578063d06e2ec1146110c95761041b565b8063bd7fd79a14610f46578063bfacad8414610f79578063c33cfd9014610fac578063c4d66de814610fdf5761041b565b8063afcdbea3116101ed578063afcdbea314610e17578063b701d09314610e62578063b75d6f3414610e95578063b8c0f74514610ec8578063bcd6ffa414610efb5761041b565b8063a2353fdc14610d29578063a5bc826c14610d5c578063a8dc0f4514610da1578063af825b0714610dd45761041b565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a4114610bfc57806398bd473714610c2f5780639e3c4f3b14610c625780639e67484814610c9d5780639fb8afcd14610cd05761041b565b80637aca76eb14610b2d5780637f90fec514610b6057806388079d8814610b935780638f385c2214610bc65761041b565b806366d103f3116102f357806366d103f3146109e057806368beb4d614610a1b5780636ae1441614610a865780636fffab0c14610ab957806370fb84f414610af45761041b565b80635cf2e656146109045780635fc526ff14610937578063646810831461099257806366bbd928146109a75761041b565b80633443a14b116103a757806345330a401161037657806345330a40146107de57806346bc0f28146108275780634a08accb1461085a5780634f1446091461088d5780634fe7a6e5146108da5761041b565b80633443a14b146106b757806334b3beee146106f057806337ac6fe41461073f5780633e72a454146107ab5761041b565b806318a4dbca116103ee57806318a4dbca1461057957806318f9bbae146105b45780631ca19f19146105e75780631d2118f91461064657806328fcf4d3146106815761041b565b806305075d6e146104615780630902f1ac146104a857806309ac29531461050d5780630c7de4e914610552575b61042433611541565b61045f5760405162461bcd60e51b815260040180806020018281038252603681526020018061551a6036913960400191505060405180910390fd5b005b34801561046d57600080fd5b506104946004803603602081101561048457600080fd5b50356001600160a01b031661154b565b604080519115158252519081900360200190f35b3480156104b457600080fd5b506104bd611573565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104f95781810151838201526020016104e1565b505050509050019250505060405180910390f35b34801561051957600080fd5b5061045f6004803603608081101561053057600080fd5b506001600160a01b0381351690602081013590604081013590606001356115d5565b34801561055e57600080fd5b506105676116a3565b60408051918252519081900360200190f35b34801561058557600080fd5b506105676004803603604081101561059c57600080fd5b506001600160a01b03813581169160200135166116a8565b3480156105c057600080fd5b50610494600480360360208110156105d757600080fd5b50356001600160a01b031661173b565b3480156105f357600080fd5b506106226004803603604081101561060a57600080fd5b506001600160a01b0381358116916020013516611763565b6040518082600281111561063257fe5b60ff16815260200191505060405180910390f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b506001600160a01b03813581169160200135166117b8565b61045f6004803603606081101561069757600080fd5b506001600160a01b0381358116916020810135909116906040013561189e565b3480156106c357600080fd5b5061045f600480360360408110156106da57600080fd5b506001600160a01b038135169060200135611a69565b3480156106fc57600080fd5b506107236004803603602081101561071357600080fd5b50356001600160a01b0316611b3d565b604080516001600160a01b039092168252519081900360200190f35b34801561074b57600080fd5b50610792600480360360a081101561076257600080fd5b5080356001600160a01b03908116916020810135909116906040810135906060810135906080013560ff16611b5e565b6040805192835260208301919091528051918290030190f35b3480156107b757600080fd5b5061045f600480360360208110156107ce57600080fd5b50356001600160a01b0316611bfe565b3480156107ea57600080fd5b5061045f6004803603608081101561080157600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516611cda565b34801561083357600080fd5b506105676004803603602081101561084a57600080fd5b50356001600160a01b0316611e34565b34801561086657600080fd5b506104946004803603602081101561087d57600080fd5b50356001600160a01b0316611e52565b34801561089957600080fd5b506108c0600480360360208110156108b057600080fd5b50356001600160a01b0316611e7a565b6040805164ffffffffff9092168252519081900360200190f35b3480156108e657600080fd5b50610723600480360360208110156108fd57600080fd5b5035611ea6565b34801561091057600080fd5b506104946004803603602081101561092757600080fd5b50356001600160a01b0316611ecd565b34801561094357600080fd5b5061096a6004803603602081101561095a57600080fd5b50356001600160a01b0316611ef5565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561099e57600080fd5b5061045f611f33565b3480156109b357600080fd5b5061045f600480360360408110156109ca57600080fd5b506001600160a01b038135169060200135611ff2565b3480156109ec57600080fd5b5061056760048036036040811015610a0357600080fd5b506001600160a01b03813581169160200135166120c6565b348015610a2757600080fd5b5061045f6004803603610120811015610a3f57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a08101359060c08101359060e081013590610100013515156120fc565b348015610a9257600080fd5b5061072360048036036020811015610aa957600080fd5b50356001600160a01b031661219e565b348015610ac557600080fd5b5061056760048036036040811015610adc57600080fd5b506001600160a01b03813581169160200135166121bf565b348015610b0057600080fd5b5061045f60048036036040811015610b1757600080fd5b506001600160a01b0381351690602001356121ee565b348015610b3957600080fd5b5061045f60048036036020811015610b5057600080fd5b50356001600160a01b03166122c2565b348015610b6c57600080fd5b5061056760048036036020811015610b8357600080fd5b50356001600160a01b03166123a4565b348015610b9f57600080fd5b5061056760048036036020811015610bb657600080fd5b50356001600160a01b03166123c2565b61045f60048036036060811015610bdc57600080fd5b506001600160a01b038135811691602081013591604090910135166124ea565b348015610c0857600080fd5b5061056760048036036020811015610c1f57600080fd5b50356001600160a01b0316612600565b348015610c3b57600080fd5b5061056760048036036020811015610c5257600080fd5b50356001600160a01b03166126b0565b348015610c6e57600080fd5b5061049460048036036040811015610c8557600080fd5b506001600160a01b03813581169160200135166126ce565b348015610ca957600080fd5b5061049460048036036020811015610cc057600080fd5b50356001600160a01b0316612707565b348015610cdc57600080fd5b50610d0b60048036036040811015610cf357600080fd5b506001600160a01b038135811691602001351661272f565b60408051938452602084019290925282820152519081900360600190f35b348015610d3557600080fd5b5061056760048036036020811015610d4c57600080fd5b50356001600160a01b03166127ba565b348015610d6857600080fd5b5061045f60048036036080811015610d7f57600080fd5b506001600160a01b0381351690602081013590604081013590606001356127d8565b348015610dad57600080fd5b5061045f60048036036020811015610dc457600080fd5b50356001600160a01b0316612926565b348015610de057600080fd5b5061056760048036036060811015610df757600080fd5b506001600160a01b03813581169160208101359091169060400135612a55565b348015610e2357600080fd5b5061045f60048036036080811015610e3a57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612af5565b348015610e6e57600080fd5b5061056760048036036020811015610e8557600080fd5b50356001600160a01b0316612b7d565b348015610ea157600080fd5b5061045f60048036036020811015610eb857600080fd5b50356001600160a01b0316612b9b565b348015610ed457600080fd5b5061045f60048036036020811015610eeb57600080fd5b50356001600160a01b0316612cce565b348015610f0757600080fd5b5061045f60048036036080811015610f1e57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612daa565b348015610f5257600080fd5b5061056760048036036020811015610f6957600080fd5b50356001600160a01b0316612e32565b348015610f8557600080fd5b5061056760048036036020811015610f9c57600080fd5b50356001600160a01b0316612e4d565b348015610fb857600080fd5b5061056760048036036020811015610fcf57600080fd5b50356001600160a01b0316612eb7565b348015610feb57600080fd5b5061045f6004803603602081101561100257600080fd5b50356001600160a01b0316612ef0565b34801561101e57600080fd5b506105676004803603602081101561103557600080fd5b50356001600160a01b0316612faf565b34801561105157600080fd5b50610723612fcd565b34801561106657600080fd5b506105676004803603602081101561107d57600080fd5b50356001600160a01b0316612fdc565b61045f600480360360808110156110a357600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516612ffa565b3480156110d557600080fd5b5061045f600480360360208110156110ec57600080fd5b50356001600160a01b03166131ac565b34801561110857600080fd5b506105676004803603602081101561111f57600080fd5b50356001600160a01b03166133b1565b34801561113b57600080fd5b506107236133d2565b34801561115057600080fd5b5061045f6004803603604081101561116757600080fd5b506001600160a01b0381351690602001356133e1565b34801561118957600080fd5b5061045f600480360360c08110156111a057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a0013515156134b5565b3480156111e057600080fd5b5061045f600480360360208110156111f757600080fd5b50356001600160a01b0316613524565b34801561121357600080fd5b5061096a6004803603604081101561122a57600080fd5b506001600160a01b0381358116916020013516613606565b34801561124e57600080fd5b506104946004803603606081101561126557600080fd5b506001600160a01b038135811691602081013590911690604001356136b3565b34801561129157600080fd5b50610567600480360360208110156112a857600080fd5b50356001600160a01b0316613749565b3480156112c457600080fd5b50610567600480360360208110156112db57600080fd5b50356001600160a01b03166137ed565b3480156112f757600080fd5b5061045f6004803603602081101561130e57600080fd5b50356001600160a01b031661380e565b34801561132a57600080fd5b5061045f6004803603604081101561134157600080fd5b506001600160a01b0381351690602001351515613929565b34801561136557600080fd5b5061045f6004803603602081101561137c57600080fd5b50356001600160a01b0316613a60565b34801561139857600080fd5b50610567600480360360208110156113af57600080fd5b50356001600160a01b0316613b3c565b3480156113cb57600080fd5b50611418600480360360c08110156113e257600080fd5b5080356001600160a01b039081169160208101359091169060408101359060608101359060808101359060a0013560ff16613b5a565b6040518083600281111561142857fe5b60ff1681526020018281526020019250505060405180910390f35b34801561144f57600080fd5b506105676004803603604081101561146657600080fd5b506001600160a01b0381358116916020013516613bec565b34801561148a57600080fd5b5061045f600480360360608110156114a157600080fd5b506001600160a01b038135811691602081013590911690604001351515613c1b565b3480156114cf57600080fd5b5061045f600480360360608110156114e657600080fd5b506001600160a01b03813581169160208101359091169060400135613cad565b34801561151257600080fd5b506105676004803603604081101561152957600080fd5b506001600160a01b0381358116916020013516613dd4565b803b15155b919050565b6001600160a01b03166000908152603660205260409020600d0154600160e01b900460ff1690565b606060388054806020026020016040519081016040528092919081815260200182805480156115cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ad575b5050505050905090565b6034546001600160a01b0316331461161e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6116288482613e03565b6001600160a01b038416600090815260366020526040902061164990613f40565b6000611664611657866137ed565b859063ffffffff613fd816565b6001600160a01b038616600090815260366020526040902090915061169090828563ffffffff61403216565b61169c85846000614090565b5050505050565b600781565b6001600160a01b038083166000908152603660209081526040808320600c015481516370a0823160e01b8152868616600482015291519394169283926370a082319260248082019391829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50519150505b92915050565b6001600160a01b03166000908152603660205260409020600d0154600160d01b900460ff1690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052908120805461179a576000915050611735565b60008160030154116117ad5760026117b0565b60015b949350505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156117fc57600080fd5b505afa158015611810573d6000803e3d6000fd5b505050506040513d602081101561182657600080fd5b50516001600160a01b03161461186d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039182166000908152603660205260409020600d0180546001600160a01b03191691909216179055565b6034546001600160a01b031633146118e75760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6118ef614235565b6001600160a01b0316836001600160a01b0316146119645734156119445760405162461bcd60e51b81526004018080602001828103825260328152602001806155b06032913960400191505060405180910390fd5b61195f6001600160a01b03841683308463ffffffff61424d16565b611a64565b803410156119a35760405162461bcd60e51b81526004018080602001828103825260358152602001806154e56035913960400191505060405180910390fd5b80341115611a645760006119bd348363ffffffff6142a716565b6040519091506000906001600160a01b0385169061c35090849084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b606091505b505090508061169c576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611aad57600080fd5b505afa158015611ac1573d6000803e3d6000fd5b505050506040513d6020811015611ad757600080fd5b50516001600160a01b031614611b1e5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060090155565b6001600160a01b039081166000908152603660205260409020600c01541690565b60345460009081906001600160a01b03163314611bac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b600080611bb9898961272f565b9250509150611bcc898984848b8a614304565b611bda898989848a8a614333565b611be689600089614090565b611bf08989614458565b999098509650505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d6020811015611c6c57600080fd5b50516001600160a01b031614611cb35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e01b19169055565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611d1e57600080fd5b505afa158015611d32573d6000803e3d6000fd5b505050506040513d6020811015611d4857600080fd5b50516001600160a01b031614611d8f5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0380851660009081526036602052604080822081516304dda73560e21b8152600481019190915286841660248201526044810186905292841660648401525173__CoreLibrary___________________________926313769cd4926084808301939192829003018186803b158015611e0d57600080fd5b505af4158015611e21573d6000803e3d6000fd5b50505050611e2e846144ea565b50505050565b6001600160a01b031660009081526036602052604090206006015490565b6001600160a01b03166000908152603660205260409020600d0154600160e81b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160a01b900464ffffffffff1690565b60388181548110611eb357fe5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03166000908152603660205260409020600d0154600160c81b900460ff1690565b6001600160a01b03166000908152603660205260409020600b81015460088201546009830154600d909301549193909291600160d01b900460ff1690565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611f7757600080fd5b505afa158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b50516001600160a01b031614611fe85760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b611ff061458e565b565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b50516001600160a01b0316146120a75760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600b0155565b6001600160a01b0390811660009081526037602090815260408083209490931682529290925290206004015464ffffffffff1690565b6034546001600160a01b031633146121455760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b61215189888885614629565b61215a886146e2565b6121678988888786614706565b61217389876000614090565b806121935761219388600061218e888763ffffffff613fd816565b614090565b505050505050505050565b6001600160a01b039081166000908152603660205260409020600d01541690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206003015492915050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050506040513d602081101561225c57600080fd5b50516001600160a01b0316146122a35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600a0155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561230657600080fd5b505afa15801561231a573d6000803e3d6000fd5b505050506040513d602081101561233057600080fd5b50516001600160a01b0316146123775760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b1916600160e81b179055565b6001600160a01b031660009081526036602052604090206002015490565b6001600160a01b0380821660009081526036602090815260408083206035548251631b0c55dd60e11b815292519495919486949190921692633618abba9260048083019392829003018186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d602081101561244557600080fd5b505160058301549091506124df57806001600160a01b031663bb85c0bb856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124a957600080fd5b505afa1580156124bd573d6000803e3d6000fd5b505050506040513d60208110156124d357600080fd5b50519250611546915050565b506005015492915050565b6034546001600160a01b031633146125335760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b8034156125715760405162461bcd60e51b815260040180806020018281038252603681526020018061545f6036913960400191505060405180910390fd5b612579614235565b6001600160a01b0316846001600160a01b0316146125b0576125ab6001600160a01b038516828563ffffffff6147b816565b611e2e565b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b6001600160a01b038116600090815260366020526040812060048101546126a65780600d0160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b15801561267157600080fd5b505afa158015612685573d6000803e3d6000fd5b505050506040513d602081101561269b57600080fd5b505191506115469050565b6004015492915050565b6001600160a01b031660009081526036602052604090206003015490565b6001600160a01b03908116600090815260376020908152604080832094909316825292909252902060040154600160281b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160d81b900460ff1690565b6001600160a01b03808216600090815260376020908152604080832093861683529290529081208054829182916127705750600092508291508190506127b3565b80546001600160a01b038716600090815260366020526040812061279590849061480a565b905081816127a9818363ffffffff6142a716565b9550955095505050505b9250925092565b6001600160a01b03166000908152603660205260409020600b015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561281c57600080fd5b505afa158015612830573d6000803e3d6000fd5b505050506040513d602081101561284657600080fd5b50516001600160a01b03161461288d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b038416600090815260366020526040808220815163126ee27360e11b81526004810191909152602481018690526044810185905260648101849052905173__CoreLibrary___________________________926324ddc4e69260848082019391829003018186803b15801561290857600080fd5b505af415801561291c573d6000803e3d6000fd5b5050505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561296a57600080fd5b505afa15801561297e573d6000803e3d6000fd5b505050506040513d602081101561299457600080fd5b50516001600160a01b0316146129db5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03811660009081526036602052604080822081516372efab5360e11b81526004810191909152905173__CoreLibrary___________________________9263e5df56a69260248082019391829003018186803b158015612a4157600080fd5b505af415801561169c573d6000803e3d6000fd5b6034546000906001600160a01b03163314612aa15760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b612aac8484846148fc565b612ab784848461494c565b612ac384600080614090565b506001600160a01b038083166000908152603760209081526040808320938716835292905220600301545b9392505050565b6034546001600160a01b03163314612b3e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612b5f90613f40565b612b6b84600084614090565b8015611e2e57611e2e84846000613c1b565b6001600160a01b031660009081526036602052604090206007015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612bdf57600080fd5b505afa158015612bf3573d6000803e3d6000fd5b505050506040513d6020811015612c0957600080fd5b50516001600160a01b031614612c505760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260409020805415801590612c7c575060008160070154115b612cb75760405162461bcd60e51b81526004018080602001828103825260248152602001806156a86024913960400191505060405180910390fd5b600d01805460ff60e01b1916600160e01b17905550565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612d1257600080fd5b505afa158015612d26573d6000803e3d6000fd5b505050506040513d6020811015612d3c57600080fd5b50516001600160a01b031614612d835760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b19169055565b6034546001600160a01b03163314612df35760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612e1490613f40565b612e2084836000614090565b8015611e2e57611e2e84846001613c1b565b6001600160a01b031660009081526036602052604090205490565b6001600160a01b038116600090815260366020526040812081612e6f826149b5565b905080612e8157600092505050611546565b6000612e8c85613749565b9050612eae612ea1828463ffffffff613fd816565b839063ffffffff6149d216565b95945050505050565b6001600160a01b0381166000908152603660205260408120612aee612edb826149b5565b612ee485613749565b9063ffffffff613fd816565b6000612efa614a0e565b60015490915060ff1680612f115750612f11614a13565b80612f1d575060005481115b612f585760405162461bcd60e51b815260040180806020018281038252602e815260200180615711602e913960400191505060405180910390fd5b60015460ff16158015612f77576001805460ff19168117905560008290555b603580546001600160a01b0319166001600160a01b038516179055612f9a61458e565b8015611a64576001805460ff19169055505050565b6001600160a01b031660009081526036602052604090206001015490565b6035546001600160a01b031681565b6001600160a01b03166000908152603660205260409020600a015490565b6034546001600160a01b031633146130435760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b8061304c614235565b6001600160a01b0316856001600160a01b0316146130c15734156130a15760405162461bcd60e51b815260040180806020018281038252605f8152602001806155e2605f913960600191505060405180910390fd5b6130bc6001600160a01b03861685838663ffffffff61424d16565b61169c565b823410156131005760405162461bcd60e51b81526004018080602001828103825260358152602001806154e56035913960400191505060405180910390fd5b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114613150576040519150601f19603f3d011682016040523d82523d6000602084013e613155565b606091505b50509050806131a4576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156131f057600080fd5b505afa158015613204573d6000803e3d6000fd5b505050506040513d602081101561321a57600080fd5b50516001600160a01b0316146132615760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6038805460009190600019810190811061327757fe5b6000918252602090912001546001600160a01b039081169150821681146132cf5760405162461bcd60e51b815260040180806020018281038252603d815260200180615573603d913960400191505060405180910390fd5b6132d8816137ed565b156133145760405162461bcd60e51b81526004018080602001828103825260308152602001806156416030913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260408120600d81018054600c830180546001600160a01b0319169055600b8301849055838355600783018490556008830184905560098301849055600a90920192909255600168ff00ffff000000000160a01b0319169055603880548061338b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0381166000908152603660205260408120612aee81614a19565b6034546001600160a01b031681565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561342557600080fd5b505afa158015613439573d6000803e3d6000fd5b505050506040513d602081101561344f57600080fd5b50516001600160a01b0316146134965760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060080155565b6034546001600160a01b031633146134fe5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b61350a86868685614a47565b613518868686868686614aae565b6131a486856000614090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561356857600080fd5b505afa15801561357c573d6000803e3d6000fd5b505050506040513d602081101561359257600080fd5b50516001600160a01b0316146135d95760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b1916600160d81b179055565b6001600160a01b03808316600081815260366020908152604080832094861683526037825280832093835292905290812090918291829182918261364a89896116a8565b8254909150613677576004909101549095506000945084935060ff600160281b9091041691506136aa9050565b80613688838563ffffffff61480a16565b6002840154600490940154919850965091945050600160281b900460ff169150505b92959194509250565b6001600160a01b038381166000818152603660209081526040808320948716835260378252808320938352929052908120600d830154919291600160d81b900460ff1661370557600092505050612aee565b6004810154600160281b900460ff16158061372c5750600d820154600160d01b900460ff16155b8061373f575061373c86866116a8565b84115b9695505050505050565b600080613754614235565b6001600160a01b0316836001600160a01b03161415613774575047611735565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156137ba57600080fd5b505afa1580156137ce573d6000803e3d6000fd5b505050506040513d60208110156137e457600080fd5b50519392505050565b6001600160a01b0381166000908152603660205260408120611735906149b5565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561385257600080fd5b505afa158015613866573d6000803e3d6000fd5b505050506040513d602081101561387c57600080fd5b50516001600160a01b0316146138c35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b038116600090815260366020526040808220815163041e0b2d60e51b81526004810191909152905173__CoreLibrary___________________________926383c165a09260248082019391829003018186803b158015612a4157600080fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561396d57600080fd5b505afa158015613981573d6000803e3d6000fd5b505050506040513d602081101561399757600080fd5b50516001600160a01b0316146139de5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0382166000908152603660205260408082208151637b1dd5df60e11b815260048101919091528315156024820152905173__CoreLibrary___________________________9263f63babbe9260448082019391829003018186803b158015613a4c57600080fd5b505af41580156131a4573d6000803e3d6000fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b50516001600160a01b031614613b155760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b19169055565b6001600160a01b031660009081526036602052604090206009015490565b60345460009081906001600160a01b03163314613ba85760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b613bb58888888887614b2b565b6000613bc389898787614c2a565b9050613bd189600080614090565b80613bdc8a8a614458565b9250925050965096945050505050565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206001015492915050565b6034546001600160a01b03163314613c645760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0391821660009081526037602090815260408083209590941682529390935291206004018054911515600160281b0265ff000000000019909216919091179055565b6034546001600160a01b03163314613cf65760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b613cfe614235565b6001600160a01b0316836001600160a01b031614613d305761195f6001600160a01b038416838363ffffffff6147b816565b6040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114613d80576040519150601f19603f3d011682016040523d82523d6000602084013e613d85565b606091505b5050905080611e2e576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b6001600160a01b0380821660009081526037602090815260408083209386168352929052206002015492915050565b60355460408051637744894b60e11b815290516000926001600160a01b03169163ee891296916004808301926020929190829003018186803b158015613e4857600080fd5b505afa158015613e5c573d6000803e3d6000fd5b505050506040513d6020811015613e7257600080fd5b50519050613e7e614235565b6001600160a01b0316836001600160a01b031614613eb05761195f6001600160a01b038416828463ffffffff6147b816565b6040516000906001600160a01b0383169084908381818185875af1925050503d8060008114613efb576040519150601f19603f3d011682016040523d82523d6000602084013e613f00565b606091505b5050905080611e2e5760405162461bcd60e51b81526004018080602001828103825260248152602001806156ed6024913960400191505060405180910390fd5b6000613f4b826149b5565b90508015613fd4576001820154600d830154600091613f7791600160a01b900464ffffffffff16614d28565b8354909150613f8d90829063ffffffff614d7316565b83556004830154600d840154600091613fb391600160a01b900464ffffffffff16614dab565b9050613fcc846007015482614d7390919063ffffffff16565b600785015550505b5050565b600082820183811015612aee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061405561404084614dfa565b61404984614dfa565b9063ffffffff6149d216565b90506000614071614064614e10565b839063ffffffff613fd816565b855490915061408790829063ffffffff614d7316565b90945550505050565b6001600160a01b0380841660009081526036602052604081206006810154600d820154919390929182918291166357e37af0896140e0896140d48c612ee485613749565b9063ffffffff6142a716565b88600201548960030154896040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b15801561414d57600080fd5b505afa158015614161573d6000803e3d6000fd5b505050506040513d606081101561417757600080fd5b50805160208083015160409384015160018a0184905560058a0182905560048a01819055600d8a01805464ffffffffff4216600160a01b0264ffffffffff60a01b19909116179055895460078b015486518681529485018490528487018b905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a25050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611e2e908590614e20565b6000828211156142fe576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b038616600090815260366020526040902061432590613f40565b6131a4868686868686614fd8565b6001600160a01b038087166000818152603660209081526040808320948a1683526037825280832093835292905220600183600281111561437057fe5b141561438c576005820154600382015560006001820155614403565b600283600281111561439a57fe5b14156143b6576000600382015560078201546001820155614403565b6040805162461bcd60e51b815260206004820152601860248201527f496e76616c696420626f72726f772072617465206d6f64650000000000000000604482015290519081900360640190fd5b805461441b908690612ee4908963ffffffff613fd816565b81556002810154614432908563ffffffff613fd816565b6002820155600401805464ffffffffff19164264ffffffffff1617905550505050505050565b6000806144658484611763565b9050600081600281111561447557fe5b1415614485576000915050611735565b600181600281111561449357fe5b146144b9576001600160a01b0384166000908152603660205260409020600401546117b0565b50506001600160a01b0390811660009081526037602090815260408083209490931682529290925290206003015490565b6000805b60385481101561453757826001600160a01b03166038828154811061450f57fe5b6000918252602090912001546001600160a01b0316141561452f57600191505b6001016144ee565b5080613fd457603880546001810182556000919091527f38395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f4561990180546001600160a01b0384166001600160a01b03199091161790555050565b603560009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156145dc57600080fd5b505afa1580156145f0573d6000803e3d6000fd5b505050506040513d602081101561460657600080fd5b5051603480546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b0380851660008181526036602090815260408083209488168352603782528083209383529290522061466182613f40565b600061466d8787611763565b905060015b81600281111561467e57fe5b14156146b957600382015461469c908490869063ffffffff61513416565b60038201546146b4908490879063ffffffff6151a416565b6146d9565b6146c9838563ffffffff6152af16565b6146d9838663ffffffff6152d016565b50505050505050565b6001600160a01b038116600090815260366020526040902061470390613f40565b50565b6001600160a01b03808516600090815260376020908152604080832093891683529281528282206036909152919020815461474d9086906140d4908663ffffffff613fd816565b8255600261475b8888611763565b600281111561476657fe5b141561477757600781015460018301555b8315614798576002820154614792908563ffffffff6142a716565b60028301555b50600401805464ffffffffff19164264ffffffffff161790555050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a64908490614e20565b815460009061481b57506000611735565b600061482a8460000154614dfa565b600385015490915060009081901561485e5760038601546004870154614857919064ffffffffff16614dab565b90506148a0565b61489d8660010154614049876007015461489189600401548a600d0160149054906101000a900464ffffffffff16614dab565b9063ffffffff614d7316565b90505b6148b86148b3848363ffffffff614d7316565b615328565b86549092508214156148f357600486015464ffffffffff1642146148f35785546148e990600163ffffffff613fd816565b9350505050611735565b50949350505050565b6001600160a01b0380841660008181526036602090815260408083209487168352603782528083209383529290522061493482613f40565b600381015461169c908390859063ffffffff61513416565b6001600160a01b03808316600090815260376020908152604080832093871683529281528282206036909152919020815461498d908463ffffffff613fd816565b8255600501546003820155600401805464ffffffffff19164264ffffffffff16179055505050565b600061173582600301548360020154613fd890919063ffffffff16565b6000600282046117b083614a026149f5876b033b2e3c9fd0803ce8000000615341565b849063ffffffff613fd816565b9063ffffffff61539a16565b600790565b303b1590565b600080612aee8360000154614891856001015486600d0160149054906101000a900464ffffffffff16614d28565b6001600160a01b03808516600081815260366020908152604080832094881683526037825280832093835292905290812090614a838787611763565b6001600160a01b0388166000908152603660205260409020909150614aa790613f40565b6001614672565b6001600160a01b038087166000818152603660209081526040808320948a16835260378252808320938352929052208054614af59087906140d4908763ffffffff613fd816565b8155600782015460018201558215614b165760006003820181905560018201555b6002810154614432908663ffffffff6142a716565b6001600160a01b03808616600081815260366020908152604080832094891683526037825280832093835292905220614b6382613f40565b6001836002811115614b7157fe5b1415614ba3576003810154614b8d83878363ffffffff6151a416565b614b9d838663ffffffff6152af16565b506146d9565b6002836002811115614bb157fe5b1415614bdd576005820154614bcc838763ffffffff6152d016565b614b9d83868363ffffffff61513416565b6040805162461bcd60e51b815260206004820152601a60248201527f496e76616c69642072617465206d6f6465207265636569766564000000000000604482015290519081900360640190fd5b6001600160a01b03808416600090815260376020908152604080832093881683529281528282206036909152918120909190826002856002811115614c6b57fe5b1415614c8c5750600581015460038301556000600183810191909155614cf0565b6001856002811115614c9a57fe5b1415614cb9575060006003830155600781015460018301556002614cf0565b60405162461bcd60e51b81526004018080602001828103825260238152602001806157696023913960400191505060405180910390fd5b8254614d02908763ffffffff613fd816565b83556004909201805464ffffffffff19164264ffffffffff161790555095945050505050565b600080614d424264ffffffffff851663ffffffff6142a716565b90506000614d566140406301e13380614dfa565b9050612eae614d63614e10565b612ee4878463ffffffff614d7316565b6000612aee6b033b2e3c9fd0803ce8000000614a02614d98868663ffffffff61534116565b6b019d971e4fe8401e7400000090613fd8565b600080614dc54264ffffffffff851663ffffffff6142a716565b90506000614ddd856301e1338063ffffffff61539a16565b9050612eae82614dee6149f5614e10565b9063ffffffff61540416565b600061173582633b9aca0063ffffffff61534116565b6b033b2e3c9fd0803ce800000090565b614e32826001600160a01b0316611541565b614e83576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310614ec15780518252601f199092019160209182019101614ea2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614f23576040519150601f19603f3d011682016040523d82523d6000602084013e614f28565b606091505b509150915081614f7f576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611e2e57808060200190516020811015614f9b57600080fd5b5051611e2e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061578c602a913960400191505060405180910390fd5b6000614fe48787611763565b6001600160a01b0388166000908152603660205260409020909150600182600281111561500d57fe5b1415615056576001600160a01b038088166000908152603760209081526040808320938c168352929052206003810154615050908390899063ffffffff6151a416565b5061507a565b600282600281111561506457fe5b141561507a5761507a818763ffffffff6152d016565b600061509085612ee4898963ffffffff613fd816565b905060018460028111156150a057fe5b14156150c35760058201546150be908390839063ffffffff61513416565b612193565b60028460028111156150d157fe5b14156150e7576150be828263ffffffff6152af16565b6040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206e657720626f72726f772072617465206d6f646500000000604482015290519081900360640190fd5b6002830154615149818463ffffffff613fd816565b6002850155600061515d8361489186614dfa565b90506000615172866006015461489185614dfa565b90506151946151848760020154614dfa565b614049848463ffffffff613fd816565b8660060181905550505050505050565b81836002015410156151fd576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e7420746f206465637265617365000000000000604482015290519081900360640190fd5b6002830154615212818463ffffffff6142a716565b6002850181905561522a575060006006840155611a64565b60006152398361489186614dfa565b9050600061524e866006015461489185614dfa565b90508181101561528f5760405162461bcd60e51b81526004018080602001828103825260238152602001806155506023913960400191505060405180910390fd5b61519461529f8760020154614dfa565b614049838563ffffffff6142a716565b60038201546152c4908263ffffffff613fd816565b82600301819055505050565b80826003015410156153135760405162461bcd60e51b81526004018080602001828103825260508152602001806154956050913960600191505060405180910390fd5b60038201546152c4908263ffffffff6142a716565b6000631dcd6500612aee633b9aca00614a028386613fd8565b60008261535057506000611735565b8282028284828161535d57fe5b0414612aee5760405162461bcd60e51b81526004018080602001828103825260218152602001806156cc6021913960400191505060405180910390fd5b60008082116153f0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816153fb57fe5b04949350505050565b600060028206615420576b033b2e3c9fd0803ce8000000615422565b825b90506002820491505b81156117355761543b8384614d73565b92506002820615615453576154508184614d73565b90505b60028204915061542b56fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158206f58d4ea5635379dff8b65e8263dc7b3f447cbe0872afd82d13458b5c4c8c08564736f6c634300050e0032", + "deployedBytecode": "0x60806040526004361061041b5760003560e01c8063a2353fdc1161021e578063d15e005311610123578063e8ae2f5b116100ab578063f61483111161007a578063f6148311146113bf578063f6ea8d7614611443578063fa51854c1461147e578063fa93b2a5146114c3578063feab31ac146115065761041b565b8063e8ae2f5b146112eb578063eede87c11461131e578063ef1f937314611359578063f054ab461461138c5761041b565b8063dae4c4e7116100f2578063dae4c4e7146111d4578063e10076ad14611207578063e2174d8614611242578063e240301914611285578063e6d18190146112b85761041b565b8063d15e0053146110fc578063d3ae26b31461112f578063d466016f14611144578063da12d96f1461117d5761041b565b8063bd7fd79a116101a6578063c540148e11610175578063c540148e14611012578063c72c4d1014611045578063c76a6c9c1461105a578063c7d142371461108d578063d06e2ec1146110c95761041b565b8063bd7fd79a14610f46578063bfacad8414610f79578063c33cfd9014610fac578063c4d66de814610fdf5761041b565b8063afcdbea3116101ed578063afcdbea314610e17578063b701d09314610e62578063b75d6f3414610e95578063b8c0f74514610ec8578063bcd6ffa414610efb5761041b565b8063a2353fdc14610d29578063a5bc826c14610d5c578063a8dc0f4514610da1578063af825b0714610dd45761041b565b80635cf2e656116103245780637aca76eb116102ac578063906c0a411161027b578063906c0a4114610bfc57806398bd473714610c2f5780639e3c4f3b14610c625780639e67484814610c9d5780639fb8afcd14610cd05761041b565b80637aca76eb14610b2d5780637f90fec514610b6057806388079d8814610b935780638f385c2214610bc65761041b565b806366d103f3116102f357806366d103f3146109e057806368beb4d614610a1b5780636ae1441614610a865780636fffab0c14610ab957806370fb84f414610af45761041b565b80635cf2e656146109045780635fc526ff14610937578063646810831461099257806366bbd928146109a75761041b565b80633443a14b116103a757806345330a401161037657806345330a40146107de57806346bc0f28146108275780634a08accb1461085a5780634f1446091461088d5780634fe7a6e5146108da5761041b565b80633443a14b146106b757806334b3beee146106f057806337ac6fe41461073f5780633e72a454146107ab5761041b565b806318a4dbca116103ee57806318a4dbca1461057957806318f9bbae146105b45780631ca19f19146105e75780631d2118f91461064657806328fcf4d3146106815761041b565b806305075d6e146104615780630902f1ac146104a857806309ac29531461050d5780630c7de4e914610552575b61042433611541565b61045f5760405162461bcd60e51b815260040180806020018281038252603681526020018061551a6036913960400191505060405180910390fd5b005b34801561046d57600080fd5b506104946004803603602081101561048457600080fd5b50356001600160a01b031661154b565b604080519115158252519081900360200190f35b3480156104b457600080fd5b506104bd611573565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104f95781810151838201526020016104e1565b505050509050019250505060405180910390f35b34801561051957600080fd5b5061045f6004803603608081101561053057600080fd5b506001600160a01b0381351690602081013590604081013590606001356115d5565b34801561055e57600080fd5b506105676116a3565b60408051918252519081900360200190f35b34801561058557600080fd5b506105676004803603604081101561059c57600080fd5b506001600160a01b03813581169160200135166116a8565b3480156105c057600080fd5b50610494600480360360208110156105d757600080fd5b50356001600160a01b031661173b565b3480156105f357600080fd5b506106226004803603604081101561060a57600080fd5b506001600160a01b0381358116916020013516611763565b6040518082600281111561063257fe5b60ff16815260200191505060405180910390f35b34801561065257600080fd5b5061045f6004803603604081101561066957600080fd5b506001600160a01b03813581169160200135166117b8565b61045f6004803603606081101561069757600080fd5b506001600160a01b0381358116916020810135909116906040013561189e565b3480156106c357600080fd5b5061045f600480360360408110156106da57600080fd5b506001600160a01b038135169060200135611a69565b3480156106fc57600080fd5b506107236004803603602081101561071357600080fd5b50356001600160a01b0316611b3d565b604080516001600160a01b039092168252519081900360200190f35b34801561074b57600080fd5b50610792600480360360a081101561076257600080fd5b5080356001600160a01b03908116916020810135909116906040810135906060810135906080013560ff16611b5e565b6040805192835260208301919091528051918290030190f35b3480156107b757600080fd5b5061045f600480360360208110156107ce57600080fd5b50356001600160a01b0316611bfe565b3480156107ea57600080fd5b5061045f6004803603608081101561080157600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516611cda565b34801561083357600080fd5b506105676004803603602081101561084a57600080fd5b50356001600160a01b0316611e34565b34801561086657600080fd5b506104946004803603602081101561087d57600080fd5b50356001600160a01b0316611e52565b34801561089957600080fd5b506108c0600480360360208110156108b057600080fd5b50356001600160a01b0316611e7a565b6040805164ffffffffff9092168252519081900360200190f35b3480156108e657600080fd5b50610723600480360360208110156108fd57600080fd5b5035611ea6565b34801561091057600080fd5b506104946004803603602081101561092757600080fd5b50356001600160a01b0316611ecd565b34801561094357600080fd5b5061096a6004803603602081101561095a57600080fd5b50356001600160a01b0316611ef5565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b34801561099e57600080fd5b5061045f611f33565b3480156109b357600080fd5b5061045f600480360360408110156109ca57600080fd5b506001600160a01b038135169060200135611ff2565b3480156109ec57600080fd5b5061056760048036036040811015610a0357600080fd5b506001600160a01b03813581169160200135166120c6565b348015610a2757600080fd5b5061045f6004803603610120811015610a3f57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a08101359060c08101359060e081013590610100013515156120fc565b348015610a9257600080fd5b5061072360048036036020811015610aa957600080fd5b50356001600160a01b031661219e565b348015610ac557600080fd5b5061056760048036036040811015610adc57600080fd5b506001600160a01b03813581169160200135166121bf565b348015610b0057600080fd5b5061045f60048036036040811015610b1757600080fd5b506001600160a01b0381351690602001356121ee565b348015610b3957600080fd5b5061045f60048036036020811015610b5057600080fd5b50356001600160a01b03166122c2565b348015610b6c57600080fd5b5061056760048036036020811015610b8357600080fd5b50356001600160a01b03166123a4565b348015610b9f57600080fd5b5061056760048036036020811015610bb657600080fd5b50356001600160a01b03166123c2565b61045f60048036036060811015610bdc57600080fd5b506001600160a01b038135811691602081013591604090910135166124ea565b348015610c0857600080fd5b5061056760048036036020811015610c1f57600080fd5b50356001600160a01b0316612600565b348015610c3b57600080fd5b5061056760048036036020811015610c5257600080fd5b50356001600160a01b03166126b0565b348015610c6e57600080fd5b5061049460048036036040811015610c8557600080fd5b506001600160a01b03813581169160200135166126ce565b348015610ca957600080fd5b5061049460048036036020811015610cc057600080fd5b50356001600160a01b0316612707565b348015610cdc57600080fd5b50610d0b60048036036040811015610cf357600080fd5b506001600160a01b038135811691602001351661272f565b60408051938452602084019290925282820152519081900360600190f35b348015610d3557600080fd5b5061056760048036036020811015610d4c57600080fd5b50356001600160a01b03166127ba565b348015610d6857600080fd5b5061045f60048036036080811015610d7f57600080fd5b506001600160a01b0381351690602081013590604081013590606001356127d8565b348015610dad57600080fd5b5061045f60048036036020811015610dc457600080fd5b50356001600160a01b0316612926565b348015610de057600080fd5b5061056760048036036060811015610df757600080fd5b506001600160a01b03813581169160208101359091169060400135612a55565b348015610e2357600080fd5b5061045f60048036036080811015610e3a57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612af5565b348015610e6e57600080fd5b5061056760048036036020811015610e8557600080fd5b50356001600160a01b0316612b7d565b348015610ea157600080fd5b5061045f60048036036020811015610eb857600080fd5b50356001600160a01b0316612b9b565b348015610ed457600080fd5b5061045f60048036036020811015610eeb57600080fd5b50356001600160a01b0316612cce565b348015610f0757600080fd5b5061045f60048036036080811015610f1e57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612daa565b348015610f5257600080fd5b5061056760048036036020811015610f6957600080fd5b50356001600160a01b0316612e32565b348015610f8557600080fd5b5061056760048036036020811015610f9c57600080fd5b50356001600160a01b0316612e4d565b348015610fb857600080fd5b5061056760048036036020811015610fcf57600080fd5b50356001600160a01b0316612eb7565b348015610feb57600080fd5b5061045f6004803603602081101561100257600080fd5b50356001600160a01b0316612ef0565b34801561101e57600080fd5b506105676004803603602081101561103557600080fd5b50356001600160a01b0316612faf565b34801561105157600080fd5b50610723612fcd565b34801561106657600080fd5b506105676004803603602081101561107d57600080fd5b50356001600160a01b0316612fdc565b61045f600480360360808110156110a357600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516612ffa565b3480156110d557600080fd5b5061045f600480360360208110156110ec57600080fd5b50356001600160a01b03166131ac565b34801561110857600080fd5b506105676004803603602081101561111f57600080fd5b50356001600160a01b03166133b1565b34801561113b57600080fd5b506107236133d2565b34801561115057600080fd5b5061045f6004803603604081101561116757600080fd5b506001600160a01b0381351690602001356133e1565b34801561118957600080fd5b5061045f600480360360c08110156111a057600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a0013515156134b5565b3480156111e057600080fd5b5061045f600480360360208110156111f757600080fd5b50356001600160a01b0316613524565b34801561121357600080fd5b5061096a6004803603604081101561122a57600080fd5b506001600160a01b0381358116916020013516613606565b34801561124e57600080fd5b506104946004803603606081101561126557600080fd5b506001600160a01b038135811691602081013590911690604001356136b3565b34801561129157600080fd5b50610567600480360360208110156112a857600080fd5b50356001600160a01b0316613749565b3480156112c457600080fd5b50610567600480360360208110156112db57600080fd5b50356001600160a01b03166137ed565b3480156112f757600080fd5b5061045f6004803603602081101561130e57600080fd5b50356001600160a01b031661380e565b34801561132a57600080fd5b5061045f6004803603604081101561134157600080fd5b506001600160a01b0381351690602001351515613929565b34801561136557600080fd5b5061045f6004803603602081101561137c57600080fd5b50356001600160a01b0316613a60565b34801561139857600080fd5b50610567600480360360208110156113af57600080fd5b50356001600160a01b0316613b3c565b3480156113cb57600080fd5b50611418600480360360c08110156113e257600080fd5b5080356001600160a01b039081169160208101359091169060408101359060608101359060808101359060a0013560ff16613b5a565b6040518083600281111561142857fe5b60ff1681526020018281526020019250505060405180910390f35b34801561144f57600080fd5b506105676004803603604081101561146657600080fd5b506001600160a01b0381358116916020013516613bec565b34801561148a57600080fd5b5061045f600480360360608110156114a157600080fd5b506001600160a01b038135811691602081013590911690604001351515613c1b565b3480156114cf57600080fd5b5061045f600480360360608110156114e657600080fd5b506001600160a01b03813581169160208101359091169060400135613cad565b34801561151257600080fd5b506105676004803603604081101561152957600080fd5b506001600160a01b0381358116916020013516613dd4565b803b15155b919050565b6001600160a01b03166000908152603660205260409020600d0154600160e01b900460ff1690565b606060388054806020026020016040519081016040528092919081815260200182805480156115cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115ad575b5050505050905090565b6034546001600160a01b0316331461161e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6116288482613e03565b6001600160a01b038416600090815260366020526040902061164990613f40565b6000611664611657866137ed565b859063ffffffff613fd816565b6001600160a01b038616600090815260366020526040902090915061169090828563ffffffff61403216565b61169c85846000614090565b5050505050565b600781565b6001600160a01b038083166000908152603660209081526040808320600c015481516370a0823160e01b8152868616600482015291519394169283926370a082319260248082019391829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50519150505b92915050565b6001600160a01b03166000908152603660205260409020600d0154600160d01b900460ff1690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052908120805461179a576000915050611735565b60008160030154116117ad5760026117b0565b60015b949350505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156117fc57600080fd5b505afa158015611810573d6000803e3d6000fd5b505050506040513d602081101561182657600080fd5b50516001600160a01b03161461186d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039182166000908152603660205260409020600d0180546001600160a01b03191691909216179055565b6034546001600160a01b031633146118e75760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6118ef614235565b6001600160a01b0316836001600160a01b0316146119645734156119445760405162461bcd60e51b81526004018080602001828103825260328152602001806155b06032913960400191505060405180910390fd5b61195f6001600160a01b03841683308463ffffffff61424d16565b611a64565b803410156119a35760405162461bcd60e51b81526004018080602001828103825260358152602001806154e56035913960400191505060405180910390fd5b80341115611a645760006119bd348363ffffffff6142a716565b6040519091506000906001600160a01b0385169061c35090849084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b606091505b505090508061169c576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611aad57600080fd5b505afa158015611ac1573d6000803e3d6000fd5b505050506040513d6020811015611ad757600080fd5b50516001600160a01b031614611b1e5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060090155565b6001600160a01b039081166000908152603660205260409020600c01541690565b60345460009081906001600160a01b03163314611bac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b600080611bb9898961272f565b9250509150611bcc898984848b8a614304565b611bda898989848a8a614333565b611be689600089614090565b611bf08989614458565b999098509650505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d6020811015611c6c57600080fd5b50516001600160a01b031614611cb35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e01b19169055565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611d1e57600080fd5b505afa158015611d32573d6000803e3d6000fd5b505050506040513d6020811015611d4857600080fd5b50516001600160a01b031614611d8f5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0380851660009081526036602052604080822081516304dda73560e21b8152600481019190915286841660248201526044810186905292841660648401525173__CoreLibrary___________________________926313769cd4926084808301939192829003018186803b158015611e0d57600080fd5b505af4158015611e21573d6000803e3d6000fd5b50505050611e2e846144ea565b50505050565b6001600160a01b031660009081526036602052604090206006015490565b6001600160a01b03166000908152603660205260409020600d0154600160e81b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160a01b900464ffffffffff1690565b60388181548110611eb357fe5b6000918252602090912001546001600160a01b0316905081565b6001600160a01b03166000908152603660205260409020600d0154600160c81b900460ff1690565b6001600160a01b03166000908152603660205260409020600b81015460088201546009830154600d909301549193909291600160d01b900460ff1690565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611f7757600080fd5b505afa158015611f8b573d6000803e3d6000fd5b505050506040513d6020811015611fa157600080fd5b50516001600160a01b031614611fe85760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b611ff061458e565b565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b50516001600160a01b0316146120a75760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600b0155565b6001600160a01b0390811660009081526037602090815260408083209490931682529290925290206004015464ffffffffff1690565b6034546001600160a01b031633146121455760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b61215189888885614629565b61215a886146e2565b6121678988888786614706565b61217389876000614090565b806121935761219388600061218e888763ffffffff613fd816565b614090565b505050505050505050565b6001600160a01b039081166000908152603660205260409020600d01541690565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206003015492915050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050506040513d602081101561225c57600080fd5b50516001600160a01b0316146122a35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b039091166000908152603660205260409020600a0155565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561230657600080fd5b505afa15801561231a573d6000803e3d6000fd5b505050506040513d602081101561233057600080fd5b50516001600160a01b0316146123775760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b1916600160e81b179055565b6001600160a01b031660009081526036602052604090206002015490565b6001600160a01b0380821660009081526036602090815260408083206035548251631b0c55dd60e11b815292519495919486949190921692633618abba9260048083019392829003018186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d602081101561244557600080fd5b505160058301549091506124df57806001600160a01b031663bb85c0bb856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124a957600080fd5b505afa1580156124bd573d6000803e3d6000fd5b505050506040513d60208110156124d357600080fd5b50519250611546915050565b506005015492915050565b6034546001600160a01b031633146125335760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b8034156125715760405162461bcd60e51b815260040180806020018281038252603681526020018061545f6036913960400191505060405180910390fd5b612579614235565b6001600160a01b0316846001600160a01b0316146125b0576125ab6001600160a01b038516828563ffffffff6147b816565b611e2e565b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114611a10576040519150601f19603f3d011682016040523d82523d6000602084013e611a15565b6001600160a01b038116600090815260366020526040812060048101546126a65780600d0160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b15801561267157600080fd5b505afa158015612685573d6000803e3d6000fd5b505050506040513d602081101561269b57600080fd5b505191506115469050565b6004015492915050565b6001600160a01b031660009081526036602052604090206003015490565b6001600160a01b03908116600090815260376020908152604080832094909316825292909252902060040154600160281b900460ff1690565b6001600160a01b03166000908152603660205260409020600d0154600160d81b900460ff1690565b6001600160a01b03808216600090815260376020908152604080832093861683529290529081208054829182916127705750600092508291508190506127b3565b80546001600160a01b038716600090815260366020526040812061279590849061480a565b905081816127a9818363ffffffff6142a716565b9550955095505050505b9250925092565b6001600160a01b03166000908152603660205260409020600b015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561281c57600080fd5b505afa158015612830573d6000803e3d6000fd5b505050506040513d602081101561284657600080fd5b50516001600160a01b03161461288d5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b038416600090815260366020526040808220815163126ee27360e11b81526004810191909152602481018690526044810185905260648101849052905173__CoreLibrary___________________________926324ddc4e69260848082019391829003018186803b15801561290857600080fd5b505af415801561291c573d6000803e3d6000fd5b5050505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561296a57600080fd5b505afa15801561297e573d6000803e3d6000fd5b505050506040513d602081101561299457600080fd5b50516001600160a01b0316146129db5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03811660009081526036602052604080822081516372efab5360e11b81526004810191909152905173__CoreLibrary___________________________9263e5df56a69260248082019391829003018186803b158015612a4157600080fd5b505af415801561169c573d6000803e3d6000fd5b6034546000906001600160a01b03163314612aa15760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b612aac8484846148fc565b612ab784848461494c565b612ac384600080614090565b506001600160a01b038083166000908152603760209081526040808320938716835292905220600301545b9392505050565b6034546001600160a01b03163314612b3e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612b5f90613f40565b612b6b84600084614090565b8015611e2e57611e2e84846000613c1b565b6001600160a01b031660009081526036602052604090206007015490565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612bdf57600080fd5b505afa158015612bf3573d6000803e3d6000fd5b505050506040513d6020811015612c0957600080fd5b50516001600160a01b031614612c505760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260409020805415801590612c7c575060008160070154115b612cb75760405162461bcd60e51b81526004018080602001828103825260248152602001806156a86024913960400191505060405180910390fd5b600d01805460ff60e01b1916600160e01b17905550565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015612d1257600080fd5b505afa158015612d26573d6000803e3d6000fd5b505050506040513d6020811015612d3c57600080fd5b50516001600160a01b031614612d835760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b19169055565b6034546001600160a01b03163314612df35760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0384166000908152603660205260409020612e1490613f40565b612e2084836000614090565b8015611e2e57611e2e84846001613c1b565b6001600160a01b031660009081526036602052604090205490565b6001600160a01b038116600090815260366020526040812081612e6f826149b5565b905080612e8157600092505050611546565b6000612e8c85613749565b9050612eae612ea1828463ffffffff613fd816565b839063ffffffff6149d216565b95945050505050565b6001600160a01b0381166000908152603660205260408120612aee612edb826149b5565b612ee485613749565b9063ffffffff613fd816565b6000612efa614a0e565b60015490915060ff1680612f115750612f11614a13565b80612f1d575060005481115b612f585760405162461bcd60e51b815260040180806020018281038252602e815260200180615711602e913960400191505060405180910390fd5b60015460ff16158015612f77576001805460ff19168117905560008290555b603580546001600160a01b0319166001600160a01b038516179055612f9a61458e565b8015611a64576001805460ff19169055505050565b6001600160a01b031660009081526036602052604090206001015490565b6035546001600160a01b031681565b6001600160a01b03166000908152603660205260409020600a015490565b6034546001600160a01b031633146130435760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b8061304c614235565b6001600160a01b0316856001600160a01b0316146130c15734156130a15760405162461bcd60e51b815260040180806020018281038252605f8152602001806155e2605f913960600191505060405180910390fd5b6130bc6001600160a01b03861685838663ffffffff61424d16565b61169c565b823410156131005760405162461bcd60e51b81526004018080602001828103825260358152602001806154e56035913960400191505060405180910390fd5b6040516000906001600160a01b0383169061c35090869084818181858888f193505050503d8060008114613150576040519150601f19603f3d011682016040523d82523d6000602084013e613155565b606091505b50509050806131a4576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b505050505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b1580156131f057600080fd5b505afa158015613204573d6000803e3d6000fd5b505050506040513d602081101561321a57600080fd5b50516001600160a01b0316146132615760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6038805460009190600019810190811061327757fe5b6000918252602090912001546001600160a01b039081169150821681146132cf5760405162461bcd60e51b815260040180806020018281038252603d815260200180615573603d913960400191505060405180910390fd5b6132d8816137ed565b156133145760405162461bcd60e51b81526004018080602001828103825260308152602001806156416030913960400191505060405180910390fd5b6001600160a01b0381166000908152603660205260408120600d81018054600c830180546001600160a01b0319169055600b8301849055838355600783018490556008830184905560098301849055600a90920192909255600168ff00ffff000000000160a01b0319169055603880548061338b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b6001600160a01b0381166000908152603660205260408120612aee81614a19565b6034546001600160a01b031681565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561342557600080fd5b505afa158015613439573d6000803e3d6000fd5b505050506040513d602081101561344f57600080fd5b50516001600160a01b0316146134965760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03909116600090815260366020526040902060080155565b6034546001600160a01b031633146134fe5760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b61350a86868685614a47565b613518868686868686614aae565b6131a486856000614090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561356857600080fd5b505afa15801561357c573d6000803e3d6000fd5b505050506040513d602081101561359257600080fd5b50516001600160a01b0316146135d95760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60d81b1916600160d81b179055565b6001600160a01b03808316600081815260366020908152604080832094861683526037825280832093835292905290812090918291829182918261364a89896116a8565b8254909150613677576004909101549095506000945084935060ff600160281b9091041691506136aa9050565b80613688838563ffffffff61480a16565b6002840154600490940154919850965091945050600160281b900460ff169150505b92959194509250565b6001600160a01b038381166000818152603660209081526040808320948716835260378252808320938352929052908120600d830154919291600160d81b900460ff1661370557600092505050612aee565b6004810154600160281b900460ff16158061372c5750600d820154600160d01b900460ff16155b8061373f575061373c86866116a8565b84115b9695505050505050565b600080613754614235565b6001600160a01b0316836001600160a01b03161415613774575047611735565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b1580156137ba57600080fd5b505afa1580156137ce573d6000803e3d6000fd5b505050506040513d60208110156137e457600080fd5b50519392505050565b6001600160a01b0381166000908152603660205260408120611735906149b5565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561385257600080fd5b505afa158015613866573d6000803e3d6000fd5b505050506040513d602081101561387c57600080fd5b50516001600160a01b0316146138c35760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b038116600090815260366020526040808220815163041e0b2d60e51b81526004810191909152905173__CoreLibrary___________________________926383c165a09260248082019391829003018186803b158015612a4157600080fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561396d57600080fd5b505afa158015613981573d6000803e3d6000fd5b505050506040513d602081101561399757600080fd5b50516001600160a01b0316146139de5760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b0382166000908152603660205260408082208151637b1dd5df60e11b815260048101919091528315156024820152905173__CoreLibrary___________________________9263f63babbe9260448082019391829003018186803b158015613a4c57600080fd5b505af41580156131a4573d6000803e3d6000fd5b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b50516001600160a01b031614613b155760405162461bcd60e51b81526004018080602001828103825260378152602001806156716037913960400191505060405180910390fd5b6001600160a01b03166000908152603660205260409020600d01805460ff60e81b19169055565b6001600160a01b031660009081526036602052604090206009015490565b60345460009081906001600160a01b03163314613ba85760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b613bb58888888887614b2b565b6000613bc389898787614c2a565b9050613bd189600080614090565b80613bdc8a8a614458565b9250925050965096945050505050565b6001600160a01b0380821660009081526037602090815260408083209386168352929052206001015492915050565b6034546001600160a01b03163314613c645760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b6001600160a01b0391821660009081526037602090815260408083209590941682529390935291206004018054911515600160281b0265ff000000000019909216919091179055565b6034546001600160a01b03163314613cf65760405162461bcd60e51b815260040180806020018281038252602a81526020018061573f602a913960400191505060405180910390fd5b613cfe614235565b6001600160a01b0316836001600160a01b031614613d305761195f6001600160a01b038416838363ffffffff6147b816565b6040516000906001600160a01b0384169061c35090849084818181858888f193505050503d8060008114613d80576040519150601f19603f3d011682016040523d82523d6000602084013e613d85565b606091505b5050905080611e2e576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881bd9881155120819985a5b195960521b604482015290519081900360640190fd5b6001600160a01b0380821660009081526037602090815260408083209386168352929052206002015492915050565b60355460408051637744894b60e11b815290516000926001600160a01b03169163ee891296916004808301926020929190829003018186803b158015613e4857600080fd5b505afa158015613e5c573d6000803e3d6000fd5b505050506040513d6020811015613e7257600080fd5b50519050613e7e614235565b6001600160a01b0316836001600160a01b031614613eb05761195f6001600160a01b038416828463ffffffff6147b816565b6040516000906001600160a01b0383169084908381818185875af1925050503d8060008114613efb576040519150601f19603f3d011682016040523d82523d6000602084013e613f00565b606091505b5050905080611e2e5760405162461bcd60e51b81526004018080602001828103825260248152602001806156ed6024913960400191505060405180910390fd5b6000613f4b826149b5565b90508015613fd4576001820154600d830154600091613f7791600160a01b900464ffffffffff16614d28565b8354909150613f8d90829063ffffffff614d7316565b83556004830154600d840154600091613fb391600160a01b900464ffffffffff16614dab565b9050613fcc846007015482614d7390919063ffffffff16565b600785015550505b5050565b600082820183811015612aee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061405561404084614dfa565b61404984614dfa565b9063ffffffff6149d216565b90506000614071614064614e10565b839063ffffffff613fd816565b855490915061408790829063ffffffff614d7316565b90945550505050565b6001600160a01b0380841660009081526036602052604081206006810154600d820154919390929182918291166357e37af0896140e0896140d48c612ee485613749565b9063ffffffff6142a716565b88600201548960030154896040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060606040518083038186803b15801561414d57600080fd5b505afa158015614161573d6000803e3d6000fd5b505050506040513d606081101561417757600080fd5b50805160208083015160409384015160018a0184905560058a0182905560048a01819055600d8a01805464ffffffffff4216600160a01b0264ffffffffff60a01b19909116179055895460078b015486518681529485018490528487018b905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a25050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611e2e908590614e20565b6000828211156142fe576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b038616600090815260366020526040902061432590613f40565b6131a4868686868686614fd8565b6001600160a01b038087166000818152603660209081526040808320948a1683526037825280832093835292905220600183600281111561437057fe5b141561438c576005820154600382015560006001820155614403565b600283600281111561439a57fe5b14156143b6576000600382015560078201546001820155614403565b6040805162461bcd60e51b815260206004820152601860248201527f496e76616c696420626f72726f772072617465206d6f64650000000000000000604482015290519081900360640190fd5b805461441b908690612ee4908963ffffffff613fd816565b81556002810154614432908563ffffffff613fd816565b6002820155600401805464ffffffffff19164264ffffffffff1617905550505050505050565b6000806144658484611763565b9050600081600281111561447557fe5b1415614485576000915050611735565b600181600281111561449357fe5b146144b9576001600160a01b0384166000908152603660205260409020600401546117b0565b50506001600160a01b0390811660009081526037602090815260408083209490931682529290925290206003015490565b6000805b60385481101561453757826001600160a01b03166038828154811061450f57fe5b6000918252602090912001546001600160a01b0316141561452f57600191505b6001016144ee565b5080613fd457603880546001810182556000919091527f38395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f4561990180546001600160a01b0384166001600160a01b03199091161790555050565b603560009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156145dc57600080fd5b505afa1580156145f0573d6000803e3d6000fd5b505050506040513d602081101561460657600080fd5b5051603480546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b0380851660008181526036602090815260408083209488168352603782528083209383529290522061466182613f40565b600061466d8787611763565b905060015b81600281111561467e57fe5b14156146b957600382015461469c908490869063ffffffff61513416565b60038201546146b4908490879063ffffffff6151a416565b6146d9565b6146c9838563ffffffff6152af16565b6146d9838663ffffffff6152d016565b50505050505050565b6001600160a01b038116600090815260366020526040902061470390613f40565b50565b6001600160a01b03808516600090815260376020908152604080832093891683529281528282206036909152919020815461474d9086906140d4908663ffffffff613fd816565b8255600261475b8888611763565b600281111561476657fe5b141561477757600781015460018301555b8315614798576002820154614792908563ffffffff6142a716565b60028301555b50600401805464ffffffffff19164264ffffffffff161790555050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a64908490614e20565b815460009061481b57506000611735565b600061482a8460000154614dfa565b600385015490915060009081901561485e5760038601546004870154614857919064ffffffffff16614dab565b90506148a0565b61489d8660010154614049876007015461489189600401548a600d0160149054906101000a900464ffffffffff16614dab565b9063ffffffff614d7316565b90505b6148b86148b3848363ffffffff614d7316565b615328565b86549092508214156148f357600486015464ffffffffff1642146148f35785546148e990600163ffffffff613fd816565b9350505050611735565b50949350505050565b6001600160a01b0380841660008181526036602090815260408083209487168352603782528083209383529290522061493482613f40565b600381015461169c908390859063ffffffff61513416565b6001600160a01b03808316600090815260376020908152604080832093871683529281528282206036909152919020815461498d908463ffffffff613fd816565b8255600501546003820155600401805464ffffffffff19164264ffffffffff16179055505050565b600061173582600301548360020154613fd890919063ffffffff16565b6000600282046117b083614a026149f5876b033b2e3c9fd0803ce8000000615341565b849063ffffffff613fd816565b9063ffffffff61539a16565b600790565b303b1590565b600080612aee8360000154614891856001015486600d0160149054906101000a900464ffffffffff16614d28565b6001600160a01b03808516600081815260366020908152604080832094881683526037825280832093835292905290812090614a838787611763565b6001600160a01b0388166000908152603660205260409020909150614aa790613f40565b6001614672565b6001600160a01b038087166000818152603660209081526040808320948a16835260378252808320938352929052208054614af59087906140d4908763ffffffff613fd816565b8155600782015460018201558215614b165760006003820181905560018201555b6002810154614432908663ffffffff6142a716565b6001600160a01b03808616600081815260366020908152604080832094891683526037825280832093835292905220614b6382613f40565b6001836002811115614b7157fe5b1415614ba3576003810154614b8d83878363ffffffff6151a416565b614b9d838663ffffffff6152af16565b506146d9565b6002836002811115614bb157fe5b1415614bdd576005820154614bcc838763ffffffff6152d016565b614b9d83868363ffffffff61513416565b6040805162461bcd60e51b815260206004820152601a60248201527f496e76616c69642072617465206d6f6465207265636569766564000000000000604482015290519081900360640190fd5b6001600160a01b03808416600090815260376020908152604080832093881683529281528282206036909152918120909190826002856002811115614c6b57fe5b1415614c8c5750600581015460038301556000600183810191909155614cf0565b6001856002811115614c9a57fe5b1415614cb9575060006003830155600781015460018301556002614cf0565b60405162461bcd60e51b81526004018080602001828103825260238152602001806157696023913960400191505060405180910390fd5b8254614d02908763ffffffff613fd816565b83556004909201805464ffffffffff19164264ffffffffff161790555095945050505050565b600080614d424264ffffffffff851663ffffffff6142a716565b90506000614d566140406301e13380614dfa565b9050612eae614d63614e10565b612ee4878463ffffffff614d7316565b6000612aee6b033b2e3c9fd0803ce8000000614a02614d98868663ffffffff61534116565b6b019d971e4fe8401e7400000090613fd8565b600080614dc54264ffffffffff851663ffffffff6142a716565b90506000614ddd856301e1338063ffffffff61539a16565b9050612eae82614dee6149f5614e10565b9063ffffffff61540416565b600061173582633b9aca0063ffffffff61534116565b6b033b2e3c9fd0803ce800000090565b614e32826001600160a01b0316611541565b614e83576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310614ec15780518252601f199092019160209182019101614ea2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614f23576040519150601f19603f3d011682016040523d82523d6000602084013e614f28565b606091505b509150915081614f7f576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611e2e57808060200190516020811015614f9b57600080fd5b5051611e2e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061578c602a913960400191505060405180910390fd5b6000614fe48787611763565b6001600160a01b0388166000908152603660205260409020909150600182600281111561500d57fe5b1415615056576001600160a01b038088166000908152603760209081526040808320938c168352929052206003810154615050908390899063ffffffff6151a416565b5061507a565b600282600281111561506457fe5b141561507a5761507a818763ffffffff6152d016565b600061509085612ee4898963ffffffff613fd816565b905060018460028111156150a057fe5b14156150c35760058201546150be908390839063ffffffff61513416565b612193565b60028460028111156150d157fe5b14156150e7576150be828263ffffffff6152af16565b6040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206e657720626f72726f772072617465206d6f646500000000604482015290519081900360640190fd5b6002830154615149818463ffffffff613fd816565b6002850155600061515d8361489186614dfa565b90506000615172866006015461489185614dfa565b90506151946151848760020154614dfa565b614049848463ffffffff613fd816565b8660060181905550505050505050565b81836002015410156151fd576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e7420746f206465637265617365000000000000604482015290519081900360640190fd5b6002830154615212818463ffffffff6142a716565b6002850181905561522a575060006006840155611a64565b60006152398361489186614dfa565b9050600061524e866006015461489185614dfa565b90508181101561528f5760405162461bcd60e51b81526004018080602001828103825260238152602001806155506023913960400191505060405180910390fd5b61519461529f8760020154614dfa565b614049838563ffffffff6142a716565b60038201546152c4908263ffffffff613fd816565b82600301819055505050565b80826003015410156153135760405162461bcd60e51b81526004018080602001828103825260508152602001806154956050913960600191505060405180910390fd5b60038201546152c4908263ffffffff6142a716565b6000631dcd6500612aee633b9aca00614a028386613fd8565b60008261535057506000611735565b8282028284828161535d57fe5b0414612aee5760405162461bcd60e51b81526004018080602001828103825260218152602001806156cc6021913960400191505060405180910390fd5b60008082116153f0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816153fb57fe5b04949350505050565b600060028206615420576b033b2e3c9fd0803ce8000000615422565b825b90506002820491505b81156117355761543b8384614d73565b92506002820615615453576154508184614d73565b90505b60028204915061542b56fe466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c756554686520616d6f756e742074686174206973206265696e6720737562747261637465642066726f6d20746865207661726961626c6520746f74616c20626f72726f777320697320696e636f727265637454686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d617463684f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f726554686520616d6f756e747320746f20737562747261637420646f6e2774206d6174636852657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f73697465645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e74726163745265736572766520686173206e6f74206265656e20696e697469616c697a656420796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374496e76616c696420696e7465726573742072617465206d6f64652072656365697665645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158206f58d4ea5635379dff8b65e8263dc7b3f447cbe0872afd82d13458b5c4c8c08564736f6c634300050e0032", + "sourceMap": "1071:67284:28:-;;;891:1:45;849:43;;1071:67284:28;8:9:-1;5:2;;;30:1;27;20:12;5:2;1071:67284:28;;;;;;;", + "deployedSourceMap": "1071:67284:28:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15218:23;:10;:21;:23::i;:::-;15210:90;;;;-1:-1:-1;;;15210:90:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1071:67284;31874:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31874:185:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31874:185:28;-1:-1:-1;;;;;31874:185:28;;:::i;:::-;;;;;;;;;;;;;;;;;;33599:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33599:100:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8::-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;33599:100:28;;;;;;;;;;;;;;;;;6516:744;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6516:744:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;6516:744:28;;;;;;;;;;;;;;;;;;:::i;3851:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3851:43:28;;;:::i;:::-;;;;;;;;;;;;;;;;21661:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21661:244:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21661:244:28;;;;;;;;;;:::i;31059:216::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31059:216:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31059:216:28;-1:-1:-1;;;;;31059:216:28;;:::i;35037:513::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35037:513:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;35037:513:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41551:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41551:238:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;41551:238:28;;;;;;;;;;:::i;18530:842::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18530:842:28;;;;;;;;;;;;;;;;;:::i;46243:263::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46243:263:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;46243:263:28;;;;;;;;:::i;22508:196::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22508:196:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22508:196:28;-1:-1:-1;;;;;22508:196:28;;:::i;:::-;;;;-1:-1:-1;;;;;22508:196:28;;;;;;;;;;;;;;7705:1028;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7705:1028:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;7705:1028:28;;-1:-1:-1;;;;;7705:1028:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;44594:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;44594:193:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44594:193:28;-1:-1:-1;;;;;44594:193:28;;:::i;39619:337::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39619:337:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;39619:337:28;;;;;;;;;;;;;;;;;;;;;;:::i;27592:260::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27592:260:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27592:260:28;-1:-1:-1;;;;;27592:260:28;;:::i;32260:187::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32260:187:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32260:187:28;-1:-1:-1;;;;;32260:187:28;;:::i;32666:215::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32666:215:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32666:215:28;-1:-1:-1;;;;;32666:215:28;;:::i;:::-;;;;;;;;;;;;;;;;;;;3815:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3815:29:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3815:29:28;;:::i;30654:200::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30654:200:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30654:200:28;-1:-1:-1;;;;;30654:200:28;;:::i;29498:676::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29498:676:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29498:676:28;-1:-1:-1;;;;;29498:676:28;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39180:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39180:109:28;;;:::i;47144:237::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47144:237:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;47144:237:28;;;;;;;;:::i;38834:269::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38834:269:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;38834:269:28;;;;;;;;;;:::i;12255:1227::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12255:1227:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;12255:1227:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;22110:224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22110:224:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22110:224:28;-1:-1:-1;;;;;22110:224:28;;:::i;36679:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36679:264:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;36679:264:28;;;;;;;;;;:::i;46706:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46706:247:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;46706:247:28;;;;;;;;:::i;45023:189::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45023:189:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45023:189:28;-1:-1:-1;;;;;45023:189:28;;:::i;24652:208::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24652:208:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24652:208:28;-1:-1:-1;;;;;24652:208:28;;:::i;26849:476::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26849:476:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26849:476:28;-1:-1:-1;;;;;26849:476:28;;:::i;17538:683::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17538:683:28;;;;;;;;;;;;;;;;;:::i;26198:434::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26198:434:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26198:434:28;-1:-1:-1;;;;;26198:434:28;;:::i;25017:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25017:212:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25017:212:28;-1:-1:-1;;;;;25017:212:28;;:::i;33977:265::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33977:265:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;33977:265:28;;;;;;;;;;:::i;31481:219::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31481:219:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31481:219:28;-1:-1:-1;;;;;31481:219:28;;:::i;37259:596::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37259:596:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;37259:596:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;30320:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30320:129:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30320:129:28;-1:-1:-1;;;;;30320:129:28;;:::i;42640:380::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42640:380:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;42640:380:28;;;;;;;;;;;;;;;;;;:::i;42371:144::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42371:144:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42371:144:28;-1:-1:-1;;;;;42371:144:28;;:::i;13840:520::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13840:520:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13840:520:28;;;;;;;;;;;;;;;;;:::i;5678:582::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5678:582:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;5678:582:28;;;;;;;;;;;;;;;;;;;;;;;;:::i;28770:263::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28770:263:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28770:263:28;-1:-1:-1;;;;;28770:263:28;;:::i;44101:389::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;44101:389:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44101:389:28;-1:-1:-1;;;;;44101:389:28;;:::i;43776:223::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43776:223:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43776:223:28;-1:-1:-1;;;;;43776:223:28;;:::i;4783:529::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4783:529:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;4783:529:28;;;;;;;;;;;;;;;;;;;;;;;;:::i;28384:224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28384:224:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28384:224:28;-1:-1:-1;;;;;28384:224:28;;:::i;33080:438::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33080:438:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33080:438:28;-1:-1:-1;;;;;33080:438:28;;:::i;23482:245::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23482:245:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23482:245:28;-1:-1:-1;;;;;23482:245:28;;:::i;4243:176::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4243:176:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4243:176:28;-1:-1:-1;;;;;4243:176:28;;:::i;28000:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28000:212:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28000:212:28;-1:-1:-1;;;;;28000:212:28;;:::i;3016:53::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3016:53:28;;;:::i;25759:204::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25759:204:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25759:204:28;-1:-1:-1;;;;;25759:204:28;;:::i;16372:892::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;16372:892:28;;;;;;;;;;;;;;;;;;;;;;:::i;40105:1219::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40105:1219:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;40105:1219:28;-1:-1:-1;;;;;40105:1219:28;;:::i;23993:209::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23993:209:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23993:209:28;-1:-1:-1;;;;;23993:209:28;;:::i;2976:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2976:33:28;;;:::i;45782:249::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45782:249:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;45782:249:28;;;;;;;;:::i;9260:739::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9260:739:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;9260:739:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;43424:221::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43424:221:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43424:221:28;-1:-1:-1;;;;;43424:221:28;;:::i;19850:705::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19850:705:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19850:705:28;;;;;;;;;;:::i;20861:544::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20861:544:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20861:544:28;;;;;;;;;;;;;;;;;:::i;22922:338::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22922:338:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22922:338:28;-1:-1:-1;;;;;22922:338:28;;:::i;24360:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24360:140:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24360:140:28;-1:-1:-1;;;;;24360:140:28;;:::i;43146:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43146:148:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43146:148:28;-1:-1:-1;;;;;43146:148:28;;:::i;42039:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42039:217:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;42039:217:28;;;;;;;;;;:::i;45400:192::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45400:192:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45400:192:28;-1:-1:-1;;;;;45400:192:28;;:::i;25392:212::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25392:212:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25392:212:28;-1:-1:-1;;;;;25392:212:28;;:::i;10525:885::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10525:885:28;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;10525:885:28;;-1:-1:-1;;;;;10525:885:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38201:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38201:287:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;38201:287:28;;;;;;;;;;:::i;14660:280::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14660:280:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14660:280:28;;;;;;;;;;;;;;;;;;;:::i;15596:439::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15596:439:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15596:439:28;;;;;;;;;;;;;;;;;:::i;34475:253::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34475:253:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;34475:253:28;;;;;;;;;;:::i;542:413:113:-;902:20;;940:8;;542:413;;;;:::o;31874:185:28:-;-1:-1:-1;;;;;32001:18:28;31943:4;32001:18;;;:8;:18;;;;;32036:16;;;-1:-1:-1;;;32036:16:28;;;;;31874:185::o;33599:100::-;33645:16;33680:12;33673:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;33673:19:28;;;;;;;;;;;;;;;;;;;;;;;33599:100;:::o;6516:744::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6713:60;6750:8;6760:12;6713:36;:60::i;:::-;-1:-1:-1;;;;;6829:18:28;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;6884:28;6915:85;6958:32;6981:8;6958:22;:32::i;:::-;6915:25;;:85;:29;:85;:::i;:::-;-1:-1:-1;;;;;7067:18:28;;;;;;:8;:18;;;;;6884:116;;-1:-1:-1;7067:74:28;;6884:116;7133:7;7067:74;:43;:74;:::i;:::-;7185:68;7232:8;7242:7;7251:1;7185:46;:68::i;:::-;3298:1;6516:744;;;;:::o;3851:43::-;3891:3;3851:43;:::o;21661:244::-;-1:-1:-1;;;;;21824:18:28;;;21778:7;21824:18;;;:8;:18;;;;;;;;:32;;;21874:23;;-1:-1:-1;;;21874:23:28;;;;;;;;;;;21778:7;;21824:32;;;;21874:16;;:23;;;;;;;;;;;21824:32;21874:23;;;5:2:-1;;;;30:1;27;20:12;5:2;21874:23:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21874:23:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21874:23:28;;-1:-1:-1;;21661:244:28;;;;;:::o;31059:216::-;-1:-1:-1;;;;;31201:18:28;31143:4;31201:18;;;:8;:18;;;;;31236:32;;;-1:-1:-1;;;31236:32:28;;;;;31059:216::o;35037:513::-;-1:-1:-1;;;;;35240:23:28;;;35153:28;35240:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;35288:27;;35284:103;;35343:33;35336:40;;;;;35284:103;35440:1;35416:4;:21;;;:25;:127;;35506:37;35416:127;;;35456:35;35416:127;35397:146;35037:513;-1:-1:-1;;;;35037:513:28:o;41551:238::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;41713:18:28;;;;;;;:8;:18;;;;;:46;;:69;;-1:-1:-1;;;;;;41713:69:28;;;;;;;;41551:238::o;18530:842::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18702:26;:24;:26::i;:::-;-1:-1:-1;;;;;18690:38:28;:8;-1:-1:-1;;;;;18690:38:28;;18686:680;;18752:9;:14;18744:77;;;;-1:-1:-1;;;18744:77:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18835:63;-1:-1:-1;;;;;18835:32:28;;18868:5;18883:4;18890:7;18835:63;:32;:63;:::i;:::-;18686:680;;;18951:7;18938:9;:20;;18930:86;;;;-1:-1:-1;;;18930:86:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19047:7;19035:9;:19;19031:325;;;19113:20;19136:22;:9;19150:7;19136:22;:13;:22;:::i;:::-;19237:45;;19113;;-1:-1:-1;19220:11:28;;-1:-1:-1;;;;;19237:10:28;;;19272:5;;19113:45;;19220:11;19237:45;19220:11;19237:45;19113;19237:10;19272:5;19237:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;19219:63:28;;;19308:6;19300:41;;;;;-1:-1:-1;;;19300:41:28;;;;;;;;;;;;-1:-1:-1;;;19300:41:28;;;;;;;;;;;;;;19031:325;18530:842;;;:::o;46243:263::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;46430:18:28;;;46388:39;46430:18;;;:8;:18;;;;;46458:28;;:41;46243:263::o;22508:196::-;-1:-1:-1;;;;;22641:18:28;;;22580:7;22641:18;;;:8;:18;;;;;22676:21;;;;;22508:196::o;7705:1028::-;3209:18;;7932:7;;;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8017:30;8051:23;8078:72;8113:8;8135:5;8078:21;:72::i;:::-;8016:134;;;;;8161:202;8209:8;8231:5;8250:22;8286:15;8315;8344:9;8161:34;:202::i;:::-;8374:187;8419:8;8441:5;8460:15;8489;8518:10;8542:9;8374:31;:187::i;:::-;8572:76;8619:8;8629:1;8632:15;8572:46;:76::i;:::-;8667:41;8692:8;8702:5;8667:24;:41::i;:::-;8659:67;8710:15;;-1:-1:-1;7705:1028:28;-1:-1:-1;;;;;;;7705:1028:28:o;44594:193::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44728:18:28;44686:39;44728:18;;;:8;:18;;;;;44756:16;;:24;;-1:-1:-1;;;;44756:24:28;;;44594:193::o;39619:337::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;39824:18:28;;;;;;;:8;:18;;;;;;:80;;-1:-1:-1;;;39824:80:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;:80;;;;;:18;;:80;;;;;:23;:80;;;5:2:-1;;;;30:1;27;20:12;5:2;39824:80:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39824:80:28;;;;39914:34;39939:8;39914:24;:34::i;:::-;39619:337;;;;:::o;27592:260::-;-1:-1:-1;;;;;27772:18:28;27707:7;27772:18;;;:8;:18;;;;;27807:38;;;;27592:260::o;32260:187::-;-1:-1:-1;;;;;32388:18:28;32330:4;32388:18;;;:8;:18;;;;;32423:17;;;-1:-1:-1;;;32423:17:28;;;;;32260:187::o;32666:215::-;-1:-1:-1;;;;;32807:18:28;32737:16;32807:18;;;:8;:18;;;;;32847:27;;;-1:-1:-1;;;32847:27:28;;;;;32666:215::o;3815:29::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3815:29:28;;-1:-1:-1;3815:29:28;:::o;30654:200::-;-1:-1:-1;;;;;30788:18:28;30730:4;30788:18;;;:8;:18;;;;;30823:24;;;-1:-1:-1;;;30823:24:28;;;;;30654:200::o;29498:676::-;-1:-1:-1;;;;;29826:18:28;29596:7;29826:18;;;:8;:18;;;;;29865:16;;;;29913:27;;;;29973:28;;;;30038:32;;;;;29865:16;;29913:27;;29973:28;-1:-1:-1;;;30038:32:28;;;;;29498:676::o;39180:109::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39259:23;:21;:23::i;:::-;39180:109::o;47144:237::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;47318:18:28;;;47276:39;47318:18;;;:8;:18;;;;;47346:16;;:28;47144:237::o;38834:269::-;-1:-1:-1;;;;;39017:23:28;;;38941:17;39017:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;39072:24;;;;;;38834:269::o;12255:1227::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12651:170;12713:17;12744:5;12763:18;12795:16;12651:48;:170::i;:::-;12832:91;12895:18;12832:49;:91::i;:::-;12934:186;12984:17;13015:5;13034:18;13066:14;13094:16;12934:36;:186::i;:::-;13131:88;13178:17;13197:18;13217:1;13131:46;:88::i;:::-;13235:25;13230:245;;13276:188;13340:18;13376:1;13395:55;:22;13422:27;13395:55;:26;:55;:::i;:::-;13276:46;:188::i;:::-;12255:1227;;;;;;;;;:::o;22110:224::-;-1:-1:-1;;;;;22257:18:28;;;22196:7;22257:18;;;:8;:18;;;;;22292:35;;;;;22110:224::o;36679:264::-;-1:-1:-1;;;;;36865:23:28;;;36799:7;36865:23;;;:16;:23;;;;;;;;:33;;;;;;;;;36915:21;;;36679:264;;;;:::o;46706:247::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;46885:18:28;;;46843:39;46885:18;;;:8;:18;;;;;46913:24;;:33;46706:247::o;45023:189::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45153:18:28;45111:39;45153:18;;;:8;:18;;;;;45181:17;;:24;;-1:-1:-1;;;;45181:24:28;-1:-1:-1;;;45181:24:28;;;45023:189::o;24652:208::-;-1:-1:-1;;;;;24792:18:28;24731:7;24792:18;;;:8;:18;;;;;24827:26;;;;24652:208::o;26849:476::-;-1:-1:-1;;;;;26992:18:28;;;26931:7;26992:18;;;:8;:18;;;;;;;;27067:17;;:40;;-1:-1:-1;;;27067:40:28;;;;26931:7;;26992:18;;26931:7;;27067:17;;;;;:38;;:40;;;;;26992:18;27067:40;;;;;:17;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;27067:40:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27067:40:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27067:40:28;27123:31;;;;27067:40;;-1:-1:-1;27119:151:28;;27223:6;-1:-1:-1;;;;;27223:26:28;;27250:8;27223:36;;;;;;;;;;;;;-1:-1:-1;;;;;27223:36:28;-1:-1:-1;;;;;27223:36:28;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27223:36:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27223:36:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27223:36:28;;-1:-1:-1;27216:43:28;;-1:-1:-1;;27216:43:28;27119:151;-1:-1:-1;27287:31:28;;;;26849:476;-1:-1:-1;;26849:476:28:o;17538:683::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17733:12;17808:9;:14;17787:115;;;;-1:-1:-1;;;17787:115:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17927:26;:24;:26::i;:::-;-1:-1:-1;;;;;17917:36:28;:6;-1:-1:-1;;;;;17917:36:28;;17913:302;;17969:47;-1:-1:-1;;;;;17969:26:28;;17996:10;18008:7;17969:47;:26;:47;:::i;:::-;17913:302;;;18104:45;;18087:11;;-1:-1:-1;;;;;18104:15:28;;;18139:5;;18126:7;;18087:11;18104:45;18087:11;18104:45;18126:7;18104:15;18139:5;18104:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;26198:434:28;-1:-1:-1;;;;;26345:18:28;;26284:7;26345:18;;;:8;:18;;;;;26378:33;;;;26374:202;;26484:7;:35;;;;;;;;;;-1:-1:-1;;;;;26484:35:28;-1:-1:-1;;;;;26455:108:28;;:110;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26455:110:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26455:110:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26455:110:28;;-1:-1:-1;26432:133:28;;-1:-1:-1;26432:133:28;26374:202;26592:33;;;;26198:434;-1:-1:-1;;26198:434:28:o;25017:212::-;-1:-1:-1;;;;;25159:18:28;25098:7;25159:18;;;:8;:18;;;;;25194:28;;;;25017:212::o;33977:265::-;-1:-1:-1;;;;;34165:23:28;;;34102:4;34165:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;34215:20;;;-1:-1:-1;;;34215:20:28;;;;;33977:265::o;31481:219::-;-1:-1:-1;;;;;31625:18:28;31567:4;31625:18;;;:8;:18;;;;;31660:33;;;-1:-1:-1;;;31660:33:28;;;;;31481:219::o;37259:596::-;-1:-1:-1;;;;;37452:23:28;;;37368:7;37452:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;37499:27;;37368:7;;;;37495:79;;-1:-1:-1;37555:1:28;;-1:-1:-1;37555:1:28;;-1:-1:-1;37555:1:28;;-1:-1:-1;37547:16:28;;37495:79;37604:27;;-1:-1:-1;;;;;37739:18:28;;37584:17;37739:18;;;:8;:18;;;;;37669:98;;37604:4;;37669:38;:98::i;:::-;37641:126;-1:-1:-1;37785:9:28;37641:126;37815:32;37641:126;37785:9;37815:32;:21;:32;:::i;:::-;37777:71;;;;;;;;;37259:596;;;;;;:::o;30320:129::-;-1:-1:-1;;;;;30415:18:28;30389:7;30415:18;;;:8;:18;;;;;:27;;;;30320:129::o;42640:380::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42866:18:28;;;;;;:8;:18;;;;;;:147;;-1:-1:-1;;;42866:147:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;;:147;;;;;;;;;;;:37;:147;;;5:2:-1;;;;30:1;27;20:12;5:2;42866:147:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;42866:147:28;;;;42640:380;;;;:::o;42371:144::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42471:18:28;;;;;;:8;:18;;;;;;:37;;-1:-1:-1;;;42471:37:28;;;;;;;;;;;:35;;;;:37;;;;;;;;;;;:35;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;42471:37:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;13840:520:28;3209:18;;13989:7;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14012:72;14050:8;14060:5;14067:16;14012:37;:72::i;:::-;14145:69;14180:8;14190:5;14197:16;14145:34;:69::i;:::-;14224:62;14271:8;14281:1;14284;14224:46;:62::i;:::-;-1:-1:-1;;;;;;14303:23:28;;;;;;;:16;:23;;;;;;;;:33;;;;;;;;;:50;;;3298:1;13840:520;;;;;:::o;5678:582::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5927:18:28;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;5981:76;6028:8;6038:1;6041:15;5981:46;:76::i;:::-;6151:23;6147:107;;;6190:53;6220:8;6230:5;6237;6190:29;:53::i;28770:263::-;-1:-1:-1;;;;;28950:18:28;28885:7;28950:18;;;:8;:18;;;;;28985:41;;;;28770:263::o;44101:389::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;44233:18:28;;44191:39;44233:18;;;:8;:18;;;;;44283:36;;:40;;;;:105;;;44387:1;44343:7;:41;;;:45;44283:105;44262:188;;;;-1:-1:-1;;;44262:188:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44460:16;;:23;;-1:-1:-1;;;;44460:23:28;-1:-1:-1;;;44460:23:28;;;-1:-1:-1;44101:389:28:o;43776:223::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43923:18:28;43881:39;43923:18;;;:8;:18;;;;;43951:33;;:41;;-1:-1:-1;;;;43951:41:28;;;43776:223::o;4783:529::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4958:18:28;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;5012:68;5059:8;5069:7;5078:1;5012:46;:68::i;:::-;5095:15;5091:215;;;5243:52;5273:8;5283:5;5290:4;5243:29;:52::i;28384:224::-;-1:-1:-1;;;;;28530:18:28;28469:7;28530:18;;;:8;:18;;;;;28565:36;;28384:224::o;33080:438::-;-1:-1:-1;;;;;33215:18:28;;33154:7;33215:18;;;:8;:18;;;;;33154:7;33267:25;33215:18;33267:23;:25::i;:::-;33244:48;-1:-1:-1;33307:17:28;33303:56;;33347:1;33340:8;;;;;;33303:56;33369:26;33398:38;33427:8;33398:28;:38::i;:::-;33369:67;-1:-1:-1;33454:57:28;33474:36;33369:67;33497:12;33474:36;:22;:36;:::i;:::-;33454:12;;:57;:19;:57;:::i;:::-;33447:64;33080:438;-1:-1:-1;;;;;33080:438:28:o;23482:245::-;-1:-1:-1;;;;;23616:18:28;;23555:7;23616:18;;;:8;:18;;;;;23651:69;23694:25;23616:18;23694:23;:25::i;:::-;23651:38;23680:8;23651:28;:38::i;:::-;:42;:69;:42;:69;:::i;4243:176::-;1139:16:45;1158:13;:11;:13::i;:::-;1189:12;;1139:32;;-1:-1:-1;1189:12:45;;;:31;;;1205:15;:13;:15::i;:::-;1189:69;;;;1235:23;;1224:8;:34;1189:69;1181:128;;;;-1:-1:-1;;;1181:128:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1343:12;;;;1342:13;1365:112;;;;1414:4;1399:19;;-1:-1:-1;;1399:19:45;;;;;:12;1432:34;;;1365:112;4341:17:28;:38;;-1:-1:-1;;;;;;4341:38:28;-1:-1:-1;;;;;4341:38:28;;;;;4389:23;:21;:23::i;:::-;1503:14:45;1499:65;;;1533:12;:20;;-1:-1:-1;;1533:20:45;;;4243:176:28;;;:::o;28000:212::-;-1:-1:-1;;;;;28142:18:28;28081:7;28142:18;;;:8;:18;;;;;28177:28;;;;28000:212::o;3016:53::-;;;-1:-1:-1;;;;;3016:53:28;;:::o;25759:204::-;-1:-1:-1;;;;;25897:18:28;25836:7;25897:18;;;:8;:18;;;;;25932:24;;;;25759:204::o;16372:892::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16608:12;16677:26;:24;:26::i;:::-;-1:-1:-1;;;;;16667:36:28;:6;-1:-1:-1;;;;;16667:36:28;;16663:595;;16744:9;:14;16719:168;;;;-1:-1:-1;;;16719:168:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16901:58;-1:-1:-1;;;;;16901:30:28;;16932:5;16939:10;16951:7;16901:58;:30;:58;:::i;:::-;16663:595;;;17011:7;16998:9;:20;;16990:86;;;;-1:-1:-1;;;16990:86:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17147:45;;17130:11;;-1:-1:-1;;;;;17147:15:28;;;17182:5;;17169:7;;17130:11;17147:45;17130:11;17147:45;17169:7;17147:15;17182:5;17147:45;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;17129:63:28;;;17214:6;17206:41;;;;;-1:-1:-1;;;17206:41:28;;;;;;;;;;;;-1:-1:-1;;;17206:41:28;;;;;;;;;;;;;;;16663:595;3298:1;16372:892;;;;:::o;40105:1219::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40238:12;40251:19;;40216;;40238:12;-1:-1:-1;;40251:21:28;;;40238:35;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40238:35:28;;;;-1:-1:-1;40292:31:28;;;;40284:105;;;;-1:-1:-1;;;40284:105:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40556:35;40579:11;40556:22;:35::i;:::-;:40;40548:101;;;;-1:-1:-1;;;40548:101:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40660:21:28;;40693:5;40660:21;;;:8;:21;;;;;:30;;;:38;;40708:35;;;:48;;-1:-1:-1;;;;;;40708:48:28;;;40766:30;;;:34;;;40810:54;;;40874:55;;;:59;;;41063:41;;;:45;;;41118:42;;;:46;;;41174:38;;;;:42;;;;-1:-1:-1;;;;;;41226:62:28;;;41299:12;:18;;;;;;;;;;;;;;;;-1:-1:-1;;41299:18:28;;;;;-1:-1:-1;;;;;;41299:18:28;;;;;;-1:-1:-1;;40105:1219:28:o;23993:209::-;-1:-1:-1;;;;;24131:18:28;;24070:7;24131:18;;;:8;:18;;;;;24166:29;24131:18;24166:27;:29::i;2976:33::-;;;-1:-1:-1;;;;;2976:33:28;;:::o;45782:249::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45962:18:28;;;45920:39;45962:18;;;:8;:18;;;;;45990:27;;:34;45782:249::o;9260:739::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:151;9570:8;9592:5;9611:23;9648:16;9523:33;:151::i;:::-;9684:213;9728:8;9750:5;9769:23;9806:21;9841:16;9871;9684:30;:213::i;:::-;9908:84;9955:8;9965:23;9990:1;9908:46;:84::i;43424:221::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43570:18:28;43528:39;43570:18;;;:8;:18;;;;;43598:33;;:40;;-1:-1:-1;;;;43598:40:28;-1:-1:-1;;;43598:40:28;;;43424:221::o;19850:705::-;-1:-1:-1;;;;;20052:18:28;;;19963:7;20052:18;;;:8;:18;;;;;;;;20123:23;;;;;:16;:23;;;;;:33;;;;;;;;;19963:7;;;;;;;;;20195:46;20061:8;20140:5;20195:29;:46::i;:::-;20256:27;;20167:74;;-1:-1:-1;20252:117:28;;20337:20;;;;;20312:17;;-1:-1:-1;20331:1:28;;-1:-1:-1;20331:1:28;;-1:-1:-1;20337:20:28;-1:-1:-1;;;20337:20:28;;;;;-1:-1:-1;20304:54:28;;-1:-1:-1;20304:54:28;20252:117;20400:17;20431:40;:4;20463:7;20431:40;:31;:40;:::i;:::-;20485:19;;;;20518:20;;;;;20379:169;;-1:-1:-1;20379:169:28;-1:-1:-1;20485:19:28;;-1:-1:-1;;;;;20518:20:28;;;;;-1:-1:-1;;19850:705:28;;;;;;;;:::o;20861:544::-;-1:-1:-1;;;;;21059:18:28;;;20997:4;21059:18;;;:8;:18;;;;;;;;21130:23;;;;;:16;:23;;;;;:33;;;;;;;;;21179;;;;20997:4;;21059:18;-1:-1:-1;;;21179:33:28;;;;21174:52;;21221:5;21214:12;;;;;;21174:52;21257:20;;;;-1:-1:-1;;;21257:20:28;;;;21256:21;;:70;;-1:-1:-1;21294:32:28;;;;-1:-1:-1;;;21294:32:28;;;;21293:33;21256:70;:142;;;;21352:46;21382:8;21392:5;21352:29;:46::i;:::-;21342:7;:56;21256:142;21237:161;20861:544;-1:-1:-1;;;;;;20861:544:28:o;22922:338::-;22999:7;;23064:26;:24;:26::i;:::-;-1:-1:-1;;;;;23052:38:28;:8;-1:-1:-1;;;;;23052:38:28;;23048:182;;;-1:-1:-1;23116:21:28;23048:182;;;23178:41;;;-1:-1:-1;;;23178:41:28;;23213:4;23178:41;;;;;;-1:-1:-1;;;;;23178:26:28;;;;;:41;;;;;;;;;;;;;;:26;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;23178:41:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23178:41:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23178:41:28;;23246:7;-1:-1:-1;;;22922:338:28:o;24360:140::-;-1:-1:-1;;;;;24457:18:28;;24431:7;24457:18;;;:8;:18;;;;;:36;;:34;:36::i;43146:148::-;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;43247:18:28;;;;;;:8;:18;;;;;;:40;;-1:-1:-1;;;43247:40:28;;;;;;;;;;;:38;;;;:40;;;;;;;;;;;:38;:40;;;5:2:-1;;;;30:1;27;20:12;42039:217:28;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42189:18:28;;;;;;:8;:18;;;;;;:60;;-1:-1:-1;;;42189:60:28;;;;;;;;;;;;;;;;;;:34;;;;:60;;;;;;;;;;;:34;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;42189:60:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;45400:192:28;3483:17;;:46;;;-1:-1:-1;;;3483:46:28;;;;3533:10;;-1:-1:-1;;;;;3483:17:28;;:44;;:46;;;;;;;;;;;;;;:17;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;3483:46:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3483:46:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3483:46:28;-1:-1:-1;;;;;3483:60:28;;3462:162;;;;-1:-1:-1;;;3462:162:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45532:18:28;45490:39;45532:18;;;:8;:18;;;;;45560:17;;:25;;-1:-1:-1;;;;45560:25:28;;;45400:192::o;25392:212::-;-1:-1:-1;;;;;25534:18:28;25473:7;25534:18;;;:8;:18;;;;;25569:28;;;;25392:212::o;10525:885::-;3209:18;;10817:28;;;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10866:192;10916:8;10938:5;10957:23;10994:24;11032:16;10866:36;:192::i;:::-;11069:40;11112:144;11159:8;11181:5;11200:16;11230;11112:33;:144::i;:::-;11069:187;;11267:62;11314:8;11324:1;11327;11267:46;:62::i;:::-;11348:11;11361:41;11386:8;11396:5;11361:24;:41::i;:::-;11340:63;;;;;10525:885;;;;;;;;;:::o;38201:287::-;-1:-1:-1;;;;;38393:23:28;;;38327:7;38393:23;;;:16;:23;;;;;;;;:33;;;;;;;;;38443:38;;;38201:287;;;;:::o;14660:280::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14851:23:28;;;14808:40;14851:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;14894:20;;:39;;;;;-1:-1:-1;;;14894:39:28;-1:-1:-1;;14894:39:28;;;;;;;;;14660:280::o;15596:439::-;3209:18;;-1:-1:-1;;;;;3209:18:28;3231:10;3209:32;3201:87;;;;-1:-1:-1;;;3201:87:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15749:26;:24;:26::i;:::-;-1:-1:-1;;;;;15737:38:28;:8;-1:-1:-1;;;;;15737:38:28;;15733:296;;15791:44;-1:-1:-1;;;;;15791:28:28;;15820:5;15827:7;15791:44;:28;:44;:::i;15733:296::-;15923:40;;15906:11;;-1:-1:-1;;;;;15923:10:28;;;15953:5;;15940:7;;15906:11;15923:40;15906:11;15923:40;15940:7;15923:10;15953:5;15923:40;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;15905:58:28;;;15985:6;15977:41;;;;;-1:-1:-1;;;15977:41:28;;;;;;;;;;;;-1:-1:-1;;;15977:41:28;;;;;;;;;;;;;;34475:253;-1:-1:-1;;;;;34652:23:28;;;34586:7;34652:23;;;:16;:23;;;;;;;;:33;;;;;;;;;34702:19;;;34475:253;;;;:::o;67237:500::-;67378:17;;:39;;;-1:-1:-1;;;67378:39:28;;;;67335:24;;-1:-1:-1;;;;;67378:17:28;;:37;;:39;;;;;;;;;;;;;;:17;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;67378:39:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;67378:39:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;67378:39:28;;-1:-1:-1;67444:26:28;:24;:26::i;:::-;-1:-1:-1;;;;;67434:36:28;:6;-1:-1:-1;;;;;67434:36:28;;67430:301;;67486:45;-1:-1:-1;;;;;67486:26:28;;67513:8;67523:7;67486:45;:26;:45;:::i;67430:301::-;67619:32;;67602:11;;-1:-1:-1;;;;;67619:13:28;;;67639:7;;67602:11;67619:32;67602:11;67619:32;67639:7;67619:13;:32;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;67601:50:28;;;67673:6;67665:55;;;;-1:-1:-1;;;67665:55:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4415:923:33;4494:20;4517:22;4533:5;4517:15;:22::i;:::-;4494:45;-1:-1:-1;4554:16:33;;4550:782;;4732:26;;;;4776:25;;;;4654:34;;4691:124;;-1:-1:-1;;;4776:25:33;;;;4691:23;:124::i;:::-;4918:34;;4654:161;;-1:-1:-1;4867:99:33;;4654:161;;4867:99;:33;:99;:::i;:::-;4830:136;;5068:31;;;;5117:25;;;;4830:34;;5023:133;;-1:-1:-1;;;5117:25:33;;;;5023:27;:133::i;:::-;4981:175;;5212:109;5268:5;:39;;;5212:31;:38;;:109;;;;:::i;:::-;5170:39;;;:151;-1:-1:-1;;4550:782:33;4415:923;;:::o;834:176:106:-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:106;;;;;;;;;;;;;;;;;;;;;;;;;;;5723:460:33;5875:30;5908:53;5934:26;:15;:24;:26::i;:::-;5908:18;:7;:16;:18::i;:::-;:25;:53;:25;:53;:::i;:::-;5875:86;;5972:26;6001:44;6028:16;:14;:16::i;:::-;6001:22;;:44;:26;:44;:::i;:::-;6132:34;;5972:73;;-1:-1:-1;6093:83:33;;5972:73;;6093:83;:25;:83;:::i;:::-;6056:120;;;-1:-1:-1;;;;5723:460:33:o;65657:1356:28:-;-1:-1:-1;;;;;65872:18:28;;;65830:39;65872:18;;;:8;:18;;;;;65932:38;;;;66100:52;;;;65872:18;;65932:38;;65830:39;;;;;66100:52;66058:140;65881:8;66234:80;66298:15;66234:59;66277:15;66234:38;65881:8;66234:28;:38::i;:59::-;:63;:80;:63;:80;:::i;:::-;66328:7;:26;;;66368:7;:28;;;66410:20;66058:382;;;;;;;;;;;;;-1:-1:-1;;;;;66058:382:28;-1:-1:-1;;;;;66058:382:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;66058:382:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;66058:382:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;66058:382:28;;;;;;;;;;;;66451:28;;;:47;;;66508:31;;;:47;;;66565:33;;;:51;;;66662:27;;;:53;;;66699:15;66662:53;-1:-1:-1;;;66662:53:28;-1:-1:-1;;;;66662:53:28;;;;;;66905:36;;66955:41;;;;66731:275;;;;;;;;;;;;;;;;;66058:382;66731:275;;;;;;;;;;;;;;;;;;66058:382;;-1:-1:-1;66058:382:28;-1:-1:-1;66058:382:28;;-1:-1:-1;;;;;;66731:275:28;;;;;;;;;;;;;65657:1356;;;;;;;;:::o;184:119:34:-;254:42;184:119;:::o;842:202:112:-;968:68;;;-1:-1:-1;;;;;968:68:112;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;968:68:112;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;942:95:112;;961:5;;942:18;:95::i;1274:179:106:-;1332:7;1364:1;1359;:6;;1351:49;;;;;-1:-1:-1;;;1351:49:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:106;;;1274:179::o;47970:774:28:-;-1:-1:-1;;;;;48244:18:28;;;;;;:8;:18;;;;;:44;;:42;:44::i;:::-;48524:213;48581:8;48603:5;48622:23;48659:16;48689:15;48718:9;48524:43;:213::i;49257:1422::-;-1:-1:-1;;;;;49551:18:28;;;49509:39;49551:18;;;:8;:18;;;;;;;;49622:23;;;;;:16;:23;;;;;:33;;;;;;;49683:35;49670:9;:48;;;;;;;;;49666:652;;;49851:31;;;;49827:21;;;:55;49937:1;49896:38;;;:42;49666:652;;;49972:37;49959:9;:50;;;;;;;;;49955:363;;;50145:1;50121:21;;;:25;50201:41;;;;50160:38;;;:82;49955:363;;;50273:34;;;-1:-1:-1;;;50273:34:28;;;;;;;;;;;;;;;;;;;;;;;;;;;49955:363;50422:27;;:92;;50488:16;;50422:48;;50454:15;50422:48;:31;:48;:::i;:92::-;50392:122;;50546:19;;;;:29;;50570:4;50546:29;:23;:29;:::i;:::-;50524:19;;;:51;50621:24;;:50;;-1:-1:-1;;50621:50:28;50655:15;50621:50;;;;;-1:-1:-1;;;;;;;49257:1422:28:o;35832:524::-;35946:7;35969:37;36009:45;36038:8;36048:5;36009:28;:45::i;:::-;35969:85;-1:-1:-1;36081:33:28;36069:8;:45;;;;;;;;;36065:84;;;36137:1;36130:8;;;;;36065:84;36190:35;36178:8;:47;;;;;;;;;:171;;-1:-1:-1;;;;;36305:18:28;;;;;;:8;:18;;;;;:44;;;36178:171;;;-1:-1:-1;;;;;;;36240:23:28;;;;;;;:16;:23;;;;;;;;:33;;;;;;;;;;;;:50;;;;35832:524::o;68016:336::-;68087:24;;68129:154;68153:12;:19;68149:23;;68129:154;;;68214:8;-1:-1:-1;;;;;68195:27:28;:12;68208:1;68195:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;68195:15:28;:27;68191:92;;;68264:4;68242:26;;68191:92;68174:3;;68129:154;;;;68297:19;68292:53;;68318:12;27:10:-1;;39:1;23:18;;45:23;;-1:-1;68318:27:28;;;;;;;;-1:-1:-1;;;;;68318:27:28;;-1:-1:-1;;;;;;68318:27:28;;;;;;68016:336;;:::o;67817:114::-;67890:17;;;;;;;;;-1:-1:-1;;;;;67890:17:28;-1:-1:-1;;;;;67890:32:28;;:34;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;67890:34:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;67890:34:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;67890:34:28;67869:18;:55;;-1:-1:-1;;;;;;67869:55:28;-1:-1:-1;;;;;67869:55:28;;;;;;;;;67817:114::o;58158:1412::-;-1:-1:-1;;;;;58411:27:28;;;58369:39;58411:27;;;:8;:27;;;;;;;;58491:23;;;;;:16;:23;;;;;:42;;;;;;;58584:33;58411:27;58584:31;:33::i;:::-;58628:43;58674:88;58716:17;58747:5;58674:28;:88::i;:::-;58628:134;-1:-1:-1;58795:35:28;58777:53;:14;:53;;;;;;;;;58773:790;;;59020:21;;;;58914:141;;:7;;58986:16;;58914:141;:54;:141;:::i;:::-;59235:21;;;;59127:143;;:7;;59199:18;;59127:143;:54;:143;:::i;:::-;58773:790;;;59370:54;:7;59407:16;59370:54;:36;:54;:::i;:::-;59496:56;:7;59533:18;59496:56;:36;:56;:::i;:::-;58158:1412;;;;;;;:::o;59784:218::-;-1:-1:-1;;;;;59940:28:28;;;;;;:8;:28;;;;;:54;;:52;:54::i;:::-;59784:218;:::o;60474:1047::-;-1:-1:-1;;;;;60739:23:28;;;60696:40;60739:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;60824:8;:18;;;;;;60974:27;;:95;;61041:18;;60974:49;;61006:16;60974:49;:31;:49;:::i;:95::-;60944:125;;61146:37;61097:45;61126:8;61136:5;61097:28;:45::i;:::-;:86;;;;;;;;;61080:221;;;61249:41;;;;61208:38;;;:82;61080:221;61314:18;;61311:108;;61369:19;;;;:39;;61393:14;61369:39;:23;:39;:::i;:::-;61347:19;;;:61;61311:108;-1:-1:-1;61464:24:28;;:50;;-1:-1:-1;;61464:50:28;61498:15;61464:50;;;;;-1:-1:-1;;;;;60474:1047:28:o;662:174:112:-;770:58;;;-1:-1:-1;;;;;770:58:112;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;770:58:112;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;744:85:112;;763:5;;744:18;:85::i;9589:1556:33:-;9778:28;;9755:7;;9774:47;;-1:-1:-1;9820:1:33;9813:8;;9774:47;9832:33;9868:39;:5;:28;;;:37;:39::i;:::-;10000:22;;;;9832:75;;-1:-1:-1;9917:25:33;;;;10000:26;9996:598;;10107:22;;;;10147:25;;;;10062:124;;10107:22;10147:25;;10062:27;:124::i;:::-;10042:144;;9996:598;;;10269:314;10543:5;:39;;;10269:249;10475:8;:42;;;10269:181;10314:8;:55;;;10387:8;:49;;;;;;;;;;;;10269:27;:181::i;:::-;:205;:249;:205;:249;:::i;:314::-;10249:334;;9996:598;10624:62;:51;:25;10657:17;10624:51;:32;:51;:::i;:::-;:60;:62::i;:::-;10722:28;;10604:82;;-1:-1:-1;10701:49:33;;10697:407;;;10809:25;;;;;;10838:15;10809:44;10805:289;;11040:28;;:39;;11073:5;11040:39;:32;:39;:::i;:::-;11033:46;;;;;;;10805:289;-1:-1:-1;11121:17:33;9589:1556;-1:-1:-1;;;;9589:1556:33:o;61836:493:28:-;-1:-1:-1;;;;;62033:18:28;;;61991:39;62033:18;;;:8;:18;;;;;;;;62104:23;;;;;:16;:23;;;;;:33;;;;;;;62148;62033:18;62148:31;:33::i;:::-;62290:21;;;;62192:129;;:7;;62260:16;;62192:129;:54;:129;:::i;62641:556::-;-1:-1:-1;;;;;62836:23:28;;;62793:40;62836:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;62921:8;:18;;;;;;62980:27;;:49;;63012:16;62980:49;:31;:49;:::i;:::-;62950:79;;63063:31;;;63039:21;;;:55;63140:24;;:50;;-1:-1:-1;;63140:50:28;63174:15;63140:50;;;;;-1:-1:-1;;;62641:556:28:o;16475:213:33:-;16589:7;16619:62;16651:8;:29;;;16619:8;:27;;;:31;;:62;;;;:::i;2133:154:36:-;2194:7;2233:1;2229:5;;2252:28;2229:1;2252:21;2262:10;:1;444:4;2262:5;:10::i;:::-;2252:5;;:21;:9;:21;:::i;:::-;:25;:28;:25;:28;:::i;3972:92:28:-;3891:3;3972:92;:::o;1845:556:45:-;2353:7;2341:20;2387:7;1845:556;:::o;3795:407:33:-;3913:7;3936:17;3956:211;4129:8;:37;;;3956:152;3993:8;:46;;;4053:8;:45;;;;;;;;;;;;3956:23;:152::i;51057:1192:28:-;-1:-1:-1;;;;;51291:18:28;;;51249:39;51291:18;;;:8;:18;;;;;;;;51362:23;;;;;:16;:23;;;;;:33;;;;;;;;;;51452:45;51300:8;51379:5;51452:28;:45::i;:::-;-1:-1:-1;;;;;51537:18:28;;;;;;:8;:18;;;;;51406:91;;-1:-1:-1;51537:44:28;;:42;:44::i;:::-;51718:35;51700:53;;52775:1266;-1:-1:-1;;;;;53076:18:28;;;53034:39;53076:18;;;:8;:18;;;;;;;;53147:23;;;;;:16;:23;;;;;:33;;;;;;;53343:27;;:100;;53410:23;;53343:49;;53375:16;53343:49;:31;:49;:::i;:100::-;53313:130;;53494:41;;;;53453:38;;;:82;53732:128;;;;53792:1;53768:21;;;:25;;;53807:38;;;:42;53732:128;53891:19;;;;:46;;53915:21;53891:46;:23;:46;:::i;54525:1471::-;-1:-1:-1;;;;;54825:18:28;;;54783:39;54825:18;;;:8;:18;;;;;;;;54896:23;;;;;:16;:23;;;;;:33;;;;;;;54978;54825:18;54978:31;:33::i;:::-;55046:35;55026:16;:55;;;;;;;;;55022:968;;;55129:21;;;;55196:148;:7;55268:23;55129:21;55196:148;:54;:148;:::i;:::-;55405:62;:7;55442:24;55405:62;:36;:62;:::i;:::-;55022:968;;;;55536:37;55516:16;:57;;;;;;;;;55512:478;;;55646:31;;;;55691:61;55646:7;55728:23;55691:61;:36;:61;:::i;:::-;55766:145;:7;55838:24;55880:17;55766:145;:54;:145;:::i;55512:478::-;55943:36;;;-1:-1:-1;;;55943:36:28;;;;;;;;;;;;;;;;;;;;;;;;;;;56375:1380;-1:-1:-1;;;;;56663:23:28;;;56580:28;56663:23;;;:16;:23;;;;;;;;:33;;;;;;;;;;;56748:8;:18;;;;;;56580:28;;56663:33;56580:28;56884:37;56864:16;:57;;;;;;;;;56860:639;;;-1:-1:-1;57051:31:28;;;;57027:21;;;:55;57137:1;56978:35;57096:38;;;:42;;;;56860:639;;;57179:35;57159:16;:55;;;;;;;;;57155:344;;;-1:-1:-1;57315:1:28;57291:21;;;:25;57371:41;;;;57330:38;;;:82;57240:37;57155:344;;;57443:45;;-1:-1:-1;;;57443:45:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57155:344;57579:27;;:49;;57611:16;57579:49;:31;:49;:::i;:::-;57549:79;;57673:24;;;;:50;;-1:-1:-1;;57673:50:28;57707:15;57673:50;;;;;-1:-1:-1;57673:24:28;56375:1380;-1:-1:-1;;;;;56375:1380:28:o;15174:419:33:-;15298:7;;15381:50;:15;15401:29;;;15381:50;:19;:50;:::i;:::-;15356:75;;15442:17;15462:61;15495:27;427:8;15495:25;:27::i;15462:61::-;15442:81;;15541:45;15569:16;:14;:16::i;:::-;15541:23;:5;15554:9;15541:23;:12;:23;:::i;1845:124:36:-;1906:7;1932:30;444:4;1932:21;1944:8;:1;1950;1944:8;:5;:8;:::i;:::-;490:7;;1932:11;:21::i;15902:406:33:-;16030:7;;16113:50;:15;16133:29;;;16113:50;:19;:50;:::i;:::-;16088:75;-1:-1:-1;16174:21:33;16198:27;:5;427:8;16198:27;:9;:27;:::i;:::-;16174:51;;16243:58;16286:14;16243:35;16261:16;:14;:16::i;16243:35::-;:42;:58;:42;:58;:::i;2702:105:36:-;2754:7;2780:20;:1;546:3;2780:20;:5;:20;:::i;600:74::-;444:4;600:74;:::o;2621:1095:112:-;3216:27;3224:5;-1:-1:-1;;;;;3216:25:112;;:27::i;:::-;3208:71;;;;;-1:-1:-1;;;3208:71:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;3350:12;3364:23;3399:5;-1:-1:-1;;;;;3391:19:112;3411:4;3391:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3391:25:112;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;3349:67:112;;;;3434:7;3426:52;;;;;-1:-1:-1;;;3426:52:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:17;;:21;3489:221;;3633:10;3622:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3622:30:112;3614:85;;;;-1:-1:-1;;;3614:85:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;63581:1538:28;63867:45;63915:79;63957:8;63979:5;63915:28;:79::i;:::-;-1:-1:-1;;;;;64046:18:28;;64004:39;64046:18;;;:8;:18;;;;;63867:127;;-1:-1:-1;64099:35:28;64079:16;:55;;;;;;;;;64075:467;;;-1:-1:-1;;;;;64193:23:28;;;64150:40;64193:23;;;:16;:23;;;;;;;;:33;;;;;;;;;64347:21;;;;64240:142;;:7;;64312:17;;64240:142;:54;:142;:::i;:::-;64075:467;;;;64423:37;64403:16;:57;;;;;;;;;64399:143;;;64476:55;:7;64513:17;64476:55;:36;:55;:::i;:::-;64552:26;64581:60;64625:15;64581:39;:17;64603:16;64581:39;:21;:39;:::i;:60::-;64552:89;-1:-1:-1;64677:35:28;64655:18;:57;;;;;;;;;64651:462;;;64836:31;;;;64728:153;;64836:7;;64800:18;;64728:153;:54;:153;:::i;:::-;64651:462;;;64924:37;64902:18;:59;;;;;;;;;64898:215;;;64977:56;:7;65014:18;64977:56;:36;:56;:::i;64898:215::-;65064:38;;;-1:-1:-1;;;65064:38:28;;;;;;;;;;;;;;;;;;;;;;;;;;;11474:851:33;11677:27;;;;11786:40;11677:27;11818:7;11786:40;:31;:40;:::i;:::-;11756:27;;;:70;11924:26;11953:32;11979:5;11953:18;:7;:16;:18::i;:32::-;11924:61;;11995:36;12034:106;12091:8;:39;;;12034:36;:25;:34;:36::i;:106::-;11995:145;;12193:125;12279:38;:8;:27;;;:36;:38::i;:::-;12193:65;:18;12229:28;12193:65;:35;:65;:::i;:125::-;12151:8;:39;;:167;;;;11474:851;;;;;;:::o;12658:1267::-;12864:7;12833:8;:27;;;:38;;12825:77;;;;;-1:-1:-1;;;12825:77:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;12949:27;;;;13059:40;12949:27;13091:7;13059:40;:31;:40;:::i;:::-;13029:27;;;:70;;;13110:174;;-1:-1:-1;13204:1:33;13162:39;;;:43;13267:7;;13110:174;13381:26;13410:32;13436:5;13410:18;:7;:16;:18::i;:32::-;13381:61;;13452:36;13491:106;13548:8;:39;;;13491:36;:25;:34;:36::i;:106::-;13452:145;;13661:18;13629:28;:50;;13608:132;;;;-1:-1:-1;;;13608:132:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13793:125;13879:38;:8;:27;;;:36;:38::i;:::-;13793:65;:28;13839:18;13793:65;:45;:65;:::i;14115:185::-;14251:29;;;;:42;;14285:7;14251:42;:33;:42;:::i;:::-;14219:8;:29;;:74;;;;14115:185;;:::o;14496:362::-;14654:7;14621:8;:29;;;:40;;14600:167;;;;-1:-1:-1;;;14600:167:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14809:29;;;;:42;;14843:7;14809:42;:33;:42;:::i;2427:168:36:-;2479:7;2518:17;2553:35;546:3;2553:16;2518:17;2567:1;2553:13;:16::i;1693:458:106:-;1751:7;1991:6;1987:45;;-1:-1:-1;2020:1:106;2013:8;;1987:45;2054:5;;;2058:1;2054;:5;:1;2077:5;;;;;:10;2069:56;;;;-1:-1:-1;;;2069:56:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:326;2664:7;2761:1;2757;:5;2749:44;;;;;-1:-1:-1;;;2749:44:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;2803:9;2819:1;2815;:5;;;;;;;2606:326;-1:-1:-1;;;;2606:326:106:o;2958:273:36:-;3019:9;3049:1;3045;:5;:20;;444:4;3045:20;;;3058:1;3045:20;3041:24;-1:-1:-1;3086:1:36;3081:6;;;;3076:149;3089:6;;3076:149;;3123:12;3130:1;3133;3123:6;:12::i;:::-;3119:16;-1:-1:-1;3158:1:36;3154;:5;:10;3150:65;;3188:12;3195:1;3198;3188:6;:12::i;:::-;3184:16;;3150:65;3102:1;3097:6;;;;3076:149;", + "source": "pragma solidity ^0.5.0;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"openzeppelin-solidity/contracts/utils/Address.sol\";\nimport \"../libraries/openzeppelin-upgradeability/VersionedInitializable.sol\";\n\nimport \"../libraries/CoreLibrary.sol\";\nimport \"../configuration/LendingPoolAddressesProvider.sol\";\nimport \"../interfaces/ILendingRateOracle.sol\";\nimport \"../interfaces/IReserveInterestRateStrategy.sol\";\nimport \"../libraries/WadRayMath.sol\";\nimport \"../tokenization/AToken.sol\";\nimport \"../libraries/EthAddressLib.sol\";\n\n/**\n* @title LendingPoolCore contract\n* @author Aave\n* @notice Holds the state of the lending pool and all the funds deposited\n* @dev NOTE: The core does not enforce security checks on the update of the state\n* (eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve).\n* The check that an action can be performed is a duty of the overlying LendingPool contract.\n**/\n\ncontract LendingPoolCore is VersionedInitializable {\n using SafeMath for uint256;\n using WadRayMath for uint256;\n using CoreLibrary for CoreLibrary.ReserveData;\n using CoreLibrary for CoreLibrary.UserReserveData;\n using SafeERC20 for ERC20;\n using Address for address payable;\n\n\n /**\n * @dev DEPRECATED: This event was used in previous LendingPoolCore implementations, and it has been replaced by ReserveDataUpdated()\n * @param reserve the address of the reserve\n * @param liquidityRate the new liquidity rate\n * @param stableBorrowRate the new stable borrow rate\n * @param variableBorrowRate the new variable borrow rate\n * @param liquidityIndex the new liquidity index\n * @param variableBorrowIndex the new variable borrow index\n **/\n event ReserveUpdated(\n address indexed reserve,\n uint256 liquidityRate,\n uint256 stableBorrowRate,\n uint256 variableBorrowRate,\n uint256 liquidityIndex,\n uint256 variableBorrowIndex\n );\n\n\n /**\n * @dev Emitted when the state of a reserve is updated\n * @dev NOTE: This event replaces the Deprecated ReserveUpdated() event, which didn't emit the average stable borrow rate\n * @param reserve the address of the reserve\n * @param liquidityRate the new liquidity rate\n * @param stableBorrowRate the new stable borrow rate\n * @param averageStableBorrowRate the new average stable borrow rate\n * @param variableBorrowRate the new variable borrow rate\n * @param liquidityIndex the new liquidity index\n * @param variableBorrowIndex the new variable borrow index\n **/\n event ReserveDataUpdated(\n address indexed reserve,\n uint256 liquidityRate,\n uint256 stableBorrowRate,\n uint256 averageStableBorrowRate,\n uint256 variableBorrowRate,\n uint256 liquidityIndex,\n uint256 variableBorrowIndex\n );\n\n address public lendingPoolAddress;\n\n LendingPoolAddressesProvider public addressesProvider;\n\n /**\n * @dev only lending pools can use functions affected by this modifier\n **/\n modifier onlyLendingPool {\n require(lendingPoolAddress == msg.sender, \"The caller must be a lending pool contract\");\n _;\n }\n\n /**\n * @dev only lending pools configurator can use functions affected by this modifier\n **/\n modifier onlyLendingPoolConfigurator {\n require(\n addressesProvider.getLendingPoolConfigurator() == msg.sender,\n \"The caller must be a lending pool configurator contract\"\n );\n _;\n }\n\n mapping(address => CoreLibrary.ReserveData) internal reserves;\n mapping(address => mapping(address => CoreLibrary.UserReserveData)) internal usersReserveData;\n\n address[] public reservesList;\n\n uint256 public constant CORE_REVISION = 0x7;\n\n /**\n * @dev returns the revision number of the contract\n **/\n function getRevision() internal pure returns (uint256) {\n return CORE_REVISION;\n }\n\n /**\n * @dev initializes the Core contract, invoked upon registration on the AddressesProvider\n * @param _addressesProvider the addressesProvider contract\n **/\n\n function initialize(LendingPoolAddressesProvider _addressesProvider) public initializer {\n addressesProvider = _addressesProvider;\n refreshConfigInternal();\n }\n\n /**\n * @dev updates the state of the core as a result of a deposit action\n * @param _reserve the address of the reserve in which the deposit is happening\n * @param _user the address of the the user depositing\n * @param _amount the amount being deposited\n * @param _isFirstDeposit true if the user is depositing for the first time\n **/\n\n function updateStateOnDeposit(\n address _reserve,\n address _user,\n uint256 _amount,\n bool _isFirstDeposit\n ) external onlyLendingPool {\n reserves[_reserve].updateCumulativeIndexes();\n updateReserveInterestRatesAndTimestampInternal(_reserve, _amount, 0);\n\n if (_isFirstDeposit) {\n //if this is the first deposit of the user, we configure the deposit as enabled to be used as collateral\n setUserUseReserveAsCollateral(_reserve, _user, true);\n }\n }\n\n /**\n * @dev updates the state of the core as a result of a redeem action\n * @param _reserve the address of the reserve in which the redeem is happening\n * @param _user the address of the the user redeeming\n * @param _amountRedeemed the amount being redeemed\n * @param _userRedeemedEverything true if the user is redeeming everything\n **/\n function updateStateOnRedeem(\n address _reserve,\n address _user,\n uint256 _amountRedeemed,\n bool _userRedeemedEverything\n ) external onlyLendingPool {\n //compound liquidity and variable borrow interests\n reserves[_reserve].updateCumulativeIndexes();\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, _amountRedeemed);\n\n //if user redeemed everything the useReserveAsCollateral flag is reset\n if (_userRedeemedEverything) {\n setUserUseReserveAsCollateral(_reserve, _user, false);\n }\n }\n\n /**\n * @dev updates the state of the core as a result of a flashloan action\n * @param _reserve the address of the reserve in which the flashloan is happening\n * @param _income the income of the protocol as a result of the action\n **/\n function updateStateOnFlashLoan(\n address _reserve,\n uint256 _availableLiquidityBefore,\n uint256 _income,\n uint256 _protocolFee\n ) external onlyLendingPool {\n transferFlashLoanProtocolFeeInternal(_reserve, _protocolFee);\n\n //compounding the cumulated interest\n reserves[_reserve].updateCumulativeIndexes();\n\n uint256 totalLiquidityBefore = _availableLiquidityBefore.add(\n getReserveTotalBorrows(_reserve)\n );\n\n //compounding the received fee into the reserve\n reserves[_reserve].cumulateToLiquidityIndex(totalLiquidityBefore, _income);\n\n //refresh interest rates\n updateReserveInterestRatesAndTimestampInternal(_reserve, _income, 0);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _amountBorrowed the new amount borrowed\n * @param _borrowFee the fee on the amount borrowed\n * @param _rateMode the borrow rate mode (stable, variable)\n * @return the new borrow rate for the user\n **/\n function updateStateOnBorrow(\n address _reserve,\n address _user,\n uint256 _amountBorrowed,\n uint256 _borrowFee,\n CoreLibrary.InterestRateMode _rateMode\n ) external onlyLendingPool returns (uint256, uint256) {\n // getting the previous borrow data of the user\n (uint256 principalBorrowBalance, , uint256 balanceIncrease) = getUserBorrowBalances(\n _reserve,\n _user\n );\n\n updateReserveStateOnBorrowInternal(\n _reserve,\n _user,\n principalBorrowBalance,\n balanceIncrease,\n _amountBorrowed,\n _rateMode\n );\n\n updateUserStateOnBorrowInternal(\n _reserve,\n _user,\n _amountBorrowed,\n balanceIncrease,\n _borrowFee,\n _rateMode\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, _amountBorrowed);\n\n return (getUserCurrentBorrowRate(_reserve, _user), balanceIncrease);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _originationFeeRepaid the fee on the amount that is being repaid\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _repaidWholeLoan true if the user is repaying the whole loan\n **/\n\n function updateStateOnRepay(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _originationFeeRepaid,\n uint256 _balanceIncrease,\n bool _repaidWholeLoan\n ) external onlyLendingPool {\n updateReserveStateOnRepayInternal(\n _reserve,\n _user,\n _paybackAmountMinusFees,\n _balanceIncrease\n );\n updateUserStateOnRepayInternal(\n _reserve,\n _user,\n _paybackAmountMinusFees,\n _originationFeeRepaid,\n _balanceIncrease,\n _repaidWholeLoan\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, _paybackAmountMinusFees, 0);\n }\n\n /**\n * @dev updates the state of the core as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the amount borrowed by the user\n * @param _compoundedBorrowBalance the amount borrowed plus accrued interest\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _currentRateMode the current interest rate mode for the user\n **/\n function updateStateOnSwapRate(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _compoundedBorrowBalance,\n uint256 _balanceIncrease,\n CoreLibrary.InterestRateMode _currentRateMode\n ) external onlyLendingPool returns (CoreLibrary.InterestRateMode, uint256) {\n updateReserveStateOnSwapRateInternal(\n _reserve,\n _user,\n _principalBorrowBalance,\n _compoundedBorrowBalance,\n _currentRateMode\n );\n\n CoreLibrary.InterestRateMode newRateMode = updateUserStateOnSwapRateInternal(\n _reserve,\n _user,\n _balanceIncrease,\n _currentRateMode\n );\n\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, 0);\n\n return (newRateMode, getUserCurrentBorrowRate(_reserve, _user));\n }\n\n /**\n * @dev updates the state of the core as a consequence of a liquidation action.\n * @param _principalReserve the address of the principal reserve that is being repaid\n * @param _collateralReserve the address of the collateral reserve that is being liquidated\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _collateralToLiquidate the amount of collateral being liquidated\n * @param _feeLiquidated the amount of origination fee being liquidated\n * @param _liquidatedCollateralForFee the amount of collateral equivalent to the origination fee + bonus\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _liquidatorReceivesAToken true if the liquidator will receive aTokens, false otherwise\n **/\n function updateStateOnLiquidation(\n address _principalReserve,\n address _collateralReserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _collateralToLiquidate,\n uint256 _feeLiquidated,\n uint256 _liquidatedCollateralForFee,\n uint256 _balanceIncrease,\n bool _liquidatorReceivesAToken\n ) external onlyLendingPool {\n updatePrincipalReserveStateOnLiquidationInternal(\n _principalReserve,\n _user,\n _amountToLiquidate,\n _balanceIncrease\n );\n\n updateCollateralReserveStateOnLiquidationInternal(\n _collateralReserve\n );\n\n updateUserStateOnLiquidationInternal(\n _principalReserve,\n _user,\n _amountToLiquidate,\n _feeLiquidated,\n _balanceIncrease\n );\n\n updateReserveInterestRatesAndTimestampInternal(_principalReserve, _amountToLiquidate, 0);\n\n if (!_liquidatorReceivesAToken) {\n updateReserveInterestRatesAndTimestampInternal(\n _collateralReserve,\n 0,\n _collateralToLiquidate.add(_liquidatedCollateralForFee)\n );\n }\n\n }\n\n /**\n * @dev updates the state of the core as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @return the new stable rate for the user\n **/\n function updateStateOnRebalance(address _reserve, address _user, uint256 _balanceIncrease)\n external\n onlyLendingPool\n returns (uint256)\n {\n updateReserveStateOnRebalanceInternal(_reserve, _user, _balanceIncrease);\n\n //update user data and rebalance the rate\n updateUserStateOnRebalanceInternal(_reserve, _user, _balanceIncrease);\n updateReserveInterestRatesAndTimestampInternal(_reserve, 0, 0);\n return usersReserveData[_user][_reserve].stableBorrowRate;\n }\n\n /**\n * @dev enables or disables a reserve as collateral\n * @param _reserve the address of the principal reserve where the user deposited\n * @param _user the address of the depositor\n * @param _useAsCollateral true if the depositor wants to use the reserve as collateral\n **/\n function setUserUseReserveAsCollateral(address _reserve, address _user, bool _useAsCollateral)\n public\n onlyLendingPool\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n user.useAsCollateral = _useAsCollateral;\n }\n\n /**\n * @notice ETH/token transfer functions\n **/\n\n /**\n * @dev fallback function enforces that the caller is a contract, to support flashloan transfers\n **/\n function() external payable {\n //only contracts can send ETH to the core\n require(msg.sender.isContract(), \"Only contracts can send ether to the Lending pool core\");\n\n }\n\n /**\n * @dev transfers to the user a specific amount from the reserve.\n * @param _reserve the address of the reserve where the transfer is happening\n * @param _user the address of the user receiving the transfer\n * @param _amount the amount being transferred\n **/\n function transferToUser(address _reserve, address payable _user, uint256 _amount)\n external\n onlyLendingPool\n {\n if (_reserve != EthAddressLib.ethAddress()) {\n ERC20(_reserve).safeTransfer(_user, _amount);\n } else {\n //solium-disable-next-line\n (bool result, ) = _user.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers the protocol fees to the fees collection address\n * @param _token the address of the token being transferred\n * @param _user the address of the user from where the transfer is happening\n * @param _amount the amount being transferred\n * @param _destination the fee receiver address\n **/\n\n function transferToFeeCollectionAddress(\n address _token,\n address _user,\n uint256 _amount,\n address _destination\n ) external payable onlyLendingPool {\n address payable feeAddress = address(uint160(_destination)); //cast the address to payable\n\n if (_token != EthAddressLib.ethAddress()) {\n require(\n msg.value == 0,\n \"User is sending ETH along with the ERC20 transfer. Check the value attribute of the transaction\"\n );\n ERC20(_token).safeTransferFrom(_user, feeAddress, _amount);\n } else {\n require(msg.value >= _amount, \"The amount and the value sent to deposit do not match\");\n //solium-disable-next-line\n (bool result, ) = feeAddress.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers the fees to the fees collection address in the case of liquidation\n * @param _token the address of the token being transferred\n * @param _amount the amount being transferred\n * @param _destination the fee receiver address\n **/\n function liquidateFee(\n address _token,\n uint256 _amount,\n address _destination\n ) external payable onlyLendingPool {\n address payable feeAddress = address(uint160(_destination)); //cast the address to payable\n require(\n msg.value == 0,\n \"Fee liquidation does not require any transfer of value\"\n );\n\n if (_token != EthAddressLib.ethAddress()) {\n ERC20(_token).safeTransfer(feeAddress, _amount);\n } else {\n //solium-disable-next-line\n (bool result, ) = feeAddress.call.value(_amount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n\n /**\n * @dev transfers an amount from a user to the destination reserve\n * @param _reserve the address of the reserve where the amount is being transferred\n * @param _user the address of the user from where the transfer is happening\n * @param _amount the amount being transferred\n **/\n function transferToReserve(address _reserve, address payable _user, uint256 _amount)\n external\n payable\n onlyLendingPool\n {\n if (_reserve != EthAddressLib.ethAddress()) {\n require(msg.value == 0, \"User is sending ETH along with the ERC20 transfer.\");\n ERC20(_reserve).safeTransferFrom(_user, address(this), _amount);\n\n } else {\n require(msg.value >= _amount, \"The amount and the value sent to deposit do not match\");\n\n if (msg.value > _amount) {\n //send back excess ETH\n uint256 excessAmount = msg.value.sub(_amount);\n //solium-disable-next-line\n (bool result, ) = _user.call.value(excessAmount).gas(50000)(\"\");\n require(result, \"Transfer of ETH failed\");\n }\n }\n }\n\n /**\n * @notice data access functions\n **/\n\n /**\n * @dev returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral)\n * needed to calculate the global account data in the LendingPoolDataProvider\n * @param _reserve the address of the reserve\n * @param _user the address of the user\n * @return the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not\n **/\n function getUserBasicReserveData(address _reserve, address _user)\n external\n view\n returns (uint256, uint256, uint256, bool)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n uint256 underlyingBalance = getUserUnderlyingAssetBalance(_reserve, _user);\n\n if (user.principalBorrowBalance == 0) {\n return (underlyingBalance, 0, 0, user.useAsCollateral);\n }\n\n return (\n underlyingBalance,\n user.getCompoundedBorrowBalance(reserve),\n user.originationFee,\n user.useAsCollateral\n );\n }\n\n /**\n * @dev checks if a user is allowed to borrow at a stable rate\n * @param _reserve the reserve address\n * @param _user the user\n * @param _amount the amount the the user wants to borrow\n * @return true if the user is allowed to borrow at a stable rate, false otherwise\n **/\n\n function isUserAllowedToBorrowAtStable(address _reserve, address _user, uint256 _amount)\n external\n view\n returns (bool)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (!reserve.isStableBorrowRateEnabled) return false;\n\n return\n !user.useAsCollateral ||\n !reserve.usageAsCollateralEnabled ||\n _amount > getUserUnderlyingAssetBalance(_reserve, _user);\n }\n\n /**\n * @dev gets the underlying asset balance of a user based on the corresponding aToken balance.\n * @param _reserve the reserve address\n * @param _user the user address\n * @return the underlying deposit balance of the user\n **/\n\n function getUserUnderlyingAssetBalance(address _reserve, address _user)\n public\n view\n returns (uint256)\n {\n AToken aToken = AToken(reserves[_reserve].aTokenAddress);\n return aToken.balanceOf(_user);\n\n }\n\n /**\n * @dev gets the interest rate strategy contract address for the reserve\n * @param _reserve the reserve address\n * @return the address of the interest rate strategy contract\n **/\n function getReserveInterestRateStrategyAddress(address _reserve) public view returns (address) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.interestRateStrategyAddress;\n }\n\n /**\n * @dev gets the aToken contract address for the reserve\n * @param _reserve the reserve address\n * @return the address of the aToken contract\n **/\n\n function getReserveATokenAddress(address _reserve) public view returns (address) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.aTokenAddress;\n }\n\n /**\n * @dev gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\n * @param _reserve the reserve address\n * @return the available liquidity\n **/\n function getReserveAvailableLiquidity(address _reserve) public view returns (uint256) {\n uint256 balance = 0;\n\n if (_reserve == EthAddressLib.ethAddress()) {\n balance = address(this).balance;\n } else {\n balance = IERC20(_reserve).balanceOf(address(this));\n }\n return balance;\n }\n\n /**\n * @dev gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\n * @param _reserve the reserve address\n * @return the total liquidity\n **/\n function getReserveTotalLiquidity(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return getReserveAvailableLiquidity(_reserve).add(reserve.getTotalBorrows());\n }\n\n /**\n * @dev gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there\n * there has been 100% income.\n * @param _reserve the reserve address\n * @return the reserve normalized income\n **/\n function getReserveNormalizedIncome(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.getNormalizedIncome();\n }\n\n /**\n * @dev gets the reserve total borrows\n * @param _reserve the reserve address\n * @return the total borrows (stable + variable)\n **/\n function getReserveTotalBorrows(address _reserve) public view returns (uint256) {\n return reserves[_reserve].getTotalBorrows();\n }\n\n /**\n * @dev gets the reserve total borrows stable\n * @param _reserve the reserve address\n * @return the total borrows stable\n **/\n function getReserveTotalBorrowsStable(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.totalBorrowsStable;\n }\n\n /**\n * @dev gets the reserve total borrows variable\n * @param _reserve the reserve address\n * @return the total borrows variable\n **/\n\n function getReserveTotalBorrowsVariable(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.totalBorrowsVariable;\n }\n\n /**\n * @dev gets the reserve liquidation threshold\n * @param _reserve the reserve address\n * @return the reserve liquidation threshold\n **/\n\n function getReserveLiquidationThreshold(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.liquidationThreshold;\n }\n\n /**\n * @dev gets the reserve liquidation bonus\n * @param _reserve the reserve address\n * @return the reserve liquidation bonus\n **/\n\n function getReserveLiquidationBonus(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.liquidationBonus;\n }\n\n /**\n * @dev gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\n * @param _reserve the reserve address\n * @return the reserve current variable borrow rate\n **/\n\n function getReserveCurrentVariableBorrowRate(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n if (reserve.currentVariableBorrowRate == 0) {\n return\n IReserveInterestRateStrategy(reserve.interestRateStrategyAddress)\n .getBaseVariableBorrowRate();\n }\n return reserve.currentVariableBorrowRate;\n }\n\n /**\n * @dev gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\n * @param _reserve the reserve address\n * @return the reserve current stable borrow rate\n **/\n\n function getReserveCurrentStableBorrowRate(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n ILendingRateOracle oracle = ILendingRateOracle(addressesProvider.getLendingRateOracle());\n\n if (reserve.currentStableBorrowRate == 0) {\n //no stable rate borrows yet\n return oracle.getMarketBorrowRate(_reserve);\n }\n\n return reserve.currentStableBorrowRate;\n }\n\n /**\n * @dev gets the reserve average stable borrow rate. The average stable rate is the weighted average\n * of all the loans taken at stable rate.\n * @param _reserve the reserve address\n * @return the reserve current average borrow rate\n **/\n function getReserveCurrentAverageStableBorrowRate(address _reserve)\n external\n view\n returns (uint256)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.currentAverageStableBorrowRate;\n }\n\n /**\n * @dev gets the reserve liquidity rate\n * @param _reserve the reserve address\n * @return the reserve liquidity rate\n **/\n function getReserveCurrentLiquidityRate(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.currentLiquidityRate;\n }\n\n /**\n * @dev gets the reserve liquidity cumulative index\n * @param _reserve the reserve address\n * @return the reserve liquidity cumulative index\n **/\n function getReserveLiquidityCumulativeIndex(address _reserve) external view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.lastLiquidityCumulativeIndex;\n }\n\n /**\n * @dev gets the reserve variable borrow index\n * @param _reserve the reserve address\n * @return the reserve variable borrow index\n **/\n function getReserveVariableBorrowsCumulativeIndex(address _reserve)\n external\n view\n returns (uint256)\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.lastVariableBorrowCumulativeIndex;\n }\n\n /**\n * @dev this function aggregates the configuration parameters of the reserve.\n * It's used in the LendingPoolDataProvider specifically to save gas, and avoid\n * multiple external contract calls to fetch the same data.\n * @param _reserve the reserve address\n * @return the reserve decimals\n * @return the base ltv as collateral\n * @return the liquidation threshold\n * @return if the reserve is used as collateral or not\n **/\n function getReserveConfiguration(address _reserve)\n external\n view\n returns (uint256, uint256, uint256, bool)\n {\n uint256 decimals;\n uint256 baseLTVasCollateral;\n uint256 liquidationThreshold;\n bool usageAsCollateralEnabled;\n\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n decimals = reserve.decimals;\n baseLTVasCollateral = reserve.baseLTVasCollateral;\n liquidationThreshold = reserve.liquidationThreshold;\n usageAsCollateralEnabled = reserve.usageAsCollateralEnabled;\n\n return (decimals, baseLTVasCollateral, liquidationThreshold, usageAsCollateralEnabled);\n }\n\n /**\n * @dev returns the decimals of the reserve\n * @param _reserve the reserve address\n * @return the reserve decimals\n **/\n function getReserveDecimals(address _reserve) external view returns (uint256) {\n return reserves[_reserve].decimals;\n }\n\n /**\n * @dev returns true if the reserve is enabled for borrowing\n * @param _reserve the reserve address\n * @return true if the reserve is enabled for borrowing, false otherwise\n **/\n\n function isReserveBorrowingEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.borrowingEnabled;\n }\n\n /**\n * @dev returns true if the reserve is enabled as collateral\n * @param _reserve the reserve address\n * @return true if the reserve is enabled as collateral, false otherwise\n **/\n\n function isReserveUsageAsCollateralEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.usageAsCollateralEnabled;\n }\n\n /**\n * @dev returns true if the stable rate is enabled on reserve\n * @param _reserve the reserve address\n * @return true if the stable rate is enabled on reserve, false otherwise\n **/\n function getReserveIsStableBorrowRateEnabled(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isStableBorrowRateEnabled;\n }\n\n /**\n * @dev returns true if the reserve is active\n * @param _reserve the reserve address\n * @return true if the reserve is active, false otherwise\n **/\n function getReserveIsActive(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isActive;\n }\n\n /**\n * @notice returns if a reserve is freezed\n * @param _reserve the reserve for which the information is needed\n * @return true if the reserve is freezed, false otherwise\n **/\n\n function getReserveIsFreezed(address _reserve) external view returns (bool) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n return reserve.isFreezed;\n }\n\n /**\n * @notice returns the timestamp of the last action on the reserve\n * @param _reserve the reserve for which the information is needed\n * @return the last updated timestamp of the reserve\n **/\n\n function getReserveLastUpdate(address _reserve) external view returns (uint40 timestamp) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n timestamp = reserve.lastUpdateTimestamp;\n }\n\n /**\n * @dev returns the utilization rate U of a specific reserve\n * @param _reserve the reserve for which the information is needed\n * @return the utilization rate in ray\n **/\n\n function getReserveUtilizationRate(address _reserve) public view returns (uint256) {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n uint256 totalBorrows = reserve.getTotalBorrows();\n\n if (totalBorrows == 0) {\n return 0;\n }\n\n uint256 availableLiquidity = getReserveAvailableLiquidity(_reserve);\n\n return totalBorrows.rayDiv(availableLiquidity.add(totalBorrows));\n }\n\n /**\n * @return the array of reserves configured on the core\n **/\n function getReserves() external view returns (address[] memory) {\n return reservesList;\n }\n\n /**\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return true if the user has chosen to use the reserve as collateral, false otherwise\n **/\n function isUserUseReserveAsCollateralEnabled(address _reserve, address _user)\n external\n view\n returns (bool)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.useAsCollateral;\n }\n\n /**\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the origination fee for the user\n **/\n function getUserOriginationFee(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.originationFee;\n }\n\n /**\n * @dev users with no loans in progress have NONE as borrow rate mode\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the borrow rate mode for the user,\n **/\n\n function getUserCurrentBorrowRateMode(address _reserve, address _user)\n public\n view\n returns (CoreLibrary.InterestRateMode)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (user.principalBorrowBalance == 0) {\n return CoreLibrary.InterestRateMode.NONE;\n }\n\n return\n user.stableBorrowRate > 0\n ? CoreLibrary.InterestRateMode.STABLE\n : CoreLibrary.InterestRateMode.VARIABLE;\n }\n\n /**\n * @dev gets the current borrow rate of the user\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the borrow rate for the user,\n **/\n function getUserCurrentBorrowRate(address _reserve, address _user)\n internal\n view\n returns (uint256)\n {\n CoreLibrary.InterestRateMode rateMode = getUserCurrentBorrowRateMode(_reserve, _user);\n\n if (rateMode == CoreLibrary.InterestRateMode.NONE) {\n return 0;\n }\n\n return\n rateMode == CoreLibrary.InterestRateMode.STABLE\n ? usersReserveData[_user][_reserve].stableBorrowRate\n : reserves[_reserve].currentVariableBorrowRate;\n }\n\n /**\n * @dev the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the user stable rate\n **/\n function getUserCurrentStableBorrowRate(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.stableBorrowRate;\n }\n\n /**\n * @dev calculates and returns the borrow balances of the user\n * @param _reserve the address of the reserve\n * @param _user the address of the user\n * @return the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance\n **/\n\n function getUserBorrowBalances(address _reserve, address _user)\n public\n view\n returns (uint256, uint256, uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n if (user.principalBorrowBalance == 0) {\n return (0, 0, 0);\n }\n\n uint256 principal = user.principalBorrowBalance;\n uint256 compoundedBalance = CoreLibrary.getCompoundedBorrowBalance(\n user,\n reserves[_reserve]\n );\n return (principal, compoundedBalance, compoundedBalance.sub(principal));\n }\n\n /**\n * @dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the variable borrow index for the user\n **/\n\n function getUserVariableBorrowCumulativeIndex(address _reserve, address _user)\n external\n view\n returns (uint256)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n return user.lastVariableBorrowCumulativeIndex;\n }\n\n /**\n * @dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n * @param _reserve the address of the reserve for which the information is needed\n * @param _user the address of the user for which the information is needed\n * @return the variable borrow index for the user\n **/\n\n function getUserLastUpdate(address _reserve, address _user)\n external\n view\n returns (uint256 timestamp)\n {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n timestamp = user.lastUpdateTimestamp;\n }\n\n /**\n * @dev updates the lending pool core configuration\n **/\n function refreshConfiguration() external onlyLendingPoolConfigurator {\n refreshConfigInternal();\n }\n\n /**\n * @dev initializes a reserve\n * @param _reserve the address of the reserve\n * @param _aTokenAddress the address of the overlying aToken contract\n * @param _decimals the decimals of the reserve currency\n * @param _interestRateStrategyAddress the address of the interest rate strategy contract\n **/\n function initReserve(\n address _reserve,\n address _aTokenAddress,\n uint256 _decimals,\n address _interestRateStrategyAddress\n ) external onlyLendingPoolConfigurator {\n reserves[_reserve].init(_aTokenAddress, _decimals, _interestRateStrategyAddress);\n addReserveToListInternal(_reserve);\n\n }\n\n\n\n /**\n * @dev removes the last added reserve in the reservesList array\n * @param _reserveToRemove the address of the reserve\n **/\n function removeLastAddedReserve(address _reserveToRemove)\n external onlyLendingPoolConfigurator {\n\n address lastReserve = reservesList[reservesList.length-1];\n\n require(lastReserve == _reserveToRemove, \"Reserve being removed is different than the reserve requested\");\n\n //as we can't check if totalLiquidity is 0 (since the reserve added might not be an ERC20) we at least check that there is nothing borrowed\n require(getReserveTotalBorrows(lastReserve) == 0, \"Cannot remove a reserve with liquidity deposited\");\n\n reserves[lastReserve].isActive = false;\n reserves[lastReserve].aTokenAddress = address(0);\n reserves[lastReserve].decimals = 0;\n reserves[lastReserve].lastLiquidityCumulativeIndex = 0;\n reserves[lastReserve].lastVariableBorrowCumulativeIndex = 0;\n reserves[lastReserve].borrowingEnabled = false;\n reserves[lastReserve].usageAsCollateralEnabled = false;\n reserves[lastReserve].baseLTVasCollateral = 0;\n reserves[lastReserve].liquidationThreshold = 0;\n reserves[lastReserve].liquidationBonus = 0;\n reserves[lastReserve].interestRateStrategyAddress = address(0);\n\n reservesList.pop();\n }\n\n /**\n * @dev updates the address of the interest rate strategy contract\n * @param _reserve the address of the reserve\n * @param _rateStrategyAddress the address of the interest rate strategy contract\n **/\n\n function setReserveInterestRateStrategyAddress(address _reserve, address _rateStrategyAddress)\n external\n onlyLendingPoolConfigurator\n {\n reserves[_reserve].interestRateStrategyAddress = _rateStrategyAddress;\n }\n\n /**\n * @dev enables borrowing on a reserve. Also sets the stable rate borrowing\n * @param _reserve the address of the reserve\n * @param _stableBorrowRateEnabled true if the stable rate needs to be enabled, false otherwise\n **/\n\n function enableBorrowingOnReserve(address _reserve, bool _stableBorrowRateEnabled)\n external\n onlyLendingPoolConfigurator\n {\n reserves[_reserve].enableBorrowing(_stableBorrowRateEnabled);\n }\n\n /**\n * @dev disables borrowing on a reserve\n * @param _reserve the address of the reserve\n **/\n\n function disableBorrowingOnReserve(address _reserve) external onlyLendingPoolConfigurator {\n reserves[_reserve].disableBorrowing();\n }\n\n /**\n * @dev enables a reserve to be used as collateral\n * @param _reserve the address of the reserve\n **/\n function enableReserveAsCollateral(\n address _reserve,\n uint256 _baseLTVasCollateral,\n uint256 _liquidationThreshold,\n uint256 _liquidationBonus\n ) external onlyLendingPoolConfigurator {\n reserves[_reserve].enableAsCollateral(\n _baseLTVasCollateral,\n _liquidationThreshold,\n _liquidationBonus\n );\n }\n\n /**\n * @dev disables a reserve to be used as collateral\n * @param _reserve the address of the reserve\n **/\n function disableReserveAsCollateral(address _reserve) external onlyLendingPoolConfigurator {\n reserves[_reserve].disableAsCollateral();\n }\n\n /**\n * @dev enable the stable borrow rate mode on a reserve\n * @param _reserve the address of the reserve\n **/\n function enableReserveStableBorrowRate(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isStableBorrowRateEnabled = true;\n }\n\n /**\n * @dev disable the stable borrow rate mode on a reserve\n * @param _reserve the address of the reserve\n **/\n function disableReserveStableBorrowRate(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isStableBorrowRateEnabled = false;\n }\n\n /**\n * @dev activates a reserve\n * @param _reserve the address of the reserve\n **/\n function activateReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n require(\n reserve.lastLiquidityCumulativeIndex > 0 &&\n reserve.lastVariableBorrowCumulativeIndex > 0,\n \"Reserve has not been initialized yet\"\n );\n reserve.isActive = true;\n }\n\n /**\n * @dev deactivates a reserve\n * @param _reserve the address of the reserve\n **/\n function deactivateReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isActive = false;\n }\n\n /**\n * @notice allows the configurator to freeze the reserve.\n * A freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\n * @param _reserve the address of the reserve\n **/\n function freezeReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isFreezed = true;\n }\n\n /**\n * @notice allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\n * @param _reserve the address of the reserve\n **/\n function unfreezeReserve(address _reserve) external onlyLendingPoolConfigurator {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.isFreezed = false;\n }\n\n /**\n * @notice allows the configurator to update the loan to value of a reserve\n * @param _reserve the address of the reserve\n * @param _ltv the new loan to value\n **/\n function setReserveBaseLTVasCollateral(address _reserve, uint256 _ltv)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.baseLTVasCollateral = _ltv;\n }\n\n /**\n * @notice allows the configurator to update the liquidation threshold of a reserve\n * @param _reserve the address of the reserve\n * @param _threshold the new liquidation threshold\n **/\n function setReserveLiquidationThreshold(address _reserve, uint256 _threshold)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.liquidationThreshold = _threshold;\n }\n\n /**\n * @notice allows the configurator to update the liquidation bonus of a reserve\n * @param _reserve the address of the reserve\n * @param _bonus the new liquidation bonus\n **/\n function setReserveLiquidationBonus(address _reserve, uint256 _bonus)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.liquidationBonus = _bonus;\n }\n\n /**\n * @notice allows the configurator to update the reserve decimals\n * @param _reserve the address of the reserve\n * @param _decimals the decimals of the reserve\n **/\n function setReserveDecimals(address _reserve, uint256 _decimals)\n external\n onlyLendingPoolConfigurator\n {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n reserve.decimals = _decimals;\n }\n\n /**\n * @notice internal functions\n **/\n\n /**\n * @dev updates the state of a reserve as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the previous borrow balance of the borrower before the action\n * @param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n * @param _amountBorrowed the new amount borrowed\n * @param _rateMode the borrow rate mode (stable, variable)\n **/\n\n function updateReserveStateOnBorrowInternal(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _balanceIncrease,\n uint256 _amountBorrowed,\n CoreLibrary.InterestRateMode _rateMode\n ) internal {\n reserves[_reserve].updateCumulativeIndexes();\n\n //increasing reserve total borrows to account for the new borrow balance of the user\n //NOTE: Depending on the previous borrow mode, the borrows might need to be switched from variable to stable or vice versa\n\n updateReserveTotalBorrowsByRateModeInternal(\n _reserve,\n _user,\n _principalBorrowBalance,\n _balanceIncrease,\n _amountBorrowed,\n _rateMode\n );\n }\n\n /**\n * @dev updates the state of a user as a consequence of a borrow action.\n * @param _reserve the address of the reserve on which the user is borrowing\n * @param _user the address of the borrower\n * @param _amountBorrowed the amount borrowed\n * @param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n * @param _rateMode the borrow rate mode (stable, variable)\n * @return the final borrow rate for the user. Emitted by the borrow() event\n **/\n\n function updateUserStateOnBorrowInternal(\n address _reserve,\n address _user,\n uint256 _amountBorrowed,\n uint256 _balanceIncrease,\n uint256 _fee,\n CoreLibrary.InterestRateMode _rateMode\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n if (_rateMode == CoreLibrary.InterestRateMode.STABLE) {\n //stable\n //reset the user variable index, and update the stable rate\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n user.lastVariableBorrowCumulativeIndex = 0;\n } else if (_rateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //variable\n //reset the user stable rate, and store the new borrow index\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n } else {\n revert(\"Invalid borrow rate mode\");\n }\n //increase the principal borrows and the origination fee\n user.principalBorrowBalance = user.principalBorrowBalance.add(_amountBorrowed).add(\n _balanceIncrease\n );\n user.originationFee = user.originationFee.add(_fee);\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n }\n\n /**\n * @dev updates the state of the reserve as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateReserveStateOnRepayInternal(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n CoreLibrary.InterestRateMode borrowRateMode = getUserCurrentBorrowRateMode(_reserve, _user);\n\n //update the indexes\n reserves[_reserve].updateCumulativeIndexes();\n\n //compound the cumulated interest to the borrow balance and then subtracting the payback amount\n if (borrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _paybackAmountMinusFees,\n user.stableBorrowRate\n );\n } else {\n reserve.increaseTotalBorrowsVariable(_balanceIncrease);\n reserve.decreaseTotalBorrowsVariable(_paybackAmountMinusFees);\n }\n }\n\n /**\n * @dev updates the state of the user as a consequence of a repay action.\n * @param _reserve the address of the reserve on which the user is repaying\n * @param _user the address of the borrower\n * @param _paybackAmountMinusFees the amount being paid back minus fees\n * @param _originationFeeRepaid the fee on the amount that is being repaid\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _repaidWholeLoan true if the user is repaying the whole loan\n **/\n function updateUserStateOnRepayInternal(\n address _reserve,\n address _user,\n uint256 _paybackAmountMinusFees,\n uint256 _originationFeeRepaid,\n uint256 _balanceIncrease,\n bool _repaidWholeLoan\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n //update the user principal borrow balance, adding the cumulated interest and then subtracting the payback amount\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease).sub(\n _paybackAmountMinusFees\n );\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n\n //if the balance decrease is equal to the previous principal (user is repaying the whole loan)\n //and the rate mode is stable, we reset the interest rate mode of the user\n if (_repaidWholeLoan) {\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = 0;\n }\n user.originationFee = user.originationFee.sub(_originationFeeRepaid);\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n }\n\n /**\n * @dev updates the state of the user as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is performing the rate swap\n * @param _user the address of the borrower\n * @param _principalBorrowBalance the the principal amount borrowed by the user\n * @param _compoundedBorrowBalance the principal amount plus the accrued interest\n * @param _currentRateMode the rate mode at which the user borrowed\n **/\n function updateReserveStateOnSwapRateInternal(\n address _reserve,\n address _user,\n uint256 _principalBorrowBalance,\n uint256 _compoundedBorrowBalance,\n CoreLibrary.InterestRateMode _currentRateMode\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n //compounding reserve indexes\n reserve.updateCumulativeIndexes();\n\n if (_currentRateMode == CoreLibrary.InterestRateMode.STABLE) {\n uint256 userCurrentStableRate = user.stableBorrowRate;\n\n //swap to variable\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _principalBorrowBalance,\n userCurrentStableRate\n ); //decreasing stable from old principal balance\n reserve.increaseTotalBorrowsVariable(_compoundedBorrowBalance); //increase variable borrows\n } else if (_currentRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //swap to stable\n uint256 currentStableRate = reserve.currentStableBorrowRate;\n reserve.decreaseTotalBorrowsVariable(_principalBorrowBalance);\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _compoundedBorrowBalance,\n currentStableRate\n );\n\n } else {\n revert(\"Invalid rate mode received\");\n }\n }\n\n /**\n * @dev updates the state of the user as a consequence of a swap rate action.\n * @param _reserve the address of the reserve on which the user is performing the swap\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _currentRateMode the current rate mode of the user\n **/\n\n function updateUserStateOnSwapRateInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease,\n CoreLibrary.InterestRateMode _currentRateMode\n ) internal returns (CoreLibrary.InterestRateMode) {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n CoreLibrary.InterestRateMode newMode = CoreLibrary.InterestRateMode.NONE;\n\n if (_currentRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n //switch to stable\n newMode = CoreLibrary.InterestRateMode.STABLE;\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n user.lastVariableBorrowCumulativeIndex = 0;\n } else if (_currentRateMode == CoreLibrary.InterestRateMode.STABLE) {\n newMode = CoreLibrary.InterestRateMode.VARIABLE;\n user.stableBorrowRate = 0;\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n } else {\n revert(\"Invalid interest rate mode received\");\n }\n //compounding cumulated interest\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease);\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n\n return newMode;\n }\n\n /**\n * @dev updates the state of the principal reserve as a consequence of a liquidation action.\n * @param _principalReserve the address of the principal reserve that is being repaid\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updatePrincipalReserveStateOnLiquidationInternal(\n address _principalReserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_principalReserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_principalReserve];\n\n //update principal reserve data\n reserve.updateCumulativeIndexes();\n\n CoreLibrary.InterestRateMode borrowRateMode = getUserCurrentBorrowRateMode(\n _principalReserve,\n _user\n );\n\n if (borrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n //increase the total borrows by the compounded interest\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n\n //decrease by the actual amount to liquidate\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _amountToLiquidate,\n user.stableBorrowRate\n );\n\n } else {\n //increase the total borrows by the compounded interest\n reserve.increaseTotalBorrowsVariable(_balanceIncrease);\n\n //decrease by the actual amount to liquidate\n reserve.decreaseTotalBorrowsVariable(_amountToLiquidate);\n }\n\n }\n\n /**\n * @dev updates the state of the collateral reserve as a consequence of a liquidation action.\n * @param _collateralReserve the address of the collateral reserve that is being liquidated\n **/\n function updateCollateralReserveStateOnLiquidationInternal(\n address _collateralReserve\n ) internal {\n //update collateral reserve\n reserves[_collateralReserve].updateCumulativeIndexes();\n\n }\n\n /**\n * @dev updates the state of the user being liquidated as a consequence of a liquidation action.\n * @param _reserve the address of the principal reserve that is being repaid\n * @param _user the address of the borrower\n * @param _amountToLiquidate the amount being repaid by the liquidator\n * @param _feeLiquidated the amount of origination fee being liquidated\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n function updateUserStateOnLiquidationInternal(\n address _reserve,\n address _user,\n uint256 _amountToLiquidate,\n uint256 _feeLiquidated,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n //first increase by the compounded interest, then decrease by the liquidated amount\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease).sub(\n _amountToLiquidate\n );\n\n if (\n getUserCurrentBorrowRateMode(_reserve, _user) == CoreLibrary.InterestRateMode.VARIABLE\n ) {\n user.lastVariableBorrowCumulativeIndex = reserve.lastVariableBorrowCumulativeIndex;\n }\n\n if(_feeLiquidated > 0){\n user.originationFee = user.originationFee.sub(_feeLiquidated);\n }\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n }\n\n /**\n * @dev updates the state of the reserve as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateReserveStateOnRebalanceInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n\n reserve.updateCumulativeIndexes();\n\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n _balanceIncrease,\n user.stableBorrowRate\n );\n\n }\n\n /**\n * @dev updates the state of the user as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n **/\n\n function updateUserStateOnRebalanceInternal(\n address _reserve,\n address _user,\n uint256 _balanceIncrease\n ) internal {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n user.principalBorrowBalance = user.principalBorrowBalance.add(_balanceIncrease);\n user.stableBorrowRate = reserve.currentStableBorrowRate;\n\n //solium-disable-next-line\n user.lastUpdateTimestamp = uint40(block.timestamp);\n }\n\n /**\n * @dev updates the state of the user as a consequence of a stable rate rebalance\n * @param _reserve the address of the principal reserve where the user borrowed\n * @param _user the address of the borrower\n * @param _balanceIncrease the accrued interest on the borrowed amount\n * @param _amountBorrowed the accrued interest on the borrowed amount\n **/\n function updateReserveTotalBorrowsByRateModeInternal(\n address _reserve,\n address _user,\n uint256 _principalBalance,\n uint256 _balanceIncrease,\n uint256 _amountBorrowed,\n CoreLibrary.InterestRateMode _newBorrowRateMode\n ) internal {\n CoreLibrary.InterestRateMode previousRateMode = getUserCurrentBorrowRateMode(\n _reserve,\n _user\n );\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n if (previousRateMode == CoreLibrary.InterestRateMode.STABLE) {\n CoreLibrary.UserReserveData storage user = usersReserveData[_user][_reserve];\n reserve.decreaseTotalBorrowsStableAndUpdateAverageRate(\n _principalBalance,\n user.stableBorrowRate\n );\n } else if (previousRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n reserve.decreaseTotalBorrowsVariable(_principalBalance);\n }\n\n uint256 newPrincipalAmount = _principalBalance.add(_balanceIncrease).add(_amountBorrowed);\n if (_newBorrowRateMode == CoreLibrary.InterestRateMode.STABLE) {\n reserve.increaseTotalBorrowsStableAndUpdateAverageRate(\n newPrincipalAmount,\n reserve.currentStableBorrowRate\n );\n } else if (_newBorrowRateMode == CoreLibrary.InterestRateMode.VARIABLE) {\n reserve.increaseTotalBorrowsVariable(newPrincipalAmount);\n } else {\n revert(\"Invalid new borrow rate mode\");\n }\n }\n\n /**\n * @dev Updates the reserve current stable borrow rate Rf, the current variable borrow rate Rv and the current liquidity rate Rl.\n * Also updates the lastUpdateTimestamp value. Please refer to the whitepaper for further information.\n * @param _reserve the address of the reserve to be updated\n * @param _liquidityAdded the amount of liquidity added to the protocol (deposit or repay) in the previous action\n * @param _liquidityTaken the amount of liquidity taken from the protocol (redeem or borrow)\n **/\n\n function updateReserveInterestRatesAndTimestampInternal(\n address _reserve,\n uint256 _liquidityAdded,\n uint256 _liquidityTaken\n ) internal {\n CoreLibrary.ReserveData storage reserve = reserves[_reserve];\n\n uint256 currentAvgStableRate = reserve.currentAverageStableBorrowRate;\n\n (uint256 newLiquidityRate, uint256 newStableRate, uint256 newVariableRate) = IReserveInterestRateStrategy(\n reserve\n .interestRateStrategyAddress\n )\n .calculateInterestRates(\n _reserve,\n getReserveAvailableLiquidity(_reserve).add(_liquidityAdded).sub(_liquidityTaken),\n reserve.totalBorrowsStable,\n reserve.totalBorrowsVariable,\n currentAvgStableRate\n );\n\n reserve.currentLiquidityRate = newLiquidityRate;\n reserve.currentStableBorrowRate = newStableRate;\n reserve.currentVariableBorrowRate = newVariableRate;\n\n //solium-disable-next-line\n reserve.lastUpdateTimestamp = uint40(block.timestamp);\n\n emit ReserveDataUpdated(\n _reserve,\n newLiquidityRate,\n newStableRate,\n currentAvgStableRate,\n newVariableRate,\n reserve.lastLiquidityCumulativeIndex,\n reserve.lastVariableBorrowCumulativeIndex\n );\n }\n\n /**\n * @dev transfers to the protocol fees of a flashloan to the fees collection address\n * @param _token the address of the token being transferred\n * @param _amount the amount being transferred\n **/\n\n function transferFlashLoanProtocolFeeInternal(address _token, uint256 _amount) internal {\n address payable receiver = address(uint160(addressesProvider.getTokenDistributor()));\n\n if (_token != EthAddressLib.ethAddress()) {\n ERC20(_token).safeTransfer(receiver, _amount);\n } else {\n //solium-disable-next-line\n (bool result, ) = receiver.call.value(_amount)(\"\");\n require(result, \"Transfer to token distributor failed\");\n }\n }\n\n /**\n * @dev updates the internal configuration of the core\n **/\n function refreshConfigInternal() internal {\n lendingPoolAddress = addressesProvider.getLendingPool();\n }\n\n /**\n * @dev adds a reserve to the array of the reserves address\n **/\n function addReserveToListInternal(address _reserve) internal {\n bool reserveAlreadyAdded = false;\n for (uint256 i = 0; i < reservesList.length; i++)\n if (reservesList[i] == _reserve) {\n reserveAlreadyAdded = true;\n }\n if (!reserveAlreadyAdded) reservesList.push(_reserve);\n }\n\n}\n", "sourcePath": "/src/contracts/lendingpool/LendingPoolCore.sol", "ast": { "absolutePath": "/src/contracts/lendingpool/LendingPoolCore.sol", "exportedSymbols": { "LendingPoolCore": [ - 7812 + 8443 ] }, - "id": 7813, + "id": 8444, "nodeType": "SourceUnit", "nodes": [ { - "id": 4455, + "id": 5056, "literals": [ "solidity", "^", @@ -1769,137 +1818,137 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:21" + "src": "0:23:28" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4456, + "id": 5057, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 13597, - "src": "25:59:21", + "scope": 8444, + "sourceUnit": 15177, + "src": "25:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", - "id": 4457, + "id": 5058, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14482, - "src": "85:67:21", + "scope": 8444, + "sourceUnit": 16062, + "src": "85:67:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 4458, + "id": 5059, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14105, - "src": "153:63:21", + "scope": 8444, + "sourceUnit": 15685, + "src": "153:63:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", "file": "openzeppelin-solidity/contracts/utils/Address.sol", - "id": 4459, + "id": 5060, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14501, - "src": "217:59:21", + "scope": 8444, + "sourceUnit": 16081, + "src": "217:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/openzeppelin-upgradeability/VersionedInitializable.sol", "file": "../libraries/openzeppelin-upgradeability/VersionedInitializable.sol", - "id": 4460, + "id": 5061, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 11101, - "src": "277:77:21", + "scope": 8444, + "sourceUnit": 12205, + "src": "277:77:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/CoreLibrary.sol", "file": "../libraries/CoreLibrary.sol", - "id": 4461, + "id": 5062, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10256, - "src": "356:38:21", + "scope": 8444, + "sourceUnit": 11333, + "src": "356:38:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/configuration/LendingPoolAddressesProvider.sol", "file": "../configuration/LendingPoolAddressesProvider.sol", - "id": 4462, + "id": 5063, "nodeType": "ImportDirective", - "scope": 7813, + "scope": 8444, "sourceUnit": 583, - "src": "395:59:21", + "src": "395:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/interfaces/ILendingRateOracle.sol", "file": "../interfaces/ILendingRateOracle.sol", - "id": 4463, + "id": 5064, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 1645, - "src": "455:46:21", + "scope": 8444, + "sourceUnit": 2365, + "src": "455:46:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/interfaces/IReserveInterestRateStrategy.sol", "file": "../interfaces/IReserveInterestRateStrategy.sol", - "id": 4464, + "id": 5065, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 1699, - "src": "502:56:21", + "scope": 8444, + "sourceUnit": 2520, + "src": "502:56:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/WadRayMath.sol", "file": "../libraries/WadRayMath.sol", - "id": 4465, + "id": 5066, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10511, - "src": "559:37:21", + "scope": 8444, + "sourceUnit": 11615, + "src": "559:37:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/tokenization/AToken.sol", "file": "../tokenization/AToken.sol", - "id": 4466, + "id": 5067, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 13464, - "src": "597:36:21", + "scope": 8444, + "sourceUnit": 15044, + "src": "597:36:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/EthAddressLib.sol", "file": "../libraries/EthAddressLib.sol", - "id": 4467, + "id": 5068, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10267, - "src": "634:40:21", + "scope": 8444, + "sourceUnit": 11344, + "src": "634:40:28", "symbolAliases": [], "unitAlias": "" }, @@ -1909,56 +1958,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4468, + "id": 5069, "name": "VersionedInitializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11100, - "src": "1099:22:21", + "referencedDeclaration": 12204, + "src": "1099:22:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_VersionedInitializable_$11100", + "typeIdentifier": "t_contract$_VersionedInitializable_$12204", "typeString": "contract VersionedInitializable" } }, - "id": 4469, + "id": 5070, "nodeType": "InheritanceSpecifier", - "src": "1099:22:21" + "src": "1099:22:28" } ], "contractDependencies": [ - 11100 + 12204 ], "contractKind": "contract", "documentation": "@title LendingPoolCore contract\n@author Aave\n@notice Holds the state of the lending pool and all the funds deposited\n@dev NOTE: The core does not enforce security checks on the update of the state\n(eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve).\nThe check that an action can be performed is a duty of the overlying LendingPool contract.*", "fullyImplemented": true, - "id": 7812, + "id": 8443, "linearizedBaseContracts": [ - 7812, - 11100 + 8443, + 12204 ], "name": "LendingPoolCore", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4472, + "id": 5073, "libraryName": { "contractScope": null, - "id": 4470, + "id": 5071, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 13596, - "src": "1134:8:21", + "referencedDeclaration": 15176, + "src": "1134:8:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$13596", + "typeIdentifier": "t_contract$_SafeMath_$15176", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1128:27:21", + "src": "1128:27:28", "typeName": { - "id": 4471, + "id": 5072, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1147:7:21", + "src": "1147:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1966,26 +2015,26 @@ } }, { - "id": 4475, + "id": 5076, "libraryName": { "contractScope": null, - "id": 4473, + "id": 5074, "name": "WadRayMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10510, - "src": "1166:10:21", + "referencedDeclaration": 11614, + "src": "1166:10:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_WadRayMath_$10510", + "typeIdentifier": "t_contract$_WadRayMath_$11614", "typeString": "library WadRayMath" } }, "nodeType": "UsingForDirective", - "src": "1160:29:21", + "src": "1160:29:28", "typeName": { - "id": 4474, + "id": 5075, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1181:7:21", + "src": "1181:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1993,113 +2042,113 @@ } }, { - "id": 4478, + "id": 5079, "libraryName": { "contractScope": null, - "id": 4476, + "id": 5077, "name": "CoreLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10255, - "src": "1200:11:21", + "referencedDeclaration": 11332, + "src": "1200:11:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_CoreLibrary_$10255", + "typeIdentifier": "t_contract$_CoreLibrary_$11332", "typeString": "library CoreLibrary" } }, "nodeType": "UsingForDirective", - "src": "1194:46:21", + "src": "1194:46:28", "typeName": { "contractScope": null, - "id": 4477, + "id": 5078, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "1216:23:21", + "referencedDeclaration": 10646, + "src": "1216:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } } }, { - "id": 4481, + "id": 5082, "libraryName": { "contractScope": null, - "id": 4479, + "id": 5080, "name": "CoreLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10255, - "src": "1251:11:21", + "referencedDeclaration": 11332, + "src": "1251:11:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_CoreLibrary_$10255", + "typeIdentifier": "t_contract$_CoreLibrary_$11332", "typeString": "library CoreLibrary" } }, "nodeType": "UsingForDirective", - "src": "1245:50:21", + "src": "1245:50:28", "typeName": { "contractScope": null, - "id": 4480, + "id": 5081, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "1267:27:21", + "referencedDeclaration": 10605, + "src": "1267:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } } }, { - "id": 4484, + "id": 5085, "libraryName": { "contractScope": null, - "id": 4482, + "id": 5083, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14481, - "src": "1306:9:21", + "referencedDeclaration": 16061, + "src": "1306:9:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$14481", + "typeIdentifier": "t_contract$_SafeERC20_$16061", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1300:26:21", + "src": "1300:26:28", "typeName": { "contractScope": null, - "id": 4483, + "id": 5084, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14104, - "src": "1320:5:21", + "referencedDeclaration": 15684, + "src": "1320:5:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } } }, { - "id": 4487, + "id": 5088, "libraryName": { "contractScope": null, - "id": 4485, + "id": 5086, "name": "Address", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14500, - "src": "1337:7:21", + "referencedDeclaration": 16080, + "src": "1337:7:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$14500", + "typeIdentifier": "t_contract$_Address_$16080", "typeString": "library Address" } }, "nodeType": "UsingForDirective", - "src": "1331:34:21", + "src": "1331:34:28", "typeName": { - "id": 4486, + "id": 5087, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1349:15:21", + "src": "1349:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2109,22 +2158,200 @@ }, { "anonymous": false, - "documentation": "@dev Emitted when the state of a reserve is updated\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", - "id": 4501, + "documentation": "@dev DEPRECATED: This event was used in previous LendingPoolCore implementations, and it has been replaced by ReserveDataUpdated()\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", + "id": 5102, "name": "ReserveUpdated", "nodeType": "EventDefinition", "parameters": { - "id": 4500, + "id": 5101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5090, + "indexed": true, + "name": "reserve", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "1886:23:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1886:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5092, + "indexed": false, + "name": "liquidityRate", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "1919:21:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1919:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5094, + "indexed": false, + "name": "stableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "1950:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1950:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5096, + "indexed": false, + "name": "variableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "1984:26:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1984:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5098, + "indexed": false, + "name": "liquidityIndex", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "2020:22:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2020:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5100, + "indexed": false, + "name": "variableBorrowIndex", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "2052:27:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2052:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1876:209:28" + }, + "src": "1856:230:28" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when the state of a reserve is updated\n@dev NOTE: This event replaces the Deprecated ReserveUpdated() event, which didn't emit the average stable borrow rate\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param averageStableBorrowRate the new average stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", + "id": 5118, + "name": "ReserveDataUpdated", + "nodeType": "EventDefinition", + "parameters": { + "id": 5117, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4489, + "id": 5104, "indexed": true, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1806:23:21", + "scope": 5118, + "src": "2729:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2132,10 +2359,10 @@ "typeString": "address" }, "typeName": { - "id": 4488, + "id": 5103, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1806:7:21", + "src": "2729:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2147,12 +2374,12 @@ }, { "constant": false, - "id": 4491, + "id": 5106, "indexed": false, "name": "liquidityRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1839:21:21", + "scope": 5118, + "src": "2762:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2160,10 +2387,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4490, + "id": 5105, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1839:7:21", + "src": "2762:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2174,12 +2401,39 @@ }, { "constant": false, - "id": 4493, + "id": 5108, "indexed": false, "name": "stableBorrowRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1870:24:21", + "scope": 5118, + "src": "2793:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2793:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5110, + "indexed": false, + "name": "averageStableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5118, + "src": "2827:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2187,10 +2441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4492, + "id": 5109, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1870:7:21", + "src": "2827:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2201,12 +2455,12 @@ }, { "constant": false, - "id": 4495, + "id": 5112, "indexed": false, "name": "variableBorrowRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1904:26:21", + "scope": 5118, + "src": "2868:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2214,10 +2468,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4494, + "id": 5111, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1904:7:21", + "src": "2868:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2228,12 +2482,12 @@ }, { "constant": false, - "id": 4497, + "id": 5114, "indexed": false, "name": "liquidityIndex", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1940:22:21", + "scope": 5118, + "src": "2904:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2241,10 +2495,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4496, + "id": 5113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1940:7:21", + "src": "2904:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2255,12 +2509,12 @@ }, { "constant": false, - "id": 4499, + "id": 5116, "indexed": false, "name": "variableBorrowIndex", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1972:27:21", + "scope": 5118, + "src": "2936:27:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2268,10 +2522,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4498, + "id": 5115, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1972:7:21", + "src": "2936:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2281,17 +2535,17 @@ "visibility": "internal" } ], - "src": "1796:209:21" + "src": "2719:250:28" }, - "src": "1776:230:21" + "src": "2695:275:28" }, { "constant": false, - "id": 4503, + "id": 5120, "name": "lendingPoolAddress", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2012:33:21", + "scope": 8443, + "src": "2976:33:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2299,10 +2553,10 @@ "typeString": "address" }, "typeName": { - "id": 4502, + "id": 5119, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2012:7:21", + "src": "2976:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2314,11 +2568,11 @@ }, { "constant": false, - "id": 4505, + "id": 5122, "name": "addressesProvider", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2052:53:21", + "scope": 8443, + "src": "3016:53:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2327,11 +2581,11 @@ }, "typeName": { "contractScope": null, - "id": 4504, + "id": 5121, "name": "LendingPoolAddressesProvider", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 582, - "src": "2052:28:21", + "src": "3016:28:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -2342,9 +2596,9 @@ }, { "body": { - "id": 4516, + "id": 5133, "nodeType": "Block", - "src": "2227:115:21", + "src": "3191:115:28", "statements": [ { "expression": { @@ -2356,19 +2610,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4511, + "id": 5128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4508, + "id": 5125, "name": "lendingPoolAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "2245:18:21", + "referencedDeclaration": 5120, + "src": "3209:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2380,18 +2634,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4509, + "id": 5126, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "2267:3:21", + "referencedDeclaration": 16127, + "src": "3231:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4510, + "id": 5127, "isConstant": false, "isLValue": false, "isPure": false, @@ -2399,13 +2653,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2267:10:21", + "src": "3231:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2245:32:21", + "src": "3209:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2414,14 +2668,14 @@ { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374", - "id": 4512, + "id": 5129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2279:44:21", + "src": "3243:44:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a630c1f6937c43653bd3cbe824a9088f40dc120875fe6c5545d9a34152a6c2c1", @@ -2441,21 +2695,21 @@ "typeString": "literal_string \"The caller must be a lending pool contract\"" } ], - "id": 4507, + "id": 5124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "2237:7:21", + "referencedDeclaration": 16131, + "src": "3201:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4513, + "id": 5130, "isConstant": false, "isLValue": false, "isPure": false, @@ -2463,41 +2717,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2237:87:21", + "src": "3201:87:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4514, + "id": 5131, "nodeType": "ExpressionStatement", - "src": "2237:87:21" + "src": "3201:87:28" }, { - "id": 4515, + "id": 5132, "nodeType": "PlaceholderStatement", - "src": "2334:1:21" + "src": "3298:1:28" } ] }, "documentation": "@dev only lending pools can use functions affected by this modifier*", - "id": 4517, + "id": 5134, "name": "onlyLendingPool", "nodeType": "ModifierDefinition", "parameters": { - "id": 4506, + "id": 5123, "nodeType": "ParameterList", "parameters": [], - "src": "2227:0:21" + "src": "3191:0:28" }, - "src": "2202:140:21", + "src": "3166:140:28", "visibility": "internal" }, { "body": { - "id": 4530, + "id": 5147, "nodeType": "Block", - "src": "2488:190:21", + "src": "3452:190:28", "statements": [ { "expression": { @@ -2509,7 +2763,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4525, + "id": 5142, "isConstant": false, "isLValue": false, "isPure": false, @@ -2521,18 +2775,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4520, + "id": 5137, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "2519:17:21", + "referencedDeclaration": 5122, + "src": "3483:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 4521, + "id": 5138, "isConstant": false, "isLValue": false, "isPure": false, @@ -2540,13 +2794,13 @@ "memberName": "getLendingPoolConfigurator", "nodeType": "MemberAccess", "referencedDeclaration": 269, - "src": "2519:44:21", + "src": "3483:44:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4522, + "id": 5139, "isConstant": false, "isLValue": false, "isPure": false, @@ -2554,7 +2808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2519:46:21", + "src": "3483:46:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2566,18 +2820,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4523, + "id": 5140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "2569:3:21", + "referencedDeclaration": 16127, + "src": "3533:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4524, + "id": 5141, "isConstant": false, "isLValue": false, "isPure": false, @@ -2585,13 +2839,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2569:10:21", + "src": "3533:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2519:60:21", + "src": "3483:60:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2600,14 +2854,14 @@ { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e7472616374", - "id": 4526, + "id": 5143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2593:57:21", + "src": "3557:57:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8c7f0d16bf0dd67d21ca9dc67d55c2a427e32bd5c515428d66032bf648ff5ae2", @@ -2627,21 +2881,21 @@ "typeString": "literal_string \"The caller must be a lending pool configurator contract\"" } ], - "id": 4519, + "id": 5136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "2498:7:21", + "referencedDeclaration": 16131, + "src": "3462:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4527, + "id": 5144, "isConstant": false, "isLValue": false, "isPure": false, @@ -2649,76 +2903,76 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2498:162:21", + "src": "3462:162:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4528, + "id": 5145, "nodeType": "ExpressionStatement", - "src": "2498:162:21" + "src": "3462:162:28" }, { - "id": 4529, + "id": 5146, "nodeType": "PlaceholderStatement", - "src": "2670:1:21" + "src": "3634:1:28" } ] }, "documentation": "@dev only lending pools configurator can use functions affected by this modifier*", - "id": 4531, + "id": 5148, "name": "onlyLendingPoolConfigurator", "nodeType": "ModifierDefinition", "parameters": { - "id": 4518, + "id": 5135, "nodeType": "ParameterList", "parameters": [], - "src": "2488:0:21" + "src": "3452:0:28" }, - "src": "2451:227:21", + "src": "3415:227:28", "visibility": "internal" }, { "constant": false, - "id": 4535, + "id": 5152, "name": "reserves", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2684:61:21", + "scope": 8443, + "src": "3648:61:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData)" }, "typeName": { - "id": 4534, + "id": 5151, "keyType": { - "id": 4532, + "id": 5149, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2692:7:21", + "src": "3656:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2684:43:21", + "src": "3648:43:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData)" }, "valueType": { "contractScope": null, - "id": 4533, + "id": 5150, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "2703:23:21", + "referencedDeclaration": 10646, + "src": "3667:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } } @@ -2728,62 +2982,62 @@ }, { "constant": false, - "id": 4541, + "id": 5158, "name": "usersReserveData", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2751:93:21", + "scope": 8443, + "src": "3715:93:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData))" }, "typeName": { - "id": 4540, + "id": 5157, "keyType": { - "id": 4536, + "id": 5153, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2759:7:21", + "src": "3723:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2751:67:21", + "src": "3715:67:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData))" }, "valueType": { - "id": 4539, + "id": 5156, "keyType": { - "id": 4537, + "id": 5154, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2778:7:21", + "src": "3742:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2770:47:21", + "src": "3734:47:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData)" }, "valueType": { "contractScope": null, - "id": 4538, + "id": 5155, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "2789:27:21", + "referencedDeclaration": 10605, + "src": "3753:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } } @@ -2794,11 +3048,11 @@ }, { "constant": false, - "id": 4544, + "id": 5161, "name": "reservesList", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2851:29:21", + "scope": 8443, + "src": "3815:29:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2807,20 +3061,20 @@ }, "typeName": { "baseType": { - "id": 4542, + "id": 5159, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2851:7:21", + "src": "3815:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4543, + "id": 5160, "length": null, "nodeType": "ArrayTypeName", - "src": "2851:9:21", + "src": "3815:9:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2831,11 +3085,11 @@ }, { "constant": true, - "id": 4547, + "id": 5164, "name": "CORE_REVISION", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2887:43:21", + "scope": 8443, + "src": "3851:43:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2843,10 +3097,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4545, + "id": 5162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2887:7:21", + "src": "3851:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2854,75 +3108,75 @@ }, "value": { "argumentTypes": null, - "hexValue": "307834", - "id": 4546, + "hexValue": "307837", + "id": 5163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2927:3:21", + "src": "3891:3:28", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" }, - "value": "0x4" + "value": "0x7" }, "visibility": "public" }, { "body": { - "id": 4554, + "id": 5171, "nodeType": "Block", - "src": "3063:37:21", + "src": "4027:37:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 4552, + "id": 5169, "name": "CORE_REVISION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "3080:13:21", + "referencedDeclaration": 5164, + "src": "4044:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4551, - "id": 4553, + "functionReturnParameters": 5168, + "id": 5170, "nodeType": "Return", - "src": "3073:20:21" + "src": "4037:20:28" } ] }, "documentation": "@dev returns the revision number of the contract*", - "id": 4555, + "id": 5172, "implemented": true, "kind": "function", "modifiers": [], "name": "getRevision", "nodeType": "FunctionDefinition", "parameters": { - "id": 4548, + "id": 5165, "nodeType": "ParameterList", "parameters": [], - "src": "3028:2:21" + "src": "3992:2:28" }, "returnParameters": { - "id": 4551, + "id": 5168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4550, + "id": 5167, "name": "", "nodeType": "VariableDeclaration", - "scope": 4555, - "src": "3054:7:21", + "scope": 5172, + "src": "4018:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2930,10 +3184,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4549, + "id": 5166, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3054:7:21", + "src": "4018:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2943,36 +3197,36 @@ "visibility": "internal" } ], - "src": "3053:9:21" + "src": "4017:9:28" }, - "scope": 7812, - "src": "3008:92:21", + "scope": 8443, + "src": "3972:92:28", "stateMutability": "pure", - "superFunction": 11081, + "superFunction": 12185, "visibility": "internal" }, { "body": { - "id": 4569, + "id": 5186, "nodeType": "Block", - "src": "3367:88:21", + "src": "4331:88:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 4564, + "id": 5181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4562, + "id": 5179, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "3377:17:21", + "referencedDeclaration": 5122, + "src": "4341:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -2982,26 +3236,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4563, + "id": 5180, "name": "_addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4557, - "src": "3397:18:21", + "referencedDeclaration": 5174, + "src": "4361:18:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "src": "3377:38:21", + "src": "4341:38:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 4565, + "id": 5182, "nodeType": "ExpressionStatement", - "src": "3377:38:21" + "src": "4341:38:28" }, { "expression": { @@ -3009,18 +3263,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4566, + "id": 5183, "name": "refreshConfigInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "3425:21:21", + "referencedDeclaration": 8400, + "src": "4389:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4567, + "id": 5184, "isConstant": false, "isLValue": false, "isPure": false, @@ -3028,56 +3282,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3425:23:21", + "src": "4389:23:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4568, + "id": 5185, "nodeType": "ExpressionStatement", - "src": "3425:23:21" + "src": "4389:23:28" } ] }, "documentation": "@dev initializes the Core contract, invoked upon registration on the AddressesProvider\n@param _addressesProvider the addressesProvider contract*", - "id": 4570, + "id": 5187, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4560, + "id": 5177, "modifierName": { "argumentTypes": null, - "id": 4559, + "id": 5176, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11076, - "src": "3355:11:21", + "referencedDeclaration": 12180, + "src": "4319:11:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3355:11:21" + "src": "4319:11:28" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 4558, + "id": 5175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4557, + "id": 5174, "name": "_addressesProvider", "nodeType": "VariableDeclaration", - "scope": 4570, - "src": "3299:47:21", + "scope": 5187, + "src": "4263:47:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3086,11 +3340,11 @@ }, "typeName": { "contractScope": null, - "id": 4556, + "id": 5173, "name": "LendingPoolAddressesProvider", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 582, - "src": "3299:28:21", + "src": "4263:28:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -3100,25 +3354,25 @@ "visibility": "internal" } ], - "src": "3298:49:21" + "src": "4262:49:28" }, "returnParameters": { - "id": 4561, + "id": 5178, "nodeType": "ParameterList", "parameters": [], - "src": "3367:0:21" + "src": "4331:0:28" }, - "scope": 7812, - "src": "3279:176:21", + "scope": 8443, + "src": "4243:176:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4604, + "id": 5221, "nodeType": "Block", - "src": "3984:364:21", + "src": "4948:364:28", "statements": [ { "expression": { @@ -3130,26 +3384,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4583, + "id": 5200, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "3994:8:21", + "referencedDeclaration": 5152, + "src": "4958:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4585, + "id": 5202, "indexExpression": { "argumentTypes": null, - "id": 4584, + "id": 5201, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4003:8:21", + "referencedDeclaration": 5189, + "src": "4967:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3160,27 +3414,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3994:18:21", + "src": "4958:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4586, + "id": 5203, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "3994:42:21", + "referencedDeclaration": 10724, + "src": "4958:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4587, + "id": 5204, "isConstant": false, "isLValue": false, "isPure": false, @@ -3188,15 +3442,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3994:44:21", + "src": "4958:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4588, + "id": 5205, "nodeType": "ExpressionStatement", - "src": "3994:44:21" + "src": "4958:44:28" }, { "expression": { @@ -3204,12 +3458,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4590, + "id": 5207, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4095:8:21", + "referencedDeclaration": 5189, + "src": "5059:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3217,12 +3471,12 @@ }, { "argumentTypes": null, - "id": 4591, + "id": 5208, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4576, - "src": "4105:7:21", + "referencedDeclaration": 5193, + "src": "5069:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3231,14 +3485,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4592, + "id": 5209, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4114:1:21", + "src": "5078:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3262,18 +3516,18 @@ "typeString": "int_const 0" } ], - "id": 4589, + "id": 5206, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "4048:46:21", + "referencedDeclaration": 8341, + "src": "5012:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4593, + "id": 5210, "isConstant": false, "isLValue": false, "isPure": false, @@ -3281,38 +3535,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4048:68:21", + "src": "5012:68:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4594, + "id": 5211, "nodeType": "ExpressionStatement", - "src": "4048:68:21" + "src": "5012:68:28" }, { "condition": { "argumentTypes": null, - "id": 4595, + "id": 5212, "name": "_isFirstDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4578, - "src": "4131:15:21", + "referencedDeclaration": 5195, + "src": "5095:15:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4603, + "id": 5220, "nodeType": "IfStatement", - "src": "4127:215:21", + "src": "5091:215:28", "trueBody": { - "id": 4602, + "id": 5219, "nodeType": "Block", - "src": "4148:194:21", + "src": "5112:194:28", "statements": [ { "expression": { @@ -3320,12 +3574,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4597, + "id": 5214, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4309:8:21", + "referencedDeclaration": 5189, + "src": "5273:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3333,12 +3587,12 @@ }, { "argumentTypes": null, - "id": 4598, + "id": 5215, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "4319:5:21", + "referencedDeclaration": 5191, + "src": "5283:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3347,14 +3601,14 @@ { "argumentTypes": null, "hexValue": "74727565", - "id": 4599, + "id": 5216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4326:4:21", + "src": "5290:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3378,18 +3632,18 @@ "typeString": "bool" } ], - "id": 4596, + "id": 5213, "name": "setUserUseReserveAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4971, - "src": "4279:29:21", + "referencedDeclaration": 5588, + "src": "5243:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 4600, + "id": 5217, "isConstant": false, "isLValue": false, "isPure": false, @@ -3397,15 +3651,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4279:52:21", + "src": "5243:52:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4601, + "id": 5218, "nodeType": "ExpressionStatement", - "src": "4279:52:21" + "src": "5243:52:28" } ] } @@ -3413,43 +3667,43 @@ ] }, "documentation": "@dev updates the state of the core as a result of a deposit action\n@param _reserve the address of the reserve in which the deposit is happening\n@param _user the address of the the user depositing\n@param _amount the amount being deposited\n@param _isFirstDeposit true if the user is depositing for the first time*", - "id": 4605, + "id": 5222, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4581, + "id": 5198, "modifierName": { "argumentTypes": null, - "id": 4580, + "id": 5197, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "3968:15:21", + "referencedDeclaration": 5134, + "src": "4932:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3968:15:21" + "src": "4932:15:28" } ], "name": "updateStateOnDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4579, + "id": 5196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4572, + "id": 5189, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3858:16:21", + "scope": 5222, + "src": "4822:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3457,10 +3711,10 @@ "typeString": "address" }, "typeName": { - "id": 4571, + "id": 5188, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3858:7:21", + "src": "4822:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3472,11 +3726,11 @@ }, { "constant": false, - "id": 4574, + "id": 5191, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3884:13:21", + "scope": 5222, + "src": "4848:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3484,10 +3738,10 @@ "typeString": "address" }, "typeName": { - "id": 4573, + "id": 5190, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3884:7:21", + "src": "4848:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3499,11 +3753,11 @@ }, { "constant": false, - "id": 4576, + "id": 5193, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3907:15:21", + "scope": 5222, + "src": "4871:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3511,10 +3765,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4575, + "id": 5192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3907:7:21", + "src": "4871:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3525,11 +3779,11 @@ }, { "constant": false, - "id": 4578, + "id": 5195, "name": "_isFirstDeposit", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3932:20:21", + "scope": 5222, + "src": "4896:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3537,10 +3791,10 @@ "typeString": "bool" }, "typeName": { - "id": 4577, + "id": 5194, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3932:4:21", + "src": "4896:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3550,25 +3804,25 @@ "visibility": "internal" } ], - "src": "3848:110:21" + "src": "4812:110:28" }, "returnParameters": { - "id": 4582, + "id": 5199, "nodeType": "ParameterList", "parameters": [], - "src": "3984:0:21" + "src": "4948:0:28" }, - "scope": 7812, - "src": "3819:529:21", + "scope": 8443, + "src": "4783:529:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4639, + "id": 5256, "nodeType": "Block", - "src": "4894:402:21", + "src": "5858:402:28", "statements": [ { "expression": { @@ -3580,26 +3834,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4618, + "id": 5235, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "4963:8:21", + "referencedDeclaration": 5152, + "src": "5927:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4620, + "id": 5237, "indexExpression": { "argumentTypes": null, - "id": 4619, + "id": 5236, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "4972:8:21", + "referencedDeclaration": 5224, + "src": "5936:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3610,27 +3864,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4963:18:21", + "src": "5927:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4621, + "id": 5238, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "4963:42:21", + "referencedDeclaration": 10724, + "src": "5927:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4622, + "id": 5239, "isConstant": false, "isLValue": false, "isPure": false, @@ -3638,15 +3892,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4963:44:21", + "src": "5927:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4623, + "id": 5240, "nodeType": "ExpressionStatement", - "src": "4963:44:21" + "src": "5927:44:28" }, { "expression": { @@ -3654,12 +3908,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4625, + "id": 5242, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5064:8:21", + "referencedDeclaration": 5224, + "src": "6028:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3668,14 +3922,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4626, + "id": 5243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5074:1:21", + "src": "6038:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3685,12 +3939,12 @@ }, { "argumentTypes": null, - "id": 4627, + "id": 5244, "name": "_amountRedeemed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4611, - "src": "5077:15:21", + "referencedDeclaration": 5228, + "src": "6041:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3712,18 +3966,18 @@ "typeString": "uint256" } ], - "id": 4624, + "id": 5241, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "5017:46:21", + "referencedDeclaration": 8341, + "src": "5981:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4628, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": false, @@ -3731,38 +3985,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5017:76:21", + "src": "5981:76:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4629, + "id": 5246, "nodeType": "ExpressionStatement", - "src": "5017:76:21" + "src": "5981:76:28" }, { "condition": { "argumentTypes": null, - "id": 4630, + "id": 5247, "name": "_userRedeemedEverything", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4613, - "src": "5187:23:21", + "referencedDeclaration": 5230, + "src": "6151:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4638, + "id": 5255, "nodeType": "IfStatement", - "src": "5183:107:21", + "src": "6147:107:28", "trueBody": { - "id": 4637, + "id": 5254, "nodeType": "Block", - "src": "5212:78:21", + "src": "6176:78:28", "statements": [ { "expression": { @@ -3770,12 +4024,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4632, + "id": 5249, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5256:8:21", + "referencedDeclaration": 5224, + "src": "6220:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3783,12 +4037,12 @@ }, { "argumentTypes": null, - "id": 4633, + "id": 5250, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4609, - "src": "5266:5:21", + "referencedDeclaration": 5226, + "src": "6230:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3797,14 +4051,14 @@ { "argumentTypes": null, "hexValue": "66616c7365", - "id": 4634, + "id": 5251, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5273:5:21", + "src": "6237:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3828,18 +4082,18 @@ "typeString": "bool" } ], - "id": 4631, + "id": 5248, "name": "setUserUseReserveAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4971, - "src": "5226:29:21", + "referencedDeclaration": 5588, + "src": "6190:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 4635, + "id": 5252, "isConstant": false, "isLValue": false, "isPure": false, @@ -3847,15 +4101,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5226:53:21", + "src": "6190:53:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4636, + "id": 5253, "nodeType": "ExpressionStatement", - "src": "5226:53:21" + "src": "6190:53:28" } ] } @@ -3863,43 +4117,43 @@ ] }, "documentation": "@dev updates the state of the core as a result of a redeem action\n@param _reserve the address of the reserve in which the redeem is happening\n@param _user the address of the the user redeeming\n@param _amountRedeemed the amount being redeemed\n@param _userRedeemedEverything true if the user is redeeming everything*", - "id": 4640, + "id": 5257, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4616, + "id": 5233, "modifierName": { "argumentTypes": null, - "id": 4615, + "id": 5232, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "4878:15:21", + "referencedDeclaration": 5134, + "src": "5842:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4878:15:21" + "src": "5842:15:28" } ], "name": "updateStateOnRedeem", "nodeType": "FunctionDefinition", "parameters": { - "id": 4614, + "id": 5231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4607, + "id": 5224, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4752:16:21", + "scope": 5257, + "src": "5716:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3907,10 +4161,10 @@ "typeString": "address" }, "typeName": { - "id": 4606, + "id": 5223, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4752:7:21", + "src": "5716:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3922,11 +4176,11 @@ }, { "constant": false, - "id": 4609, + "id": 5226, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4778:13:21", + "scope": 5257, + "src": "5742:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3934,10 +4188,10 @@ "typeString": "address" }, "typeName": { - "id": 4608, + "id": 5225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4778:7:21", + "src": "5742:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3949,11 +4203,11 @@ }, { "constant": false, - "id": 4611, + "id": 5228, "name": "_amountRedeemed", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4801:23:21", + "scope": 5257, + "src": "5765:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3961,10 +4215,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4610, + "id": 5227, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4801:7:21", + "src": "5765:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3975,11 +4229,11 @@ }, { "constant": false, - "id": 4613, + "id": 5230, "name": "_userRedeemedEverything", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4834:28:21", + "scope": 5257, + "src": "5798:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3987,10 +4241,10 @@ "typeString": "bool" }, "typeName": { - "id": 4612, + "id": 5229, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4834:4:21", + "src": "5798:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4000,25 +4254,25 @@ "visibility": "internal" } ], - "src": "4742:126:21" + "src": "5706:126:28" }, "returnParameters": { - "id": 4617, + "id": 5234, "nodeType": "ParameterList", "parameters": [], - "src": "4894:0:21" + "src": "5858:0:28" }, - "scope": 7812, - "src": "4714:582:21", + "scope": 8443, + "src": "5678:582:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4687, + "id": 5304, "nodeType": "Block", - "src": "5739:557:21", + "src": "6703:557:28", "statements": [ { "expression": { @@ -4026,12 +4280,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4654, + "id": 5271, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "5786:8:21", + "referencedDeclaration": 5259, + "src": "6750:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4039,12 +4293,12 @@ }, { "argumentTypes": null, - "id": 4655, + "id": 5272, "name": "_protocolFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4648, - "src": "5796:12:21", + "referencedDeclaration": 5265, + "src": "6760:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4062,18 +4316,18 @@ "typeString": "uint256" } ], - "id": 4653, + "id": 5270, "name": "transferFlashLoanProtocolFeeInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7759, - "src": "5749:36:21", + "referencedDeclaration": 8390, + "src": "6713:36:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4656, + "id": 5273, "isConstant": false, "isLValue": false, "isPure": false, @@ -4081,15 +4335,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5749:60:21", + "src": "6713:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4657, + "id": 5274, "nodeType": "ExpressionStatement", - "src": "5749:60:21" + "src": "6713:60:28" }, { "expression": { @@ -4101,26 +4355,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4658, + "id": 5275, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "5865:8:21", + "referencedDeclaration": 5152, + "src": "6829:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4660, + "id": 5277, "indexExpression": { "argumentTypes": null, - "id": 4659, + "id": 5276, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "5874:8:21", + "referencedDeclaration": 5259, + "src": "6838:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4131,27 +4385,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5865:18:21", + "src": "6829:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4661, + "id": 5278, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "5865:42:21", + "referencedDeclaration": 10724, + "src": "6829:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4662, + "id": 5279, "isConstant": false, "isLValue": false, "isPure": false, @@ -4159,28 +4413,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5865:44:21", + "src": "6829:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4663, + "id": 5280, "nodeType": "ExpressionStatement", - "src": "5865:44:21" + "src": "6829:44:28" }, { "assignments": [ - 4665 + 5282 ], "declarations": [ { "constant": false, - "id": 4665, + "id": 5282, "name": "totalLiquidityBefore", "nodeType": "VariableDeclaration", - "scope": 4687, - "src": "5920:28:21", + "scope": 5304, + "src": "6884:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4188,10 +4442,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4664, + "id": 5281, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5920:7:21", + "src": "6884:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4201,7 +4455,7 @@ "visibility": "internal" } ], - "id": 4672, + "id": 5289, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4210,12 +4464,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4669, + "id": 5286, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6017:8:21", + "referencedDeclaration": 5259, + "src": "6981:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4229,18 +4483,18 @@ "typeString": "address" } ], - "id": 4668, + "id": 5285, "name": "getReserveTotalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5520, - "src": "5994:22:21", + "referencedDeclaration": 6137, + "src": "6958:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 4670, + "id": 5287, "isConstant": false, "isLValue": false, "isPure": false, @@ -4248,7 +4502,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5994:32:21", + "src": "6958:32:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4264,32 +4518,32 @@ ], "expression": { "argumentTypes": null, - "id": 4666, + "id": 5283, "name": "_availableLiquidityBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4644, - "src": "5951:25:21", + "referencedDeclaration": 5261, + "src": "6915:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4667, + "id": 5284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "5951:29:21", + "referencedDeclaration": 15070, + "src": "6915:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4671, + "id": 5288, "isConstant": false, "isLValue": false, "isPure": false, @@ -4297,14 +4551,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5951:85:21", + "src": "6915:85:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "5920:116:21" + "src": "6884:116:28" }, { "expression": { @@ -4312,12 +4566,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4677, + "id": 5294, "name": "totalLiquidityBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4665, - "src": "6147:20:21", + "referencedDeclaration": 5282, + "src": "7111:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4325,12 +4579,12 @@ }, { "argumentTypes": null, - "id": 4678, + "id": 5295, "name": "_income", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4646, - "src": "6169:7:21", + "referencedDeclaration": 5263, + "src": "7133:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4352,26 +4606,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4673, + "id": 5290, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "6103:8:21", + "referencedDeclaration": 5152, + "src": "7067:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4675, + "id": 5292, "indexExpression": { "argumentTypes": null, - "id": 4674, + "id": 5291, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6112:8:21", + "referencedDeclaration": 5259, + "src": "7076:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4382,27 +4636,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6103:18:21", + "src": "7067:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4676, + "id": 5293, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cumulateToLiquidityIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9687, - "src": "6103:43:21", + "referencedDeclaration": 10764, + "src": "7067:43:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 4679, + "id": 5296, "isConstant": false, "isLValue": false, "isPure": false, @@ -4410,15 +4664,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6103:74:21", + "src": "7067:74:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4680, + "id": 5297, "nodeType": "ExpressionStatement", - "src": "6103:74:21" + "src": "7067:74:28" }, { "expression": { @@ -4426,12 +4680,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4682, + "id": 5299, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6268:8:21", + "referencedDeclaration": 5259, + "src": "7232:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4439,12 +4693,12 @@ }, { "argumentTypes": null, - "id": 4683, + "id": 5300, "name": "_income", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4646, - "src": "6278:7:21", + "referencedDeclaration": 5263, + "src": "7242:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4453,14 +4707,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4684, + "id": 5301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6287:1:21", + "src": "7251:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4484,18 +4738,18 @@ "typeString": "int_const 0" } ], - "id": 4681, + "id": 5298, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "6221:46:21", + "referencedDeclaration": 8341, + "src": "7185:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4685, + "id": 5302, "isConstant": false, "isLValue": false, "isPure": false, @@ -4503,56 +4757,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6221:68:21", + "src": "7185:68:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4686, + "id": 5303, "nodeType": "ExpressionStatement", - "src": "6221:68:21" + "src": "7185:68:28" } ] }, "documentation": "@dev updates the state of the core as a result of a flashloan action\n@param _reserve the address of the reserve in which the flashloan is happening\n@param _income the income of the protocol as a result of the action*", - "id": 4688, + "id": 5305, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4651, + "id": 5268, "modifierName": { "argumentTypes": null, - "id": 4650, + "id": 5267, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "5723:15:21", + "referencedDeclaration": 5134, + "src": "6687:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5723:15:21" + "src": "6687:15:28" } ], "name": "updateStateOnFlashLoan", "nodeType": "FunctionDefinition", "parameters": { - "id": 4649, + "id": 5266, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4642, + "id": 5259, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5593:16:21", + "scope": 5305, + "src": "6557:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4560,10 +4814,10 @@ "typeString": "address" }, "typeName": { - "id": 4641, + "id": 5258, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5593:7:21", + "src": "6557:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4575,11 +4829,11 @@ }, { "constant": false, - "id": 4644, + "id": 5261, "name": "_availableLiquidityBefore", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5619:33:21", + "scope": 5305, + "src": "6583:33:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4587,10 +4841,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4643, + "id": 5260, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5619:7:21", + "src": "6583:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4601,11 +4855,11 @@ }, { "constant": false, - "id": 4646, + "id": 5263, "name": "_income", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5662:15:21", + "scope": 5305, + "src": "6626:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4613,10 +4867,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4645, + "id": 5262, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5662:7:21", + "src": "6626:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4627,11 +4881,11 @@ }, { "constant": false, - "id": 4648, + "id": 5265, "name": "_protocolFee", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5687:20:21", + "scope": 5305, + "src": "6651:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4639,10 +4893,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4647, + "id": 5264, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5687:7:21", + "src": "6651:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4652,40 +4906,40 @@ "visibility": "internal" } ], - "src": "5583:130:21" + "src": "6547:130:28" }, "returnParameters": { - "id": 4652, + "id": 5269, "nodeType": "ParameterList", "parameters": [], - "src": "5739:0:21" + "src": "6703:0:28" }, - "scope": 7812, - "src": "5552:744:21", + "scope": 8443, + "src": "6516:744:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4747, + "id": 5364, "nodeType": "Block", - "src": "6986:783:21", + "src": "7950:783:28", "statements": [ { "assignments": [ - 4708, + 5325, null, - 4710 + 5327 ], "declarations": [ { "constant": false, - "id": 4708, + "id": 5325, "name": "principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4747, - "src": "7053:30:21", + "scope": 5364, + "src": "8017:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4693,10 +4947,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4707, + "id": 5324, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7053:7:21", + "src": "8017:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4708,11 +4962,11 @@ null, { "constant": false, - "id": 4710, + "id": 5327, "name": "balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4747, - "src": "7087:23:21", + "scope": 5364, + "src": "8051:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4720,10 +4974,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4709, + "id": 5326, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7087:7:21", + "src": "8051:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4733,18 +4987,18 @@ "visibility": "internal" } ], - "id": 4715, + "id": 5332, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4712, + "id": 5329, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7149:8:21", + "referencedDeclaration": 5307, + "src": "8113:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4752,12 +5006,12 @@ }, { "argumentTypes": null, - "id": 4713, + "id": 5330, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7171:5:21", + "referencedDeclaration": 5309, + "src": "8135:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4775,18 +5029,18 @@ "typeString": "address" } ], - "id": 4711, + "id": 5328, "name": "getUserBorrowBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6197, - "src": "7114:21:21", + "referencedDeclaration": 6814, + "src": "8078:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (address,address) view returns (uint256,uint256,uint256)" } }, - "id": 4714, + "id": 5331, "isConstant": false, "isLValue": false, "isPure": false, @@ -4794,14 +5048,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7114:72:21", + "src": "8078:72:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", - "src": "7052:134:21" + "src": "8016:134:28" }, { "expression": { @@ -4809,12 +5063,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4717, + "id": 5334, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7245:8:21", + "referencedDeclaration": 5307, + "src": "8209:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4822,12 +5076,12 @@ }, { "argumentTypes": null, - "id": 4718, + "id": 5335, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7267:5:21", + "referencedDeclaration": 5309, + "src": "8231:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4835,12 +5089,12 @@ }, { "argumentTypes": null, - "id": 4719, + "id": 5336, "name": "principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, - "src": "7286:22:21", + "referencedDeclaration": 5325, + "src": "8250:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4848,12 +5102,12 @@ }, { "argumentTypes": null, - "id": 4720, + "id": 5337, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7322:15:21", + "referencedDeclaration": 5327, + "src": "8286:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4861,12 +5115,12 @@ }, { "argumentTypes": null, - "id": 4721, + "id": 5338, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7351:15:21", + "referencedDeclaration": 5311, + "src": "8315:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4874,14 +5128,14 @@ }, { "argumentTypes": null, - "id": 4722, + "id": 5339, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "7380:9:21", + "referencedDeclaration": 5315, + "src": "8344:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -4909,22 +5163,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4716, + "id": 5333, "name": "updateReserveStateOnBorrowInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "7197:34:21", + "referencedDeclaration": 7374, + "src": "8161:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4723, + "id": 5340, "isConstant": false, "isLValue": false, "isPure": false, @@ -4932,15 +5186,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7197:202:21", + "src": "8161:202:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4724, + "id": 5341, "nodeType": "ExpressionStatement", - "src": "7197:202:21" + "src": "8161:202:28" }, { "expression": { @@ -4948,12 +5202,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4726, + "id": 5343, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7455:8:21", + "referencedDeclaration": 5307, + "src": "8419:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4961,12 +5215,12 @@ }, { "argumentTypes": null, - "id": 4727, + "id": 5344, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7477:5:21", + "referencedDeclaration": 5309, + "src": "8441:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4974,12 +5228,12 @@ }, { "argumentTypes": null, - "id": 4728, + "id": 5345, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7496:15:21", + "referencedDeclaration": 5311, + "src": "8460:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4987,12 +5241,12 @@ }, { "argumentTypes": null, - "id": 4729, + "id": 5346, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7525:15:21", + "referencedDeclaration": 5327, + "src": "8489:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5000,12 +5254,12 @@ }, { "argumentTypes": null, - "id": 4730, + "id": 5347, "name": "_borrowFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4696, - "src": "7554:10:21", + "referencedDeclaration": 5313, + "src": "8518:10:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5013,14 +5267,14 @@ }, { "argumentTypes": null, - "id": 4731, + "id": 5348, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "7578:9:21", + "referencedDeclaration": 5315, + "src": "8542:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -5048,22 +5302,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4725, + "id": 5342, "name": "updateUserStateOnBorrowInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6868, - "src": "7410:31:21", + "referencedDeclaration": 7485, + "src": "8374:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4732, + "id": 5349, "isConstant": false, "isLValue": false, "isPure": false, @@ -5071,15 +5325,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7410:187:21", + "src": "8374:187:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4733, + "id": 5350, "nodeType": "ExpressionStatement", - "src": "7410:187:21" + "src": "8374:187:28" }, { "expression": { @@ -5087,12 +5341,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4735, + "id": 5352, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7655:8:21", + "referencedDeclaration": 5307, + "src": "8619:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5101,14 +5355,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4736, + "id": 5353, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7665:1:21", + "src": "8629:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5118,12 +5372,12 @@ }, { "argumentTypes": null, - "id": 4737, + "id": 5354, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7668:15:21", + "referencedDeclaration": 5311, + "src": "8632:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5145,18 +5399,18 @@ "typeString": "uint256" } ], - "id": 4734, + "id": 5351, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "7608:46:21", + "referencedDeclaration": 8341, + "src": "8572:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4738, + "id": 5355, "isConstant": false, "isLValue": false, "isPure": false, @@ -5164,15 +5418,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7608:76:21", + "src": "8572:76:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4739, + "id": 5356, "nodeType": "ExpressionStatement", - "src": "7608:76:21" + "src": "8572:76:28" }, { "expression": { @@ -5183,12 +5437,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4741, + "id": 5358, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7728:8:21", + "referencedDeclaration": 5307, + "src": "8692:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5196,12 +5450,12 @@ }, { "argumentTypes": null, - "id": 4742, + "id": 5359, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7738:5:21", + "referencedDeclaration": 5309, + "src": "8702:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5219,18 +5473,18 @@ "typeString": "address" } ], - "id": 4740, + "id": 5357, "name": "getUserCurrentBorrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6116, - "src": "7703:24:21", + "referencedDeclaration": 6733, + "src": "8667:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 4743, + "id": 5360, "isConstant": false, "isLValue": false, "isPure": false, @@ -5238,7 +5492,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7703:41:21", + "src": "8667:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5246,76 +5500,76 @@ }, { "argumentTypes": null, - "id": 4744, + "id": 5361, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7746:15:21", + "referencedDeclaration": 5327, + "src": "8710:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4745, + "id": 5362, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7702:60:21", + "src": "8666:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4746, + "functionReturnParameters": 5323, + "id": 5363, "nodeType": "Return", - "src": "7695:67:21" + "src": "8659:67:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _amountBorrowed the new amount borrowed\n@param _borrowFee the fee on the amount borrowed\n@param _rateMode the borrow rate mode (stable, variable)\n@return the new borrow rate for the user*", - "id": 4748, + "id": 5365, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4701, + "id": 5318, "modifierName": { "argumentTypes": null, - "id": 4700, + "id": 5317, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "6943:15:21", + "referencedDeclaration": 5134, + "src": "7907:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6943:15:21" + "src": "7907:15:28" } ], "name": "updateStateOnBorrow", "nodeType": "FunctionDefinition", "parameters": { - "id": 4699, + "id": 5316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4690, + "id": 5307, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6779:16:21", + "scope": 5365, + "src": "7743:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5323,10 +5577,10 @@ "typeString": "address" }, "typeName": { - "id": 4689, + "id": 5306, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6779:7:21", + "src": "7743:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5338,11 +5592,11 @@ }, { "constant": false, - "id": 4692, + "id": 5309, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6805:13:21", + "scope": 5365, + "src": "7769:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5350,10 +5604,10 @@ "typeString": "address" }, "typeName": { - "id": 4691, + "id": 5308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6805:7:21", + "src": "7769:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5365,11 +5619,11 @@ }, { "constant": false, - "id": 4694, + "id": 5311, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6828:23:21", + "scope": 5365, + "src": "7792:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5377,10 +5631,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4693, + "id": 5310, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6828:7:21", + "src": "7792:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5391,11 +5645,11 @@ }, { "constant": false, - "id": 4696, + "id": 5313, "name": "_borrowFee", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6861:18:21", + "scope": 5365, + "src": "7825:18:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5403,10 +5657,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4695, + "id": 5312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6861:7:21", + "src": "7825:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5417,26 +5671,26 @@ }, { "constant": false, - "id": 4698, + "id": 5315, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6889:38:21", + "scope": 5365, + "src": "7853:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4697, + "id": 5314, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "6889:28:21", + "referencedDeclaration": 10589, + "src": "7853:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -5444,19 +5698,19 @@ "visibility": "internal" } ], - "src": "6769:164:21" + "src": "7733:164:28" }, "returnParameters": { - "id": 4706, + "id": 5323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4703, + "id": 5320, "name": "", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6968:7:21", + "scope": 5365, + "src": "7932:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5464,10 +5718,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4702, + "id": 5319, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6968:7:21", + "src": "7932:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5478,11 +5732,11 @@ }, { "constant": false, - "id": 4705, + "id": 5322, "name": "", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6977:7:21", + "scope": 5365, + "src": "7941:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5490,10 +5744,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4704, + "id": 5321, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6977:7:21", + "src": "7941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5503,19 +5757,19 @@ "visibility": "internal" } ], - "src": "6967:18:21" + "src": "7931:18:28" }, - "scope": 7812, - "src": "6741:1028:21", + "scope": 8443, + "src": "7705:1028:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4787, + "id": 5404, "nodeType": "Block", - "src": "8549:486:21", + "src": "9513:486:28", "statements": [ { "expression": { @@ -5523,12 +5777,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4766, + "id": 5383, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8606:8:21", + "referencedDeclaration": 5367, + "src": "9570:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5536,12 +5790,12 @@ }, { "argumentTypes": null, - "id": 4767, + "id": 5384, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4752, - "src": "8628:5:21", + "referencedDeclaration": 5369, + "src": "9592:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5549,12 +5803,12 @@ }, { "argumentTypes": null, - "id": 4768, + "id": 5385, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "8647:23:21", + "referencedDeclaration": 5371, + "src": "9611:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5562,12 +5816,12 @@ }, { "argumentTypes": null, - "id": 4769, + "id": 5386, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4758, - "src": "8684:16:21", + "referencedDeclaration": 5375, + "src": "9648:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5593,18 +5847,18 @@ "typeString": "uint256" } ], - "id": 4765, + "id": 5382, "name": "updateReserveStateOnRepayInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6949, - "src": "8559:33:21", + "referencedDeclaration": 7566, + "src": "9523:33:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 4770, + "id": 5387, "isConstant": false, "isLValue": false, "isPure": false, @@ -5612,15 +5866,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8559:151:21", + "src": "9523:151:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4771, + "id": 5388, "nodeType": "ExpressionStatement", - "src": "8559:151:21" + "src": "9523:151:28" }, { "expression": { @@ -5628,12 +5882,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4773, + "id": 5390, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8764:8:21", + "referencedDeclaration": 5367, + "src": "9728:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5641,12 +5895,12 @@ }, { "argumentTypes": null, - "id": 4774, + "id": 5391, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4752, - "src": "8786:5:21", + "referencedDeclaration": 5369, + "src": "9750:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5654,12 +5908,12 @@ }, { "argumentTypes": null, - "id": 4775, + "id": 5392, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "8805:23:21", + "referencedDeclaration": 5371, + "src": "9769:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5667,12 +5921,12 @@ }, { "argumentTypes": null, - "id": 4776, + "id": 5393, "name": "_originationFeeRepaid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4756, - "src": "8842:21:21", + "referencedDeclaration": 5373, + "src": "9806:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5680,12 +5934,12 @@ }, { "argumentTypes": null, - "id": 4777, + "id": 5394, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4758, - "src": "8877:16:21", + "referencedDeclaration": 5375, + "src": "9841:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5693,12 +5947,12 @@ }, { "argumentTypes": null, - "id": 4778, + "id": 5395, "name": "_repaidWholeLoan", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4760, - "src": "8907:16:21", + "referencedDeclaration": 5377, + "src": "9871:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5732,18 +5986,18 @@ "typeString": "bool" } ], - "id": 4772, + "id": 5389, "name": "updateUserStateOnRepayInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "8720:30:21", + "referencedDeclaration": 7654, + "src": "9684:30:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,bool)" } }, - "id": 4779, + "id": 5396, "isConstant": false, "isLValue": false, "isPure": false, @@ -5751,15 +6005,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8720:213:21", + "src": "9684:213:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4780, + "id": 5397, "nodeType": "ExpressionStatement", - "src": "8720:213:21" + "src": "9684:213:28" }, { "expression": { @@ -5767,12 +6021,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4782, + "id": 5399, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8991:8:21", + "referencedDeclaration": 5367, + "src": "9955:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5780,12 +6034,12 @@ }, { "argumentTypes": null, - "id": 4783, + "id": 5400, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "9001:23:21", + "referencedDeclaration": 5371, + "src": "9965:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5794,14 +6048,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4784, + "id": 5401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9026:1:21", + "src": "9990:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5825,18 +6079,18 @@ "typeString": "int_const 0" } ], - "id": 4781, + "id": 5398, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "8944:46:21", + "referencedDeclaration": 8341, + "src": "9908:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4785, + "id": 5402, "isConstant": false, "isLValue": false, "isPure": false, @@ -5844,56 +6098,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8944:84:21", + "src": "9908:84:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4786, + "id": 5403, "nodeType": "ExpressionStatement", - "src": "8944:84:21" + "src": "9908:84:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _originationFeeRepaid the fee on the amount that is being repaid\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _repaidWholeLoan true if the user is repaying the whole loan*", - "id": 4788, + "id": 5405, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4763, + "id": 5380, "modifierName": { "argumentTypes": null, - "id": 4762, + "id": 5379, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "8533:15:21", + "referencedDeclaration": 5134, + "src": "9497:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8533:15:21" + "src": "9497:15:28" } ], "name": "updateStateOnRepay", "nodeType": "FunctionDefinition", "parameters": { - "id": 4761, + "id": 5378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4750, + "id": 5367, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8333:16:21", + "scope": 5405, + "src": "9297:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5901,10 +6155,10 @@ "typeString": "address" }, "typeName": { - "id": 4749, + "id": 5366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8333:7:21", + "src": "9297:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5916,11 +6170,11 @@ }, { "constant": false, - "id": 4752, + "id": 5369, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8359:13:21", + "scope": 5405, + "src": "9323:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5928,10 +6182,10 @@ "typeString": "address" }, "typeName": { - "id": 4751, + "id": 5368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8359:7:21", + "src": "9323:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5943,11 +6197,11 @@ }, { "constant": false, - "id": 4754, + "id": 5371, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8382:31:21", + "scope": 5405, + "src": "9346:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5955,10 +6209,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4753, + "id": 5370, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8382:7:21", + "src": "9346:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5969,11 +6223,11 @@ }, { "constant": false, - "id": 4756, + "id": 5373, "name": "_originationFeeRepaid", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8423:29:21", + "scope": 5405, + "src": "9387:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5981,10 +6235,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4755, + "id": 5372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8423:7:21", + "src": "9387:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5995,11 +6249,11 @@ }, { "constant": false, - "id": 4758, + "id": 5375, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8462:24:21", + "scope": 5405, + "src": "9426:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6007,10 +6261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4757, + "id": 5374, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8462:7:21", + "src": "9426:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6021,11 +6275,11 @@ }, { "constant": false, - "id": 4760, + "id": 5377, "name": "_repaidWholeLoan", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8496:21:21", + "scope": 5405, + "src": "9460:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6033,10 +6287,10 @@ "typeString": "bool" }, "typeName": { - "id": 4759, + "id": 5376, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8496:4:21", + "src": "9460:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6046,25 +6300,25 @@ "visibility": "internal" } ], - "src": "8323:200:21" + "src": "9287:200:28" }, "returnParameters": { - "id": 4764, + "id": 5381, "nodeType": "ParameterList", "parameters": [], - "src": "8549:0:21" + "src": "9513:0:28" }, - "scope": 7812, - "src": "8296:739:21", + "scope": 8443, + "src": "9260:739:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4841, + "id": 5458, "nodeType": "Block", - "src": "9892:554:21", + "src": "10856:554:28", "statements": [ { "expression": { @@ -6072,12 +6326,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4810, + "id": 5427, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "9952:8:21", + "referencedDeclaration": 5407, + "src": "10916:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6085,12 +6339,12 @@ }, { "argumentTypes": null, - "id": 4811, + "id": 5428, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "9974:5:21", + "referencedDeclaration": 5409, + "src": "10938:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6098,12 +6352,12 @@ }, { "argumentTypes": null, - "id": 4812, + "id": 5429, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "9993:23:21", + "referencedDeclaration": 5411, + "src": "10957:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6111,12 +6365,12 @@ }, { "argumentTypes": null, - "id": 4813, + "id": 5430, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "10030:24:21", + "referencedDeclaration": 5413, + "src": "10994:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6124,14 +6378,14 @@ }, { "argumentTypes": null, - "id": 4814, + "id": 5431, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "10068:16:21", + "referencedDeclaration": 5417, + "src": "11032:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -6155,22 +6409,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4809, + "id": 5426, "name": "updateReserveStateOnSwapRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7129, - "src": "9902:36:21", + "referencedDeclaration": 7746, + "src": "10866:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4815, + "id": 5432, "isConstant": false, "isLValue": false, "isPure": false, @@ -6178,43 +6432,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9902:192:21", + "src": "10866:192:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4816, + "id": 5433, "nodeType": "ExpressionStatement", - "src": "9902:192:21" + "src": "10866:192:28" }, { "assignments": [ - 4820 + 5437 ], "declarations": [ { "constant": false, - "id": 4820, + "id": 5437, "name": "newRateMode", "nodeType": "VariableDeclaration", - "scope": 4841, - "src": "10105:40:21", + "scope": 5458, + "src": "11069:40:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4819, + "id": 5436, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "10105:28:21", + "referencedDeclaration": 10589, + "src": "11069:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -6222,18 +6476,18 @@ "visibility": "internal" } ], - "id": 4827, + "id": 5444, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4822, + "id": 5439, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10195:8:21", + "referencedDeclaration": 5407, + "src": "11159:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6241,12 +6495,12 @@ }, { "argumentTypes": null, - "id": 4823, + "id": 5440, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "10217:5:21", + "referencedDeclaration": 5409, + "src": "11181:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6254,12 +6508,12 @@ }, { "argumentTypes": null, - "id": 4824, + "id": 5441, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "10236:16:21", + "referencedDeclaration": 5415, + "src": "11200:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6267,14 +6521,14 @@ }, { "argumentTypes": null, - "id": 4825, + "id": 5442, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "10266:16:21", + "referencedDeclaration": 5417, + "src": "11230:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -6294,22 +6548,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4821, + "id": 5438, "name": "updateUserStateOnSwapRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7247, - "src": "10148:33:21", + "referencedDeclaration": 7864, + "src": "11112:33:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address,uint256,enum CoreLibrary.InterestRateMode) returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 4826, + "id": 5443, "isConstant": false, "isLValue": false, "isPure": false, @@ -6317,14 +6571,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10148:144:21", + "src": "11112:144:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "10105:187:21" + "src": "11069:187:28" }, { "expression": { @@ -6332,12 +6586,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4829, + "id": 5446, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10350:8:21", + "referencedDeclaration": 5407, + "src": "11314:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6346,14 +6600,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4830, + "id": 5447, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10360:1:21", + "src": "11324:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6364,14 +6618,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4831, + "id": 5448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10363:1:21", + "src": "11327:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6395,18 +6649,18 @@ "typeString": "int_const 0" } ], - "id": 4828, + "id": 5445, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "10303:46:21", + "referencedDeclaration": 8341, + "src": "11267:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4832, + "id": 5449, "isConstant": false, "isLValue": false, "isPure": false, @@ -6414,15 +6668,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10303:62:21", + "src": "11267:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4833, + "id": 5450, "nodeType": "ExpressionStatement", - "src": "10303:62:21" + "src": "11267:62:28" }, { "expression": { @@ -6430,14 +6684,14 @@ "components": [ { "argumentTypes": null, - "id": 4834, + "id": 5451, "name": "newRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4820, - "src": "10384:11:21", + "referencedDeclaration": 5437, + "src": "11348:11:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -6446,12 +6700,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4836, + "id": 5453, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10422:8:21", + "referencedDeclaration": 5407, + "src": "11386:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6459,12 +6713,12 @@ }, { "argumentTypes": null, - "id": 4837, + "id": 5454, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "10432:5:21", + "referencedDeclaration": 5409, + "src": "11396:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6482,18 +6736,18 @@ "typeString": "address" } ], - "id": 4835, + "id": 5452, "name": "getUserCurrentBorrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6116, - "src": "10397:24:21", + "referencedDeclaration": 6733, + "src": "11361:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 4838, + "id": 5455, "isConstant": false, "isLValue": false, "isPure": false, @@ -6501,71 +6755,71 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10397:41:21", + "src": "11361:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4839, + "id": 5456, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10383:56:21", + "src": "11347:56:28", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_InterestRateMode_$9512_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_InterestRateMode_$10589_$_t_uint256_$", "typeString": "tuple(enum CoreLibrary.InterestRateMode,uint256)" } }, - "functionReturnParameters": 4808, - "id": 4840, + "functionReturnParameters": 5425, + "id": 5457, "nodeType": "Return", - "src": "10376:63:21" + "src": "11340:63:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _principalBorrowBalance the amount borrowed by the user\n@param _compoundedBorrowBalance the amount borrowed plus accrued interest\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _currentRateMode the current interest rate mode for the user*", - "id": 4842, + "id": 5459, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4803, + "id": 5420, "modifierName": { "argumentTypes": null, - "id": 4802, + "id": 5419, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "9828:15:21", + "referencedDeclaration": 5134, + "src": "10792:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "9828:15:21" + "src": "10792:15:28" } ], "name": "updateStateOnSwapRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 4801, + "id": 5418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4790, + "id": 5407, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9601:16:21", + "scope": 5459, + "src": "10565:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6573,10 +6827,10 @@ "typeString": "address" }, "typeName": { - "id": 4789, + "id": 5406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9601:7:21", + "src": "10565:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6588,11 +6842,11 @@ }, { "constant": false, - "id": 4792, + "id": 5409, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9627:13:21", + "scope": 5459, + "src": "10591:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6600,10 +6854,10 @@ "typeString": "address" }, "typeName": { - "id": 4791, + "id": 5408, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9627:7:21", + "src": "10591:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6615,11 +6869,11 @@ }, { "constant": false, - "id": 4794, + "id": 5411, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9650:31:21", + "scope": 5459, + "src": "10614:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6627,10 +6881,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4793, + "id": 5410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9650:7:21", + "src": "10614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6641,11 +6895,11 @@ }, { "constant": false, - "id": 4796, + "id": 5413, "name": "_compoundedBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9691:32:21", + "scope": 5459, + "src": "10655:32:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6653,10 +6907,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4795, + "id": 5412, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9691:7:21", + "src": "10655:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6667,11 +6921,11 @@ }, { "constant": false, - "id": 4798, + "id": 5415, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9733:24:21", + "scope": 5459, + "src": "10697:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6679,10 +6933,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4797, + "id": 5414, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9733:7:21", + "src": "10697:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6693,26 +6947,26 @@ }, { "constant": false, - "id": 4800, + "id": 5417, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9767:45:21", + "scope": 5459, + "src": "10731:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4799, + "id": 5416, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "9767:28:21", + "referencedDeclaration": 10589, + "src": "10731:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -6720,34 +6974,34 @@ "visibility": "internal" } ], - "src": "9591:227:21" + "src": "10555:227:28" }, "returnParameters": { - "id": 4808, + "id": 5425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4805, + "id": 5422, "name": "", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9853:28:21", + "scope": 5459, + "src": "10817:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4804, + "id": 5421, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "9853:28:21", + "referencedDeclaration": 10589, + "src": "10817:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -6756,11 +7010,11 @@ }, { "constant": false, - "id": 4807, + "id": 5424, "name": "", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9883:7:21", + "scope": 5459, + "src": "10847:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,10 +7022,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4806, + "id": 5423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9883:7:21", + "src": "10847:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6781,19 +7035,19 @@ "visibility": "internal" } ], - "src": "9852:39:21" + "src": "10816:39:28" }, - "scope": 7812, - "src": "9561:885:21", + "scope": 8443, + "src": "10525:885:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4903, + "id": 5520, "nodeType": "Block", - "src": "11677:841:21", + "src": "12641:841:28", "statements": [ { "expression": { @@ -6801,12 +7055,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4866, + "id": 5483, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11749:17:21", + "referencedDeclaration": 5461, + "src": "12713:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6814,12 +7068,12 @@ }, { "argumentTypes": null, - "id": 4867, + "id": 5484, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11780:5:21", + "referencedDeclaration": 5465, + "src": "12744:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6827,12 +7081,12 @@ }, { "argumentTypes": null, - "id": 4868, + "id": 5485, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11799:18:21", + "referencedDeclaration": 5467, + "src": "12763:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6840,12 +7094,12 @@ }, { "argumentTypes": null, - "id": 4869, + "id": 5486, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11831:16:21", + "referencedDeclaration": 5475, + "src": "12795:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6871,18 +7125,18 @@ "typeString": "uint256" } ], - "id": 4865, + "id": 5482, "name": "updatePrincipalReserveStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7327, - "src": "11687:48:21", + "referencedDeclaration": 7944, + "src": "12651:48:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 4870, + "id": 5487, "isConstant": false, "isLValue": false, "isPure": false, @@ -6890,15 +7144,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11687:170:21", + "src": "12651:170:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4871, + "id": 5488, "nodeType": "ExpressionStatement", - "src": "11687:170:21" + "src": "12651:170:28" }, { "expression": { @@ -6906,12 +7160,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4873, + "id": 5490, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11931:18:21", + "referencedDeclaration": 5463, + "src": "12895:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6925,18 +7179,18 @@ "typeString": "address" } ], - "id": 4872, + "id": 5489, "name": "updateCollateralReserveStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, - "src": "11868:49:21", + "referencedDeclaration": 7956, + "src": "12832:49:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4874, + "id": 5491, "isConstant": false, "isLValue": false, "isPure": false, @@ -6944,15 +7198,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11868:91:21", + "src": "12832:91:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4875, + "id": 5492, "nodeType": "ExpressionStatement", - "src": "11868:91:21" + "src": "12832:91:28" }, { "expression": { @@ -6960,12 +7214,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4877, + "id": 5494, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12020:17:21", + "referencedDeclaration": 5461, + "src": "12984:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6973,12 +7227,12 @@ }, { "argumentTypes": null, - "id": 4878, + "id": 5495, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "12051:5:21", + "referencedDeclaration": 5465, + "src": "13015:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6986,12 +7240,12 @@ }, { "argumentTypes": null, - "id": 4879, + "id": 5496, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "12070:18:21", + "referencedDeclaration": 5467, + "src": "13034:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6999,12 +7253,12 @@ }, { "argumentTypes": null, - "id": 4880, + "id": 5497, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "12102:14:21", + "referencedDeclaration": 5471, + "src": "13066:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7012,12 +7266,12 @@ }, { "argumentTypes": null, - "id": 4881, + "id": 5498, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "12130:16:21", + "referencedDeclaration": 5475, + "src": "13094:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7047,18 +7301,18 @@ "typeString": "uint256" } ], - "id": 4876, + "id": 5493, "name": "updateUserStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7425, - "src": "11970:36:21", + "referencedDeclaration": 8042, + "src": "12934:36:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 4882, + "id": 5499, "isConstant": false, "isLValue": false, "isPure": false, @@ -7066,15 +7320,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11970:186:21", + "src": "12934:186:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4883, + "id": 5500, "nodeType": "ExpressionStatement", - "src": "11970:186:21" + "src": "12934:186:28" }, { "expression": { @@ -7082,12 +7336,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4885, + "id": 5502, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12214:17:21", + "referencedDeclaration": 5461, + "src": "13178:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7095,12 +7349,12 @@ }, { "argumentTypes": null, - "id": 4886, + "id": 5503, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "12233:18:21", + "referencedDeclaration": 5467, + "src": "13197:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7109,14 +7363,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4887, + "id": 5504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12253:1:21", + "src": "13217:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7140,18 +7394,18 @@ "typeString": "int_const 0" } ], - "id": 4884, + "id": 5501, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "12167:46:21", + "referencedDeclaration": 8341, + "src": "13131:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4888, + "id": 5505, "isConstant": false, "isLValue": false, "isPure": false, @@ -7159,20 +7413,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12167:88:21", + "src": "13131:88:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4889, + "id": 5506, "nodeType": "ExpressionStatement", - "src": "12167:88:21" + "src": "13131:88:28" }, { "condition": { "argumentTypes": null, - "id": 4891, + "id": 5508, "isConstant": false, "isLValue": false, "isPure": false, @@ -7180,15 +7434,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "12270:26:21", + "src": "13234:26:28", "subExpression": { "argumentTypes": null, - "id": 4890, + "id": 5507, "name": "_liquidatorReceivesAToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "12271:25:21", + "referencedDeclaration": 5477, + "src": "13235:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7200,13 +7454,13 @@ } }, "falseBody": null, - "id": 4902, + "id": 5519, "nodeType": "IfStatement", - "src": "12266:245:21", + "src": "13230:245:28", "trueBody": { - "id": 4901, + "id": 5518, "nodeType": "Block", - "src": "12298:213:21", + "src": "13262:213:28", "statements": [ { "expression": { @@ -7214,12 +7468,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4893, + "id": 5510, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "12376:18:21", + "referencedDeclaration": 5463, + "src": "13340:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7228,14 +7482,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4894, + "id": 5511, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12412:1:21", + "src": "13376:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7248,12 +7502,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4897, + "id": 5514, "name": "_liquidatedCollateralForFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "12458:27:21", + "referencedDeclaration": 5473, + "src": "13422:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7269,32 +7523,32 @@ ], "expression": { "argumentTypes": null, - "id": 4895, + "id": 5512, "name": "_collateralToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "12431:22:21", + "referencedDeclaration": 5469, + "src": "13395:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4896, + "id": 5513, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "12431:26:21", + "referencedDeclaration": 15070, + "src": "13395:26:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4898, + "id": 5515, "isConstant": false, "isLValue": false, "isPure": false, @@ -7302,7 +7556,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12431:55:21", + "src": "13395:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7324,18 +7578,18 @@ "typeString": "uint256" } ], - "id": 4892, + "id": 5509, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "12312:46:21", + "referencedDeclaration": 8341, + "src": "13276:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4899, + "id": 5516, "isConstant": false, "isLValue": false, "isPure": false, @@ -7343,15 +7597,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12312:188:21", + "src": "13276:188:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4900, + "id": 5517, "nodeType": "ExpressionStatement", - "src": "12312:188:21" + "src": "13276:188:28" } ] } @@ -7359,43 +7613,43 @@ ] }, "documentation": "@dev updates the state of the core as a consequence of a liquidation action.\n@param _principalReserve the address of the principal reserve that is being repaid\n@param _collateralReserve the address of the collateral reserve that is being liquidated\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _collateralToLiquidate the amount of collateral being liquidated\n@param _feeLiquidated the amount of origination fee being liquidated\n@param _liquidatedCollateralForFee the amount of collateral equivalent to the origination fee + bonus\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _liquidatorReceivesAToken true if the liquidator will receive aTokens, false otherwise*", - "id": 4904, + "id": 5521, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4863, + "id": 5480, "modifierName": { "argumentTypes": null, - "id": 4862, + "id": 5479, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "11661:15:21", + "referencedDeclaration": 5134, + "src": "12625:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "11661:15:21" + "src": "12625:15:28" } ], "name": "updateStateOnLiquidation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4861, + "id": 5478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4844, + "id": 5461, "name": "_principalReserve", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11334:25:21", + "scope": 5521, + "src": "12298:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7403,10 +7657,10 @@ "typeString": "address" }, "typeName": { - "id": 4843, + "id": 5460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11334:7:21", + "src": "12298:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7418,11 +7672,11 @@ }, { "constant": false, - "id": 4846, + "id": 5463, "name": "_collateralReserve", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11369:26:21", + "scope": 5521, + "src": "12333:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7430,10 +7684,10 @@ "typeString": "address" }, "typeName": { - "id": 4845, + "id": 5462, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11369:7:21", + "src": "12333:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7445,11 +7699,11 @@ }, { "constant": false, - "id": 4848, + "id": 5465, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11405:13:21", + "scope": 5521, + "src": "12369:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7457,10 +7711,10 @@ "typeString": "address" }, "typeName": { - "id": 4847, + "id": 5464, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11405:7:21", + "src": "12369:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7472,11 +7726,11 @@ }, { "constant": false, - "id": 4850, + "id": 5467, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11428:26:21", + "scope": 5521, + "src": "12392:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7484,10 +7738,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4849, + "id": 5466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11428:7:21", + "src": "12392:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7498,11 +7752,11 @@ }, { "constant": false, - "id": 4852, + "id": 5469, "name": "_collateralToLiquidate", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11464:30:21", + "scope": 5521, + "src": "12428:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7510,10 +7764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4851, + "id": 5468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11464:7:21", + "src": "12428:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7524,11 +7778,11 @@ }, { "constant": false, - "id": 4854, + "id": 5471, "name": "_feeLiquidated", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11504:22:21", + "scope": 5521, + "src": "12468:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7536,10 +7790,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4853, + "id": 5470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11504:7:21", + "src": "12468:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7550,11 +7804,11 @@ }, { "constant": false, - "id": 4856, + "id": 5473, "name": "_liquidatedCollateralForFee", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11536:35:21", + "scope": 5521, + "src": "12500:35:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7562,10 +7816,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4855, + "id": 5472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11536:7:21", + "src": "12500:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7576,11 +7830,11 @@ }, { "constant": false, - "id": 4858, + "id": 5475, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11581:24:21", + "scope": 5521, + "src": "12545:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7588,10 +7842,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4857, + "id": 5474, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11581:7:21", + "src": "12545:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7602,11 +7856,11 @@ }, { "constant": false, - "id": 4860, + "id": 5477, "name": "_liquidatorReceivesAToken", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11615:30:21", + "scope": 5521, + "src": "12579:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7614,10 +7868,10 @@ "typeString": "bool" }, "typeName": { - "id": 4859, + "id": 5476, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11615:4:21", + "src": "12579:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7627,25 +7881,25 @@ "visibility": "internal" } ], - "src": "11324:327:21" + "src": "12288:327:28" }, "returnParameters": { - "id": 4864, + "id": 5481, "nodeType": "ParameterList", "parameters": [], - "src": "11677:0:21" + "src": "12641:0:28" }, - "scope": 7812, - "src": "11291:1227:21", + "scope": 8443, + "src": "12255:1227:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4942, + "id": 5559, "nodeType": "Block", - "src": "13038:358:21", + "src": "14002:358:28", "statements": [ { "expression": { @@ -7653,12 +7907,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4918, + "id": 5535, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13086:8:21", + "referencedDeclaration": 5523, + "src": "14050:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7666,12 +7920,12 @@ }, { "argumentTypes": null, - "id": 4919, + "id": 5536, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13096:5:21", + "referencedDeclaration": 5525, + "src": "14060:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7679,12 +7933,12 @@ }, { "argumentTypes": null, - "id": 4920, + "id": 5537, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4910, - "src": "13103:16:21", + "referencedDeclaration": 5527, + "src": "14067:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7706,18 +7960,18 @@ "typeString": "uint256" } ], - "id": 4917, + "id": 5534, "name": "updateReserveStateOnRebalanceInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "13048:37:21", + "referencedDeclaration": 8083, + "src": "14012:37:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4921, + "id": 5538, "isConstant": false, "isLValue": false, "isPure": false, @@ -7725,15 +7979,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13048:72:21", + "src": "14012:72:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4922, + "id": 5539, "nodeType": "ExpressionStatement", - "src": "13048:72:21" + "src": "14012:72:28" }, { "expression": { @@ -7741,12 +7995,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4924, + "id": 5541, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13216:8:21", + "referencedDeclaration": 5523, + "src": "14180:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7754,12 +8008,12 @@ }, { "argumentTypes": null, - "id": 4925, + "id": 5542, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13226:5:21", + "referencedDeclaration": 5525, + "src": "14190:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7767,12 +8021,12 @@ }, { "argumentTypes": null, - "id": 4926, + "id": 5543, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4910, - "src": "13233:16:21", + "referencedDeclaration": 5527, + "src": "14197:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7794,18 +8048,18 @@ "typeString": "uint256" } ], - "id": 4923, + "id": 5540, "name": "updateUserStateOnRebalanceInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7520, - "src": "13181:34:21", + "referencedDeclaration": 8137, + "src": "14145:34:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4927, + "id": 5544, "isConstant": false, "isLValue": false, "isPure": false, @@ -7813,15 +8067,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13181:69:21", + "src": "14145:69:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4928, + "id": 5545, "nodeType": "ExpressionStatement", - "src": "13181:69:21" + "src": "14145:69:28" }, { "expression": { @@ -7829,12 +8083,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4930, + "id": 5547, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13307:8:21", + "referencedDeclaration": 5523, + "src": "14271:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7843,14 +8097,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4931, + "id": 5548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13317:1:21", + "src": "14281:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7861,14 +8115,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4932, + "id": 5549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13320:1:21", + "src": "14284:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7892,18 +8146,18 @@ "typeString": "int_const 0" } ], - "id": 4929, + "id": 5546, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "13260:46:21", + "referencedDeclaration": 8341, + "src": "14224:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4933, + "id": 5550, "isConstant": false, "isLValue": false, "isPure": false, @@ -7911,15 +8165,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13260:62:21", + "src": "14224:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4934, + "id": 5551, "nodeType": "ExpressionStatement", - "src": "13260:62:21" + "src": "14224:62:28" }, { "expression": { @@ -7930,26 +8184,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4935, + "id": 5552, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "13339:16:21", + "referencedDeclaration": 5158, + "src": "14303:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 4937, + "id": 5554, "indexExpression": { "argumentTypes": null, - "id": 4936, + "id": 5553, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13356:5:21", + "referencedDeclaration": 5525, + "src": "14320:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7960,21 +8214,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13339:23:21", + "src": "14303:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 4939, + "id": 5556, "indexExpression": { "argumentTypes": null, - "id": 4938, + "id": 5555, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13363:8:21", + "referencedDeclaration": 5523, + "src": "14327:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7985,71 +8239,71 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13339:33:21", + "src": "14303:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, - "id": 4940, + "id": 5557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "13339:50:21", + "referencedDeclaration": 10600, + "src": "14303:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4916, - "id": 4941, + "functionReturnParameters": 5533, + "id": 5558, "nodeType": "Return", - "src": "13332:57:21" + "src": "14296:57:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@return the new stable rate for the user*", - "id": 4943, + "id": 5560, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4913, + "id": 5530, "modifierName": { "argumentTypes": null, - "id": 4912, + "id": 5529, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "12992:15:21", + "referencedDeclaration": 5134, + "src": "13956:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "12992:15:21" + "src": "13956:15:28" } ], "name": "updateStateOnRebalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 4911, + "id": 5528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4906, + "id": 5523, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12908:16:21", + "scope": 5560, + "src": "13872:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8057,10 +8311,10 @@ "typeString": "address" }, "typeName": { - "id": 4905, + "id": 5522, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12908:7:21", + "src": "13872:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8072,11 +8326,11 @@ }, { "constant": false, - "id": 4908, + "id": 5525, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12926:13:21", + "scope": 5560, + "src": "13890:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8084,10 +8338,10 @@ "typeString": "address" }, "typeName": { - "id": 4907, + "id": 5524, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12926:7:21", + "src": "13890:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8099,11 +8353,11 @@ }, { "constant": false, - "id": 4910, + "id": 5527, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12941:24:21", + "scope": 5560, + "src": "13905:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8111,10 +8365,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4909, + "id": 5526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12941:7:21", + "src": "13905:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8124,19 +8378,19 @@ "visibility": "internal" } ], - "src": "12907:59:21" + "src": "13871:59:28" }, "returnParameters": { - "id": 4916, + "id": 5533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4915, + "id": 5532, "name": "", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "13025:7:21", + "scope": 5560, + "src": "13989:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8144,10 +8398,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4914, + "id": 5531, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13025:7:21", + "src": "13989:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8157,47 +8411,47 @@ "visibility": "internal" } ], - "src": "13024:9:21" + "src": "13988:9:28" }, - "scope": 7812, - "src": "12876:520:21", + "scope": 8443, + "src": "13840:520:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4970, + "id": 5587, "nodeType": "Block", - "src": "13834:142:21", + "src": "14798:142:28", "statements": [ { "assignments": [ - 4957 + 5574 ], "declarations": [ { "constant": false, - "id": 4957, + "id": 5574, "name": "user", "nodeType": "VariableDeclaration", - "scope": 4970, - "src": "13844:40:21", + "scope": 5587, + "src": "14808:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 4956, + "id": 5573, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "13844:27:21", + "referencedDeclaration": 10605, + "src": "14808:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -8205,33 +8459,33 @@ "visibility": "internal" } ], - "id": 4963, + "id": 5580, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4958, + "id": 5575, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "13887:16:21", + "referencedDeclaration": 5158, + "src": "14851:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 4960, + "id": 5577, "indexExpression": { "argumentTypes": null, - "id": 4959, + "id": 5576, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "13904:5:21", + "referencedDeclaration": 5564, + "src": "14868:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8242,21 +8496,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13887:23:21", + "src": "14851:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 4962, + "id": 5579, "indexExpression": { "argumentTypes": null, - "id": 4961, + "id": 5578, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "13911:8:21", + "referencedDeclaration": 5562, + "src": "14875:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8267,19 +8521,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13887:33:21", + "src": "14851:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "13844:76:21" + "src": "14808:76:28" }, { "expression": { "argumentTypes": null, - "id": 4968, + "id": 5585, "isConstant": false, "isLValue": false, "isPure": false, @@ -8288,26 +8542,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4964, + "id": 5581, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4957, - "src": "13930:4:21", + "referencedDeclaration": 5574, + "src": "14894:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 4966, + "id": 5583, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "13930:20:21", + "referencedDeclaration": 10604, + "src": "14894:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8317,67 +8571,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4967, + "id": 5584, "name": "_useAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "13953:16:21", + "referencedDeclaration": 5566, + "src": "14917:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13930:39:21", + "src": "14894:39:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 4969, + "id": 5586, "nodeType": "ExpressionStatement", - "src": "13930:39:21" + "src": "14894:39:28" } ] }, "documentation": "@dev enables or disables a reserve as collateral\n@param _reserve the address of the principal reserve where the user deposited\n@param _user the address of the depositor\n@param _useAsCollateral true if the depositor wants to use the reserve as collateral*", - "id": 4971, + "id": 5588, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4952, + "id": 5569, "modifierName": { "argumentTypes": null, - "id": 4951, + "id": 5568, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "13814:15:21", + "referencedDeclaration": 5134, + "src": "14778:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "13814:15:21" + "src": "14778:15:28" } ], "name": "setUserUseReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 4950, + "id": 5567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4945, + "id": 5562, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13735:16:21", + "scope": 5588, + "src": "14699:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8385,10 +8639,10 @@ "typeString": "address" }, "typeName": { - "id": 4944, + "id": 5561, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13735:7:21", + "src": "14699:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8400,11 +8654,11 @@ }, { "constant": false, - "id": 4947, + "id": 5564, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13753:13:21", + "scope": 5588, + "src": "14717:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8412,10 +8666,10 @@ "typeString": "address" }, "typeName": { - "id": 4946, + "id": 5563, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13753:7:21", + "src": "14717:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8427,11 +8681,11 @@ }, { "constant": false, - "id": 4949, + "id": 5566, "name": "_useAsCollateral", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13768:21:21", + "scope": 5588, + "src": "14732:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8439,10 +8693,10 @@ "typeString": "bool" }, "typeName": { - "id": 4948, + "id": 5565, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13768:4:21", + "src": "14732:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8452,25 +8706,25 @@ "visibility": "internal" } ], - "src": "13734:56:21" + "src": "14698:56:28" }, "returnParameters": { - "id": 4953, + "id": 5570, "nodeType": "ParameterList", "parameters": [], - "src": "13834:0:21" + "src": "14798:0:28" }, - "scope": 7812, - "src": "13696:280:21", + "scope": 8443, + "src": "14660:280:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4982, + "id": 5599, "nodeType": "Block", - "src": "14186:158:21", + "src": "15150:158:28", "statements": [ { "expression": { @@ -8485,18 +8739,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4975, + "id": 5592, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "14254:3:21", + "referencedDeclaration": 16127, + "src": "15218:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4976, + "id": 5593, "isConstant": false, "isLValue": false, "isPure": false, @@ -8504,27 +8758,27 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14254:10:21", + "src": "15218:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 4977, + "id": 5594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isContract", "nodeType": "MemberAccess", - "referencedDeclaration": 14499, - "src": "14254:21:21", + "referencedDeclaration": 16079, + "src": "15218:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", "typeString": "function (address) view returns (bool)" } }, - "id": 4978, + "id": 5595, "isConstant": false, "isLValue": false, "isPure": false, @@ -8532,7 +8786,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14254:23:21", + "src": "15218:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8541,14 +8795,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f7265", - "id": 4979, + "id": 5596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14279:56:21", + "src": "15243:56:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3fd12f4b5399ab92a8b412386ed256004469c08240f717e3bc9c0c1108d4c226", @@ -8568,21 +8822,21 @@ "typeString": "literal_string \"Only contracts can send ether to the Lending pool core\"" } ], - "id": 4974, + "id": 5591, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "14246:7:21", + "referencedDeclaration": 16131, + "src": "15210:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4980, + "id": 5597, "isConstant": false, "isLValue": false, "isPure": false, @@ -8590,48 +8844,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14246:90:21", + "src": "15210:90:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4981, + "id": 5598, "nodeType": "ExpressionStatement", - "src": "14246:90:21" + "src": "15210:90:28" } ] }, "documentation": "@dev fallback function enforces that the caller is a contract, to support flashloan transfers*", - "id": 4983, + "id": 5600, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4972, + "id": 5589, "nodeType": "ParameterList", "parameters": [], - "src": "14166:2:21" + "src": "15130:2:28" }, "returnParameters": { - "id": 4973, + "id": 5590, "nodeType": "ParameterList", "parameters": [], - "src": "14186:0:21" + "src": "15150:0:28" }, - "scope": 7812, - "src": "14158:186:21", + "scope": 8443, + "src": "15122:186:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5028, + "id": 5645, "nodeType": "Block", - "src": "14759:312:21", + "src": "15723:312:28", "statements": [ { "condition": { @@ -8640,19 +8894,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4998, + "id": 5615, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4994, + "id": 5611, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "14773:8:21", + "referencedDeclaration": 5602, + "src": "15737:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8667,32 +8921,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4995, + "id": 5612, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "14785:13:21", + "referencedDeclaration": 11343, + "src": "15749:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 4996, + "id": 5613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "14785:24:21", + "referencedDeclaration": 11342, + "src": "15749:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 4997, + "id": 5614, "isConstant": false, "isLValue": false, "isPure": false, @@ -8700,36 +8954,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14785:26:21", + "src": "15749:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14773:38:21", + "src": "15737:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5026, + "id": 5643, "nodeType": "Block", - "src": "14888:177:21", + "src": "15852:177:28", "statements": [ { "assignments": [ - 5009, + 5626, null ], "declarations": [ { "constant": false, - "id": 5009, + "id": 5626, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5026, - "src": "14942:11:21", + "scope": 5643, + "src": "15906:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8737,10 +8991,10 @@ "typeString": "bool" }, "typeName": { - "id": 5008, + "id": 5625, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14942:4:21", + "src": "15906:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8751,21 +9005,21 @@ }, null ], - "id": 5020, + "id": 5637, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5018, + "id": 5635, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14996:2:21", + "src": "15960:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -8785,14 +9039,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5016, + "id": 5633, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14989:5:21", + "src": "15953:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -8813,12 +9067,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5013, + "id": 5630, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "14976:7:21", + "referencedDeclaration": 5606, + "src": "15940:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8836,18 +9090,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5010, + "id": 5627, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "14959:5:21", + "referencedDeclaration": 5604, + "src": "15923:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5011, + "id": 5628, "isConstant": false, "isLValue": false, "isPure": false, @@ -8855,13 +9109,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:10:21", + "src": "15923:10:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5012, + "id": 5629, "isConstant": false, "isLValue": false, "isPure": false, @@ -8869,13 +9123,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:16:21", + "src": "15923:16:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5014, + "id": 5631, "isConstant": false, "isLValue": false, "isPure": false, @@ -8883,13 +9137,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:25:21", + "src": "15923:25:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5015, + "id": 5632, "isConstant": false, "isLValue": false, "isPure": false, @@ -8897,13 +9151,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:29:21", + "src": "15923:29:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5017, + "id": 5634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8911,13 +9165,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:36:21", + "src": "15923:36:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5019, + "id": 5636, "isConstant": false, "isLValue": false, "isPure": false, @@ -8925,14 +9179,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:40:21", + "src": "15923:40:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "14941:58:21" + "src": "15905:58:28" }, { "expression": { @@ -8940,12 +9194,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5022, + "id": 5639, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "15021:6:21", + "referencedDeclaration": 5626, + "src": "15985:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8954,14 +9208,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5023, + "id": 5640, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15029:24:21", + "src": "15993:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -8981,21 +9235,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5021, + "id": 5638, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "15013:7:21", + "referencedDeclaration": 16131, + "src": "15977:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5024, + "id": 5641, "isConstant": false, "isLValue": false, "isPure": false, @@ -9003,25 +9257,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15013:41:21", + "src": "15977:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5025, + "id": 5642, "nodeType": "ExpressionStatement", - "src": "15013:41:21" + "src": "15977:41:28" } ] }, - "id": 5027, + "id": 5644, "nodeType": "IfStatement", - "src": "14769:296:21", + "src": "15733:296:28", "trueBody": { - "id": 5007, + "id": 5624, "nodeType": "Block", - "src": "14813:69:21", + "src": "15777:69:28", "statements": [ { "expression": { @@ -9029,12 +9283,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5003, + "id": 5620, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "14856:5:21", + "referencedDeclaration": 5604, + "src": "15820:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -9042,12 +9296,12 @@ }, { "argumentTypes": null, - "id": 5004, + "id": 5621, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "14863:7:21", + "referencedDeclaration": 5606, + "src": "15827:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9070,12 +9324,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5000, + "id": 5617, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "14833:8:21", + "referencedDeclaration": 5602, + "src": "15797:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9089,18 +9343,18 @@ "typeString": "address" } ], - "id": 4999, + "id": 5616, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "14827:5:21", + "referencedDeclaration": 15684, + "src": "15791:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5001, + "id": 5618, "isConstant": false, "isLValue": false, "isPure": false, @@ -9108,27 +9362,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14827:15:21", + "src": "15791:15:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5002, + "id": 5619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "14827:28:21", + "referencedDeclaration": 15875, + "src": "15791:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 5005, + "id": 5622, "isConstant": false, "isLValue": false, "isPure": false, @@ -9136,15 +9390,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14827:44:21", + "src": "15791:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5006, + "id": 5623, "nodeType": "ExpressionStatement", - "src": "14827:44:21" + "src": "15791:44:28" } ] } @@ -9152,43 +9406,43 @@ ] }, "documentation": "@dev transfers to the user a specific amount from the reserve.\n@param _reserve the address of the reserve where the transfer is happening\n@param _user the address of the user receiving the transfer\n@param _amount the amount being transferred*", - "id": 5029, + "id": 5646, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4992, + "id": 5609, "modifierName": { "argumentTypes": null, - "id": 4991, + "id": 5608, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "14739:15:21", + "referencedDeclaration": 5134, + "src": "15703:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "14739:15:21" + "src": "15703:15:28" } ], "name": "transferToUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4990, + "id": 5607, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4985, + "id": 5602, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14656:16:21", + "scope": 5646, + "src": "15620:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9196,10 +9450,10 @@ "typeString": "address" }, "typeName": { - "id": 4984, + "id": 5601, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14656:7:21", + "src": "15620:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9211,11 +9465,11 @@ }, { "constant": false, - "id": 4987, + "id": 5604, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14674:21:21", + "scope": 5646, + "src": "15638:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9223,10 +9477,10 @@ "typeString": "address payable" }, "typeName": { - "id": 4986, + "id": 5603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14674:15:21", + "src": "15638:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9238,11 +9492,11 @@ }, { "constant": false, - "id": 4989, + "id": 5606, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14697:15:21", + "scope": 5646, + "src": "15661:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9250,10 +9504,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4988, + "id": 5605, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14697:7:21", + "src": "15661:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9263,38 +9517,38 @@ "visibility": "internal" } ], - "src": "14655:58:21" + "src": "15619:58:28" }, "returnParameters": { - "id": 4993, + "id": 5610, "nodeType": "ParameterList", "parameters": [], - "src": "14759:0:21" + "src": "15723:0:28" }, - "scope": 7812, - "src": "14632:439:21", + "scope": 8443, + "src": "15596:439:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5101, + "id": 5718, "nodeType": "Block", - "src": "15589:711:21", + "src": "16553:711:28", "statements": [ { "assignments": [ - 5043 + 5660 ], "declarations": [ { "constant": false, - "id": 5043, + "id": 5660, "name": "feeAddress", "nodeType": "VariableDeclaration", - "scope": 5101, - "src": "15599:26:21", + "scope": 5718, + "src": "16563:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9302,10 +9556,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5042, + "id": 5659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15599:15:21", + "src": "16563:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9316,7 +9570,7 @@ "visibility": "internal" } ], - "id": 5049, + "id": 5666, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9325,12 +9579,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5046, + "id": 5663, "name": "_destination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5037, - "src": "15644:12:21", + "referencedDeclaration": 5654, + "src": "16608:12:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9344,20 +9598,20 @@ "typeString": "address" } ], - "id": 5045, + "id": 5662, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15636:7:21", + "src": "16600:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 5047, + "id": 5664, "isConstant": false, "isLValue": false, "isPure": false, @@ -9365,7 +9619,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15636:21:21", + "src": "16600:21:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -9379,20 +9633,20 @@ "typeString": "uint160" } ], - "id": 5044, + "id": 5661, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15628:7:21", + "src": "16592:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5048, + "id": 5665, "isConstant": false, "isLValue": false, "isPure": false, @@ -9400,14 +9654,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15628:30:21", + "src": "16592:30:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "15599:59:21" + "src": "16563:59:28" }, { "condition": { @@ -9416,19 +9670,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5054, + "id": 5671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5050, + "id": 5667, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5031, - "src": "15703:6:21", + "referencedDeclaration": 5648, + "src": "16667:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9443,32 +9697,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5051, + "id": 5668, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "15713:13:21", + "referencedDeclaration": 11343, + "src": "16677:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5052, + "id": 5669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "15713:24:21", + "referencedDeclaration": 11342, + "src": "16677:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5053, + "id": 5670, "isConstant": false, "isLValue": false, "isPure": false, @@ -9476,22 +9730,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15713:26:21", + "src": "16677:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15703:36:21", + "src": "16667:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5099, + "id": 5716, "nodeType": "Block", - "src": "16012:282:21", + "src": "16976:282:28", "statements": [ { "expression": { @@ -9503,7 +9757,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5077, + "id": 5694, "isConstant": false, "isLValue": false, "isPure": false, @@ -9512,18 +9766,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5074, + "id": 5691, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "16034:3:21", + "referencedDeclaration": 16127, + "src": "16998:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5075, + "id": 5692, "isConstant": false, "isLValue": false, "isPure": false, @@ -9531,7 +9785,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16034:9:21", + "src": "16998:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9541,18 +9795,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5076, + "id": 5693, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "16047:7:21", + "referencedDeclaration": 5652, + "src": "17011:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16034:20:21", + "src": "16998:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9561,14 +9815,14 @@ { "argumentTypes": null, "hexValue": "54686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368", - "id": 5078, + "id": 5695, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16056:55:21", + "src": "17020:55:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3ae30f23ff7837445ce2686dd35a110a057a45b669d9773b552977a0705cedbe", @@ -9588,21 +9842,21 @@ "typeString": "literal_string \"The amount and the value sent to deposit do not match\"" } ], - "id": 5073, + "id": 5690, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16026:7:21", + "referencedDeclaration": 16131, + "src": "16990:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5079, + "id": 5696, "isConstant": false, "isLValue": false, "isPure": false, @@ -9610,29 +9864,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16026:86:21", + "src": "16990:86:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5080, + "id": 5697, "nodeType": "ExpressionStatement", - "src": "16026:86:21" + "src": "16990:86:28" }, { "assignments": [ - 5082, + 5699, null ], "declarations": [ { "constant": false, - "id": 5082, + "id": 5699, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5099, - "src": "16166:11:21", + "scope": 5716, + "src": "17130:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9640,10 +9894,10 @@ "typeString": "bool" }, "typeName": { - "id": 5081, + "id": 5698, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "16166:4:21", + "src": "17130:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9654,21 +9908,21 @@ }, null ], - "id": 5093, + "id": 5710, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5091, + "id": 5708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16225:2:21", + "src": "17189:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -9688,14 +9942,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5089, + "id": 5706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16218:5:21", + "src": "17182:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -9716,12 +9970,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5086, + "id": 5703, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "16205:7:21", + "referencedDeclaration": 5652, + "src": "17169:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9739,18 +9993,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5083, + "id": 5700, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "16183:10:21", + "referencedDeclaration": 5660, + "src": "17147:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5084, + "id": 5701, "isConstant": false, "isLValue": false, "isPure": false, @@ -9758,13 +10012,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:15:21", + "src": "17147:15:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5085, + "id": 5702, "isConstant": false, "isLValue": false, "isPure": false, @@ -9772,13 +10026,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:21:21", + "src": "17147:21:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5087, + "id": 5704, "isConstant": false, "isLValue": false, "isPure": false, @@ -9786,13 +10040,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:30:21", + "src": "17147:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5088, + "id": 5705, "isConstant": false, "isLValue": false, "isPure": false, @@ -9800,13 +10054,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:34:21", + "src": "17147:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5090, + "id": 5707, "isConstant": false, "isLValue": false, "isPure": false, @@ -9814,13 +10068,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:41:21", + "src": "17147:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5092, + "id": 5709, "isConstant": false, "isLValue": false, "isPure": false, @@ -9828,14 +10082,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:45:21", + "src": "17147:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "16165:63:21" + "src": "17129:63:28" }, { "expression": { @@ -9843,12 +10097,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5095, + "id": 5712, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "16250:6:21", + "referencedDeclaration": 5699, + "src": "17214:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9857,14 +10111,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5096, + "id": 5713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16258:24:21", + "src": "17222:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -9884,21 +10138,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5094, + "id": 5711, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16242:7:21", + "referencedDeclaration": 16131, + "src": "17206:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5097, + "id": 5714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9906,25 +10160,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16242:41:21", + "src": "17206:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5098, + "id": 5715, "nodeType": "ExpressionStatement", - "src": "16242:41:21" + "src": "17206:41:28" } ] }, - "id": 5100, + "id": 5717, "nodeType": "IfStatement", - "src": "15699:595:21", + "src": "16663:595:28", "trueBody": { - "id": 5072, + "id": 5689, "nodeType": "Block", - "src": "15741:265:21", + "src": "16705:265:28", "statements": [ { "expression": { @@ -9936,7 +10190,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5059, + "id": 5676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9945,18 +10199,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5056, + "id": 5673, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "15780:3:21", + "referencedDeclaration": 16127, + "src": "16744:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5057, + "id": 5674, "isConstant": false, "isLValue": false, "isPure": false, @@ -9964,7 +10218,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15780:9:21", + "src": "16744:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9975,14 +10229,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5058, + "id": 5675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15793:1:21", + "src": "16757:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9990,7 +10244,7 @@ }, "value": "0" }, - "src": "15780:14:21", + "src": "16744:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9999,14 +10253,14 @@ { "argumentTypes": null, "hexValue": "557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e", - "id": 5060, + "id": 5677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15812:97:21", + "src": "16776:97:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_654c972fc326fcc5abc552221a5fd44bbee538da2cd9225ba1a47bbe69da9e08", @@ -10026,21 +10280,21 @@ "typeString": "literal_string \"User is sending ETH along with the ERC20 transfer. Check the value attribute of the transaction\"" } ], - "id": 5055, + "id": 5672, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "15755:7:21", + "referencedDeclaration": 16131, + "src": "16719:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5061, + "id": 5678, "isConstant": false, "isLValue": false, "isPure": false, @@ -10048,15 +10302,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15755:168:21", + "src": "16719:168:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5062, + "id": 5679, "nodeType": "ExpressionStatement", - "src": "15755:168:21" + "src": "16719:168:28" }, { "expression": { @@ -10064,12 +10318,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5067, + "id": 5684, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "15968:5:21", + "referencedDeclaration": 5650, + "src": "16932:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10077,12 +10331,12 @@ }, { "argumentTypes": null, - "id": 5068, + "id": 5685, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "15975:10:21", + "referencedDeclaration": 5660, + "src": "16939:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -10090,12 +10344,12 @@ }, { "argumentTypes": null, - "id": 5069, + "id": 5686, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "15987:7:21", + "referencedDeclaration": 5652, + "src": "16951:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10122,12 +10376,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5064, + "id": 5681, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5031, - "src": "15943:6:21", + "referencedDeclaration": 5648, + "src": "16907:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10141,18 +10395,18 @@ "typeString": "address" } ], - "id": 5063, + "id": 5680, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "15937:5:21", + "referencedDeclaration": 15684, + "src": "16901:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5065, + "id": 5682, "isConstant": false, "isLValue": false, "isPure": false, @@ -10160,27 +10414,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15937:13:21", + "src": "16901:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5066, + "id": 5683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 14320, - "src": "15937:30:21", + "referencedDeclaration": 15900, + "src": "16901:30:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 5070, + "id": 5687, "isConstant": false, "isLValue": false, "isPure": false, @@ -10188,15 +10442,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15937:58:21", + "src": "16901:58:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5071, + "id": 5688, "nodeType": "ExpressionStatement", - "src": "15937:58:21" + "src": "16901:58:28" } ] } @@ -10204,43 +10458,43 @@ ] }, "documentation": "@dev transfers the protocol fees to the fees collection address\n@param _token the address of the token being transferred\n@param _user the address of the user from where the transfer is happening\n@param _amount the amount being transferred\n@param _destination the fee receiver address*", - "id": 5102, + "id": 5719, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5040, + "id": 5657, "modifierName": { "argumentTypes": null, - "id": 5039, + "id": 5656, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "15573:15:21", + "referencedDeclaration": 5134, + "src": "16537:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "15573:15:21" + "src": "16537:15:28" } ], "name": "transferToFeeCollectionAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5038, + "id": 5655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5031, + "id": 5648, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15457:14:21", + "scope": 5719, + "src": "16421:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10248,10 +10502,10 @@ "typeString": "address" }, "typeName": { - "id": 5030, + "id": 5647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15457:7:21", + "src": "16421:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10263,11 +10517,11 @@ }, { "constant": false, - "id": 5033, + "id": 5650, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15481:13:21", + "scope": 5719, + "src": "16445:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10275,10 +10529,10 @@ "typeString": "address" }, "typeName": { - "id": 5032, + "id": 5649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15481:7:21", + "src": "16445:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10290,11 +10544,11 @@ }, { "constant": false, - "id": 5035, + "id": 5652, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15504:15:21", + "scope": 5719, + "src": "16468:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10302,10 +10556,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5034, + "id": 5651, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15504:7:21", + "src": "16468:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10316,11 +10570,11 @@ }, { "constant": false, - "id": 5037, + "id": 5654, "name": "_destination", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15529:20:21", + "scope": 5719, + "src": "16493:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10328,10 +10582,10 @@ "typeString": "address" }, "typeName": { - "id": 5036, + "id": 5653, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15529:7:21", + "src": "16493:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10342,38 +10596,38 @@ "visibility": "internal" } ], - "src": "15447:108:21" + "src": "16411:108:28" }, "returnParameters": { - "id": 5041, + "id": 5658, "nodeType": "ParameterList", "parameters": [], - "src": "15589:0:21" + "src": "16553:0:28" }, - "scope": 7812, - "src": "15408:892:21", + "scope": 8443, + "src": "16372:892:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5163, + "id": 5780, "nodeType": "Block", - "src": "16714:543:21", + "src": "17678:543:28", "statements": [ { "assignments": [ - 5114 + 5731 ], "declarations": [ { "constant": false, - "id": 5114, + "id": 5731, "name": "feeAddress", "nodeType": "VariableDeclaration", - "scope": 5163, - "src": "16724:26:21", + "scope": 5780, + "src": "17688:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10381,10 +10635,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5113, + "id": 5730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16724:15:21", + "src": "17688:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -10395,7 +10649,7 @@ "visibility": "internal" } ], - "id": 5120, + "id": 5737, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10404,12 +10658,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5117, + "id": 5734, "name": "_destination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5108, - "src": "16769:12:21", + "referencedDeclaration": 5725, + "src": "17733:12:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10423,20 +10677,20 @@ "typeString": "address" } ], - "id": 5116, + "id": 5733, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16761:7:21", + "src": "17725:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 5118, + "id": 5735, "isConstant": false, "isLValue": false, "isPure": false, @@ -10444,7 +10698,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16761:21:21", + "src": "17725:21:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -10458,20 +10712,20 @@ "typeString": "uint160" } ], - "id": 5115, + "id": 5732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16753:7:21", + "src": "17717:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5119, + "id": 5736, "isConstant": false, "isLValue": false, "isPure": false, @@ -10479,14 +10733,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16753:30:21", + "src": "17717:30:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "16724:59:21" + "src": "17688:59:28" }, { "expression": { @@ -10498,7 +10752,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5125, + "id": 5742, "isConstant": false, "isLValue": false, "isPure": false, @@ -10507,18 +10761,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5122, + "id": 5739, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "16844:3:21", + "referencedDeclaration": 16127, + "src": "17808:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5123, + "id": 5740, "isConstant": false, "isLValue": false, "isPure": false, @@ -10526,7 +10780,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16844:9:21", + "src": "17808:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10537,14 +10791,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5124, + "id": 5741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16857:1:21", + "src": "17821:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10552,7 +10806,7 @@ }, "value": "0" }, - "src": "16844:14:21", + "src": "17808:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10561,14 +10815,14 @@ { "argumentTypes": null, "hexValue": "466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c7565", - "id": 5126, + "id": 5743, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16872:56:21", + "src": "17836:56:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_1217de2b91093fd71756aa7f086820bda98975a99edb89c5a503064289f854cf", @@ -10588,21 +10842,21 @@ "typeString": "literal_string \"Fee liquidation does not require any transfer of value\"" } ], - "id": 5121, + "id": 5738, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16823:7:21", + "referencedDeclaration": 16131, + "src": "17787:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5127, + "id": 5744, "isConstant": false, "isLValue": false, "isPure": false, @@ -10610,15 +10864,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16823:115:21", + "src": "17787:115:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5128, + "id": 5745, "nodeType": "ExpressionStatement", - "src": "16823:115:21" + "src": "17787:115:28" }, { "condition": { @@ -10627,19 +10881,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5133, + "id": 5750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5129, + "id": 5746, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5104, - "src": "16953:6:21", + "referencedDeclaration": 5721, + "src": "17917:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10654,32 +10908,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5130, + "id": 5747, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "16963:13:21", + "referencedDeclaration": 11343, + "src": "17927:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5131, + "id": 5748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "16963:24:21", + "referencedDeclaration": 11342, + "src": "17927:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5132, + "id": 5749, "isConstant": false, "isLValue": false, "isPure": false, @@ -10687,36 +10941,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16963:26:21", + "src": "17927:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "16953:36:21", + "src": "17917:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5161, + "id": 5778, "nodeType": "Block", - "src": "17069:182:21", + "src": "18033:182:28", "statements": [ { "assignments": [ - 5144, + 5761, null ], "declarations": [ { "constant": false, - "id": 5144, + "id": 5761, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5161, - "src": "17123:11:21", + "scope": 5778, + "src": "18087:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10724,10 +10978,10 @@ "typeString": "bool" }, "typeName": { - "id": 5143, + "id": 5760, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17123:4:21", + "src": "18087:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10738,21 +10992,21 @@ }, null ], - "id": 5155, + "id": 5772, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5153, + "id": 5770, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17182:2:21", + "src": "18146:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -10772,14 +11026,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5151, + "id": 5768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17175:5:21", + "src": "18139:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -10800,12 +11054,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5148, + "id": 5765, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5106, - "src": "17162:7:21", + "referencedDeclaration": 5723, + "src": "18126:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10823,18 +11077,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5145, + "id": 5762, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5114, - "src": "17140:10:21", + "referencedDeclaration": 5731, + "src": "18104:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5146, + "id": 5763, "isConstant": false, "isLValue": false, "isPure": false, @@ -10842,13 +11096,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:15:21", + "src": "18104:15:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5147, + "id": 5764, "isConstant": false, "isLValue": false, "isPure": false, @@ -10856,13 +11110,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:21:21", + "src": "18104:21:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5149, + "id": 5766, "isConstant": false, "isLValue": false, "isPure": false, @@ -10870,13 +11124,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:30:21", + "src": "18104:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5150, + "id": 5767, "isConstant": false, "isLValue": false, "isPure": false, @@ -10884,13 +11138,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:34:21", + "src": "18104:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5152, + "id": 5769, "isConstant": false, "isLValue": false, "isPure": false, @@ -10898,13 +11152,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:41:21", + "src": "18104:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5154, + "id": 5771, "isConstant": false, "isLValue": false, "isPure": false, @@ -10912,14 +11166,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:45:21", + "src": "18104:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "17122:63:21" + "src": "18086:63:28" }, { "expression": { @@ -10927,12 +11181,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5157, + "id": 5774, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5144, - "src": "17207:6:21", + "referencedDeclaration": 5761, + "src": "18171:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10941,14 +11195,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5158, + "id": 5775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17215:24:21", + "src": "18179:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -10968,21 +11222,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5156, + "id": 5773, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17199:7:21", + "referencedDeclaration": 16131, + "src": "18163:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5159, + "id": 5776, "isConstant": false, "isLValue": false, "isPure": false, @@ -10990,25 +11244,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17199:41:21", + "src": "18163:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5160, + "id": 5777, "nodeType": "ExpressionStatement", - "src": "17199:41:21" + "src": "18163:41:28" } ] }, - "id": 5162, + "id": 5779, "nodeType": "IfStatement", - "src": "16949:302:21", + "src": "17913:302:28", "trueBody": { - "id": 5142, + "id": 5759, "nodeType": "Block", - "src": "16991:72:21", + "src": "17955:72:28", "statements": [ { "expression": { @@ -11016,12 +11270,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5138, + "id": 5755, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5114, - "src": "17032:10:21", + "referencedDeclaration": 5731, + "src": "17996:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -11029,12 +11283,12 @@ }, { "argumentTypes": null, - "id": 5139, + "id": 5756, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5106, - "src": "17044:7:21", + "referencedDeclaration": 5723, + "src": "18008:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11057,12 +11311,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5135, + "id": 5752, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5104, - "src": "17011:6:21", + "referencedDeclaration": 5721, + "src": "17975:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11076,18 +11330,18 @@ "typeString": "address" } ], - "id": 5134, + "id": 5751, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "17005:5:21", + "referencedDeclaration": 15684, + "src": "17969:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5136, + "id": 5753, "isConstant": false, "isLValue": false, "isPure": false, @@ -11095,27 +11349,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17005:13:21", + "src": "17969:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5137, + "id": 5754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "17005:26:21", + "referencedDeclaration": 15875, + "src": "17969:26:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 5140, + "id": 5757, "isConstant": false, "isLValue": false, "isPure": false, @@ -11123,15 +11377,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17005:47:21", + "src": "17969:47:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5141, + "id": 5758, "nodeType": "ExpressionStatement", - "src": "17005:47:21" + "src": "17969:47:28" } ] } @@ -11139,43 +11393,43 @@ ] }, "documentation": "@dev transfers the fees to the fees collection address in the case of liquidation\n@param _token the address of the token being transferred\n@param _amount the amount being transferred\n@param _destination the fee receiver address*", - "id": 5164, + "id": 5781, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5111, + "id": 5728, "modifierName": { "argumentTypes": null, - "id": 5110, + "id": 5727, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "16698:15:21", + "referencedDeclaration": 5134, + "src": "17662:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "16698:15:21" + "src": "17662:15:28" } ], "name": "liquidateFee", "nodeType": "FunctionDefinition", "parameters": { - "id": 5109, + "id": 5726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5104, + "id": 5721, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16605:14:21", + "scope": 5781, + "src": "17569:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11183,10 +11437,10 @@ "typeString": "address" }, "typeName": { - "id": 5103, + "id": 5720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16605:7:21", + "src": "17569:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11198,11 +11452,11 @@ }, { "constant": false, - "id": 5106, + "id": 5723, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16629:15:21", + "scope": 5781, + "src": "17593:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11210,10 +11464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5105, + "id": 5722, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16629:7:21", + "src": "17593:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11224,11 +11478,11 @@ }, { "constant": false, - "id": 5108, + "id": 5725, "name": "_destination", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16654:20:21", + "scope": 5781, + "src": "17618:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11236,10 +11490,10 @@ "typeString": "address" }, "typeName": { - "id": 5107, + "id": 5724, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16654:7:21", + "src": "17618:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11250,25 +11504,25 @@ "visibility": "internal" } ], - "src": "16595:85:21" + "src": "17559:85:28" }, "returnParameters": { - "id": 5112, + "id": 5729, "nodeType": "ParameterList", "parameters": [], - "src": "16714:0:21" + "src": "17678:0:28" }, - "scope": 7812, - "src": "16574:683:21", + "scope": 8443, + "src": "17538:683:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5242, + "id": 5859, "nodeType": "Block", - "src": "17712:696:21", + "src": "18676:696:28", "statements": [ { "condition": { @@ -11277,19 +11531,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5179, + "id": 5796, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5175, + "id": 5792, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "17726:8:21", + "referencedDeclaration": 5783, + "src": "18690:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11304,32 +11558,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5176, + "id": 5793, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "17738:13:21", + "referencedDeclaration": 11343, + "src": "18702:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5177, + "id": 5794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "17738:24:21", + "referencedDeclaration": 11342, + "src": "18702:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5178, + "id": 5795, "isConstant": false, "isLValue": false, "isPure": false, @@ -11337,22 +11591,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17738:26:21", + "src": "18702:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17726:38:21", + "src": "18690:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5240, + "id": 5857, "nodeType": "Block", - "src": "17952:450:21", + "src": "18916:450:28", "statements": [ { "expression": { @@ -11364,7 +11618,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5204, + "id": 5821, "isConstant": false, "isLValue": false, "isPure": false, @@ -11373,18 +11627,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5201, + "id": 5818, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "17974:3:21", + "referencedDeclaration": 16127, + "src": "18938:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5202, + "id": 5819, "isConstant": false, "isLValue": false, "isPure": false, @@ -11392,7 +11646,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17974:9:21", + "src": "18938:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11402,18 +11656,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5203, + "id": 5820, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "17987:7:21", + "referencedDeclaration": 5787, + "src": "18951:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17974:20:21", + "src": "18938:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11422,14 +11676,14 @@ { "argumentTypes": null, "hexValue": "54686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368", - "id": 5205, + "id": 5822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17996:55:21", + "src": "18960:55:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3ae30f23ff7837445ce2686dd35a110a057a45b669d9773b552977a0705cedbe", @@ -11449,21 +11703,21 @@ "typeString": "literal_string \"The amount and the value sent to deposit do not match\"" } ], - "id": 5200, + "id": 5817, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17966:7:21", + "referencedDeclaration": 16131, + "src": "18930:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5206, + "id": 5823, "isConstant": false, "isLValue": false, "isPure": false, @@ -11471,15 +11725,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17966:86:21", + "src": "18930:86:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5207, + "id": 5824, "nodeType": "ExpressionStatement", - "src": "17966:86:21" + "src": "18930:86:28" }, { "condition": { @@ -11488,7 +11742,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5211, + "id": 5828, "isConstant": false, "isLValue": false, "isPure": false, @@ -11497,18 +11751,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5208, + "id": 5825, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "18071:3:21", + "referencedDeclaration": 16127, + "src": "19035:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5209, + "id": 5826, "isConstant": false, "isLValue": false, "isPure": false, @@ -11516,7 +11770,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18071:9:21", + "src": "19035:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11526,44 +11780,44 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 5210, + "id": 5827, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "18083:7:21", + "referencedDeclaration": 5787, + "src": "19047:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18071:19:21", + "src": "19035:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5239, + "id": 5856, "nodeType": "IfStatement", - "src": "18067:325:21", + "src": "19031:325:28", "trueBody": { - "id": 5238, + "id": 5855, "nodeType": "Block", - "src": "18092:300:21", + "src": "19056:300:28", "statements": [ { "assignments": [ - 5213 + 5830 ], "declarations": [ { "constant": false, - "id": 5213, + "id": 5830, "name": "excessAmount", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "18149:20:21", + "scope": 5855, + "src": "19113:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11571,10 +11825,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5212, + "id": 5829, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18149:7:21", + "src": "19113:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11584,18 +11838,18 @@ "visibility": "internal" } ], - "id": 5219, + "id": 5836, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5217, + "id": 5834, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "18186:7:21", + "referencedDeclaration": 5787, + "src": "19150:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11613,18 +11867,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5214, + "id": 5831, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "18172:3:21", + "referencedDeclaration": 16127, + "src": "19136:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5215, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": false, @@ -11632,27 +11886,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18172:9:21", + "src": "19136:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5216, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "18172:13:21", + "referencedDeclaration": 15095, + "src": "19136:13:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5218, + "id": 5835, "isConstant": false, "isLValue": false, "isPure": false, @@ -11660,28 +11914,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18172:22:21", + "src": "19136:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18149:45:21" + "src": "19113:45:28" }, { "assignments": [ - 5221, + 5838, null ], "declarations": [ { "constant": false, - "id": 5221, + "id": 5838, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "18256:11:21", + "scope": 5855, + "src": "19220:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11689,10 +11943,10 @@ "typeString": "bool" }, "typeName": { - "id": 5220, + "id": 5837, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18256:4:21", + "src": "19220:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11703,21 +11957,21 @@ }, null ], - "id": 5232, + "id": 5849, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5230, + "id": 5847, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18315:2:21", + "src": "19279:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -11737,14 +11991,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5228, + "id": 5845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18308:5:21", + "src": "19272:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -11765,12 +12019,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5225, + "id": 5842, "name": "excessAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "18290:12:21", + "referencedDeclaration": 5830, + "src": "19254:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11788,18 +12042,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5222, + "id": 5839, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5168, - "src": "18273:5:21", + "referencedDeclaration": 5785, + "src": "19237:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5223, + "id": 5840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11807,13 +12061,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:10:21", + "src": "19237:10:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5224, + "id": 5841, "isConstant": false, "isLValue": false, "isPure": false, @@ -11821,13 +12075,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:16:21", + "src": "19237:16:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5226, + "id": 5843, "isConstant": false, "isLValue": false, "isPure": false, @@ -11835,13 +12089,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:30:21", + "src": "19237:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5227, + "id": 5844, "isConstant": false, "isLValue": false, "isPure": false, @@ -11849,13 +12103,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:34:21", + "src": "19237:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5229, + "id": 5846, "isConstant": false, "isLValue": false, "isPure": false, @@ -11863,13 +12117,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:41:21", + "src": "19237:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5231, + "id": 5848, "isConstant": false, "isLValue": false, "isPure": false, @@ -11877,14 +12131,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:45:21", + "src": "19237:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "18255:63:21" + "src": "19219:63:28" }, { "expression": { @@ -11892,12 +12146,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5234, + "id": 5851, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "18344:6:21", + "referencedDeclaration": 5838, + "src": "19308:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11906,14 +12160,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5235, + "id": 5852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18352:24:21", + "src": "19316:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -11933,21 +12187,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5233, + "id": 5850, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "18336:7:21", + "referencedDeclaration": 16131, + "src": "19300:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5236, + "id": 5853, "isConstant": false, "isLValue": false, "isPure": false, @@ -11955,28 +12209,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18336:41:21", + "src": "19300:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5237, + "id": 5854, "nodeType": "ExpressionStatement", - "src": "18336:41:21" + "src": "19300:41:28" } ] } } ] }, - "id": 5241, + "id": 5858, "nodeType": "IfStatement", - "src": "17722:680:21", + "src": "18686:680:28", "trueBody": { - "id": 5199, + "id": 5816, "nodeType": "Block", - "src": "17766:180:21", + "src": "18730:180:28", "statements": [ { "expression": { @@ -11988,7 +12242,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5184, + "id": 5801, "isConstant": false, "isLValue": false, "isPure": false, @@ -11997,18 +12251,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5181, + "id": 5798, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "17788:3:21", + "referencedDeclaration": 16127, + "src": "18752:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5182, + "id": 5799, "isConstant": false, "isLValue": false, "isPure": false, @@ -12016,7 +12270,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17788:9:21", + "src": "18752:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12027,14 +12281,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5183, + "id": 5800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17801:1:21", + "src": "18765:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12042,7 +12296,7 @@ }, "value": "0" }, - "src": "17788:14:21", + "src": "18752:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12051,14 +12305,14 @@ { "argumentTypes": null, "hexValue": "557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e", - "id": 5185, + "id": 5802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17804:52:21", + "src": "18768:52:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_520a50edddccc4068b81b585d86766a642c03a8ecf2e0736d8d50c4df1d2e380", @@ -12078,21 +12332,21 @@ "typeString": "literal_string \"User is sending ETH along with the ERC20 transfer.\"" } ], - "id": 5180, + "id": 5797, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17780:7:21", + "referencedDeclaration": 16131, + "src": "18744:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5186, + "id": 5803, "isConstant": false, "isLValue": false, "isPure": false, @@ -12100,15 +12354,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:77:21", + "src": "18744:77:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5187, + "id": 5804, "nodeType": "ExpressionStatement", - "src": "17780:77:21" + "src": "18744:77:28" }, { "expression": { @@ -12116,12 +12370,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5192, + "id": 5809, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5168, - "src": "17904:5:21", + "referencedDeclaration": 5785, + "src": "18868:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -12132,14 +12386,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5194, + "id": 5811, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "17919:4:21", + "referencedDeclaration": 16243, + "src": "18883:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -12147,24 +12401,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5193, + "id": 5810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17911:7:21", + "src": "18875:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5195, + "id": 5812, "isConstant": false, "isLValue": false, "isPure": false, @@ -12172,7 +12426,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17911:13:21", + "src": "18875:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -12180,12 +12434,12 @@ }, { "argumentTypes": null, - "id": 5196, + "id": 5813, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "17926:7:21", + "referencedDeclaration": 5787, + "src": "18890:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12212,12 +12466,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5189, + "id": 5806, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "17877:8:21", + "referencedDeclaration": 5783, + "src": "18841:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12231,18 +12485,18 @@ "typeString": "address" } ], - "id": 5188, + "id": 5805, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "17871:5:21", + "referencedDeclaration": 15684, + "src": "18835:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5190, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": false, @@ -12250,27 +12504,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17871:15:21", + "src": "18835:15:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5191, + "id": 5808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 14320, - "src": "17871:32:21", + "referencedDeclaration": 15900, + "src": "18835:32:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 5197, + "id": 5814, "isConstant": false, "isLValue": false, "isPure": false, @@ -12278,15 +12532,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17871:63:21", + "src": "18835:63:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5198, + "id": 5815, "nodeType": "ExpressionStatement", - "src": "17871:63:21" + "src": "18835:63:28" } ] } @@ -12294,43 +12548,43 @@ ] }, "documentation": "@dev transfers an amount from a user to the destination reserve\n@param _reserve the address of the reserve where the amount is being transferred\n@param _user the address of the user from where the transfer is happening\n@param _amount the amount being transferred*", - "id": 5243, + "id": 5860, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5173, + "id": 5790, "modifierName": { "argumentTypes": null, - "id": 5172, + "id": 5789, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "17692:15:21", + "referencedDeclaration": 5134, + "src": "18656:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "17692:15:21" + "src": "18656:15:28" } ], "name": "transferToReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 5171, + "id": 5788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5166, + "id": 5783, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17593:16:21", + "scope": 5860, + "src": "18557:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12338,10 +12592,10 @@ "typeString": "address" }, "typeName": { - "id": 5165, + "id": 5782, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17593:7:21", + "src": "18557:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12353,11 +12607,11 @@ }, { "constant": false, - "id": 5168, + "id": 5785, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17611:21:21", + "scope": 5860, + "src": "18575:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12365,10 +12619,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5167, + "id": 5784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17611:15:21", + "src": "18575:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -12380,11 +12634,11 @@ }, { "constant": false, - "id": 5170, + "id": 5787, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17634:15:21", + "scope": 5860, + "src": "18598:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12392,10 +12646,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5169, + "id": 5786, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17634:7:21", + "src": "18598:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12405,53 +12659,53 @@ "visibility": "internal" } ], - "src": "17592:58:21" + "src": "18556:58:28" }, "returnParameters": { - "id": 5174, + "id": 5791, "nodeType": "ParameterList", "parameters": [], - "src": "17712:0:21" + "src": "18676:0:28" }, - "scope": 7812, - "src": "17566:842:21", + "scope": 8443, + "src": "18530:842:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5307, + "id": 5924, "nodeType": "Block", - "src": "19036:555:21", + "src": "20000:555:28", "statements": [ { "assignments": [ - 5261 + 5878 ], "declarations": [ { "constant": false, - "id": 5261, + "id": 5878, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19046:39:21", + "scope": 5924, + "src": "20010:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5260, + "id": 5877, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "19046:23:21", + "referencedDeclaration": 10646, + "src": "20010:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -12459,31 +12713,31 @@ "visibility": "internal" } ], - "id": 5265, + "id": 5882, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5262, + "id": 5879, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "19088:8:21", + "referencedDeclaration": 5152, + "src": "20052:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5264, + "id": 5881, "indexExpression": { "argumentTypes": null, - "id": 5263, + "id": 5880, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19097:8:21", + "referencedDeclaration": 5862, + "src": "20061:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12494,42 +12748,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19088:18:21", + "src": "20052:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19046:60:21" + "src": "20010:60:28" }, { "assignments": [ - 5269 + 5886 ], "declarations": [ { "constant": false, - "id": 5269, + "id": 5886, "name": "user", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19116:40:21", + "scope": 5924, + "src": "20080:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5268, + "id": 5885, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "19116:27:21", + "referencedDeclaration": 10605, + "src": "20080:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -12537,33 +12791,33 @@ "visibility": "internal" } ], - "id": 5275, + "id": 5892, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5270, + "id": 5887, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "19159:16:21", + "referencedDeclaration": 5158, + "src": "20123:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5272, + "id": 5889, "indexExpression": { "argumentTypes": null, - "id": 5271, + "id": 5888, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "19176:5:21", + "referencedDeclaration": 5864, + "src": "20140:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12574,21 +12828,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19159:23:21", + "src": "20123:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 5274, + "id": 5891, "indexExpression": { "argumentTypes": null, - "id": 5273, + "id": 5890, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19183:8:21", + "referencedDeclaration": 5862, + "src": "20147:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12599,27 +12853,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19159:33:21", + "src": "20123:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19116:76:21" + "src": "20080:76:28" }, { "assignments": [ - 5277 + 5894 ], "declarations": [ { "constant": false, - "id": 5277, + "id": 5894, "name": "underlyingBalance", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19203:25:21", + "scope": 5924, + "src": "20167:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12627,10 +12881,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5276, + "id": 5893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19203:7:21", + "src": "20167:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12640,18 +12894,18 @@ "visibility": "internal" } ], - "id": 5282, + "id": 5899, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5279, + "id": 5896, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19261:8:21", + "referencedDeclaration": 5862, + "src": "20225:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12659,12 +12913,12 @@ }, { "argumentTypes": null, - "id": 5280, + "id": 5897, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "19271:5:21", + "referencedDeclaration": 5864, + "src": "20235:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12682,18 +12936,18 @@ "typeString": "address" } ], - "id": 5278, + "id": 5895, "name": "getUserUnderlyingAssetBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "19231:29:21", + "referencedDeclaration": 6000, + "src": "20195:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 5281, + "id": 5898, "isConstant": false, "isLValue": false, "isPure": false, @@ -12701,14 +12955,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19231:46:21", + "src": "20195:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "19203:74:21" + "src": "20167:74:28" }, { "condition": { @@ -12717,7 +12971,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5286, + "id": 5903, "isConstant": false, "isLValue": false, "isPure": false, @@ -12726,26 +12980,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5283, + "id": 5900, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19292:4:21", + "referencedDeclaration": 5886, + "src": "20256:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5284, + "id": 5901, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "19292:27:21", + "referencedDeclaration": 10594, + "src": "20256:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12756,14 +13010,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5285, + "id": 5902, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19323:1:21", + "src": "20287:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12771,20 +13025,20 @@ }, "value": "0" }, - "src": "19292:32:21", + "src": "20256:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5295, + "id": 5912, "nodeType": "IfStatement", - "src": "19288:117:21", + "src": "20252:117:28", "trueBody": { - "id": 5294, + "id": 5911, "nodeType": "Block", - "src": "19326:79:21", + "src": "20290:79:28", "statements": [ { "expression": { @@ -12792,12 +13046,12 @@ "components": [ { "argumentTypes": null, - "id": 5287, + "id": 5904, "name": "underlyingBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "19348:17:21", + "referencedDeclaration": 5894, + "src": "20312:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12806,14 +13060,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5288, + "id": 5905, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19367:1:21", + "src": "20331:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12824,14 +13078,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5289, + "id": 5906, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19370:1:21", + "src": "20334:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12843,49 +13097,49 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5290, + "id": 5907, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19373:4:21", + "referencedDeclaration": 5886, + "src": "20337:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5291, + "id": 5908, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "19373:20:21", + "referencedDeclaration": 10604, + "src": "20337:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5292, + "id": 5909, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "19347:47:21", + "src": "20311:47:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_bool_$", "typeString": "tuple(uint256,int_const 0,int_const 0,bool)" } }, - "functionReturnParameters": 5257, - "id": 5293, + "functionReturnParameters": 5874, + "id": 5910, "nodeType": "Return", - "src": "19340:54:21" + "src": "20304:54:28" } ] } @@ -12896,12 +13150,12 @@ "components": [ { "argumentTypes": null, - "id": 5296, + "id": 5913, "name": "underlyingBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "19436:17:21", + "referencedDeclaration": 5894, + "src": "20400:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12912,14 +13166,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5299, + "id": 5916, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5261, - "src": "19499:7:21", + "referencedDeclaration": 5878, + "src": "20463:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } } @@ -12927,38 +13181,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } ], "expression": { "argumentTypes": null, - "id": 5297, + "id": 5914, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19467:4:21", + "referencedDeclaration": 5886, + "src": "20431:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5298, + "id": 5915, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getCompoundedBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9971, - "src": "19467:31:21", + "referencedDeclaration": 11048, + "src": "20431:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$9528_storage_ptr_$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UserReserveData_$9528_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$10605_storage_ptr_$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UserReserveData_$10605_storage_ptr_$", "typeString": "function (struct CoreLibrary.UserReserveData storage pointer,struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5300, + "id": 5917, "isConstant": false, "isLValue": false, "isPure": false, @@ -12966,7 +13220,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19467:40:21", + "src": "20431:40:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12976,26 +13230,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5301, + "id": 5918, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19521:4:21", + "referencedDeclaration": 5886, + "src": "20485:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5302, + "id": 5919, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "19521:19:21", + "referencedDeclaration": 10598, + "src": "20485:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13005,70 +13259,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5303, + "id": 5920, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19554:4:21", + "referencedDeclaration": 5886, + "src": "20518:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5304, + "id": 5921, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "19554:20:21", + "referencedDeclaration": 10604, + "src": "20518:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5305, + "id": 5922, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "19422:162:21", + "src": "20386:162:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$", "typeString": "tuple(uint256,uint256,uint256,bool)" } }, - "functionReturnParameters": 5257, - "id": 5306, + "functionReturnParameters": 5874, + "id": 5923, "nodeType": "Return", - "src": "19415:169:21" + "src": "20379:169:28" } ] }, "documentation": "@dev returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral)\nneeded to calculate the global account data in the LendingPoolDataProvider\n@param _reserve the address of the reserve\n@param _user the address of the user\n@return the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not*", - "id": 5308, + "id": 5925, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserBasicReserveData", "nodeType": "FunctionDefinition", "parameters": { - "id": 5248, + "id": 5865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5245, + "id": 5862, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18919:16:21", + "scope": 5925, + "src": "19883:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13076,10 +13330,10 @@ "typeString": "address" }, "typeName": { - "id": 5244, + "id": 5861, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18919:7:21", + "src": "19883:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13091,11 +13345,11 @@ }, { "constant": false, - "id": 5247, + "id": 5864, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18937:13:21", + "scope": 5925, + "src": "19901:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13103,10 +13357,10 @@ "typeString": "address" }, "typeName": { - "id": 5246, + "id": 5863, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18937:7:21", + "src": "19901:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13117,19 +13371,19 @@ "visibility": "internal" } ], - "src": "18918:33:21" + "src": "19882:33:28" }, "returnParameters": { - "id": 5257, + "id": 5874, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5250, + "id": 5867, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18999:7:21", + "scope": 5925, + "src": "19963:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13137,10 +13391,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5249, + "id": 5866, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18999:7:21", + "src": "19963:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13151,11 +13405,11 @@ }, { "constant": false, - "id": 5252, + "id": 5869, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19008:7:21", + "scope": 5925, + "src": "19972:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13163,10 +13417,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5251, + "id": 5868, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19008:7:21", + "src": "19972:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13177,11 +13431,11 @@ }, { "constant": false, - "id": 5254, + "id": 5871, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19017:7:21", + "scope": 5925, + "src": "19981:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13189,10 +13443,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5253, + "id": 5870, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19017:7:21", + "src": "19981:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13203,11 +13457,11 @@ }, { "constant": false, - "id": 5256, + "id": 5873, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19026:4:21", + "scope": 5925, + "src": "19990:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13215,10 +13469,10 @@ "typeString": "bool" }, "typeName": { - "id": 5255, + "id": 5872, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "19026:4:21", + "src": "19990:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13228,47 +13482,47 @@ "visibility": "internal" } ], - "src": "18998:33:21" + "src": "19962:33:28" }, - "scope": 7812, - "src": "18886:705:21", + "scope": 8443, + "src": "19850:705:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5358, + "id": 5975, "nodeType": "Block", - "src": "20043:398:21", + "src": "21007:398:28", "statements": [ { "assignments": [ - 5322 + 5939 ], "declarations": [ { "constant": false, - "id": 5322, + "id": 5939, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "20053:39:21", + "scope": 5975, + "src": "21017:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5321, + "id": 5938, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "20053:23:21", + "referencedDeclaration": 10646, + "src": "21017:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -13276,31 +13530,31 @@ "visibility": "internal" } ], - "id": 5326, + "id": 5943, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5323, + "id": 5940, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "20095:8:21", + "referencedDeclaration": 5152, + "src": "21059:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5325, + "id": 5942, "indexExpression": { "argumentTypes": null, - "id": 5324, + "id": 5941, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20104:8:21", + "referencedDeclaration": 5927, + "src": "21068:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13311,42 +13565,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20095:18:21", + "src": "21059:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "20053:60:21" + "src": "21017:60:28" }, { "assignments": [ - 5330 + 5947 ], "declarations": [ { "constant": false, - "id": 5330, + "id": 5947, "name": "user", "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "20123:40:21", + "scope": 5975, + "src": "21087:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5329, + "id": 5946, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "20123:27:21", + "referencedDeclaration": 10605, + "src": "21087:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -13354,33 +13608,33 @@ "visibility": "internal" } ], - "id": 5336, + "id": 5953, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5331, + "id": 5948, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "20166:16:21", + "referencedDeclaration": 5158, + "src": "21130:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5333, + "id": 5950, "indexExpression": { "argumentTypes": null, - "id": 5332, + "id": 5949, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "20183:5:21", + "referencedDeclaration": 5929, + "src": "21147:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13391,21 +13645,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20166:23:21", + "src": "21130:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 5335, + "id": 5952, "indexExpression": { "argumentTypes": null, - "id": 5334, + "id": 5951, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20190:8:21", + "referencedDeclaration": 5927, + "src": "21154:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13416,19 +13670,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20166:33:21", + "src": "21130:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "20123:76:21" + "src": "21087:76:28" }, { "condition": { "argumentTypes": null, - "id": 5339, + "id": 5956, "isConstant": false, "isLValue": false, "isPure": false, @@ -13436,31 +13690,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20214:34:21", + "src": "21178:34:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5337, + "id": 5954, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "20215:7:21", + "referencedDeclaration": 5939, + "src": "21179:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5338, + "id": 5955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "20215:33:21", + "referencedDeclaration": 10641, + "src": "21179:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13472,21 +13726,21 @@ } }, "falseBody": null, - "id": 5342, + "id": 5959, "nodeType": "IfStatement", - "src": "20210:52:21", + "src": "21174:52:28", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 5340, + "id": 5957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20257:5:21", + "src": "21221:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13494,10 +13748,10 @@ }, "value": "false" }, - "functionReturnParameters": 5318, - "id": 5341, + "functionReturnParameters": 5935, + "id": 5958, "nodeType": "Return", - "src": "20250:12:21" + "src": "21214:12:28" } }, { @@ -13507,7 +13761,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5356, + "id": 5973, "isConstant": false, "isLValue": false, "isPure": false, @@ -13518,14 +13772,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5349, + "id": 5966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5345, + "id": 5962, "isConstant": false, "isLValue": false, "isPure": false, @@ -13533,31 +13787,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20292:21:21", + "src": "21256:21:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5343, + "id": 5960, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "20293:4:21", + "referencedDeclaration": 5947, + "src": "21257:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5344, + "id": 5961, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "20293:20:21", + "referencedDeclaration": 10604, + "src": "21257:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13572,7 +13826,7 @@ "operator": "||", "rightExpression": { "argumentTypes": null, - "id": 5348, + "id": 5965, "isConstant": false, "isLValue": false, "isPure": false, @@ -13580,31 +13834,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20329:33:21", + "src": "21293:33:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5346, + "id": 5963, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "20330:7:21", + "referencedDeclaration": 5939, + "src": "21294:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5347, + "id": 5964, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "20330:32:21", + "referencedDeclaration": 10639, + "src": "21294:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13615,7 +13869,7 @@ "typeString": "bool" } }, - "src": "20292:70:21", + "src": "21256:70:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13629,19 +13883,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5355, + "id": 5972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5350, + "id": 5967, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, - "src": "20378:7:21", + "referencedDeclaration": 5931, + "src": "21342:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13654,12 +13908,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5352, + "id": 5969, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20418:8:21", + "referencedDeclaration": 5927, + "src": "21382:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13667,12 +13921,12 @@ }, { "argumentTypes": null, - "id": 5353, + "id": 5970, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "20428:5:21", + "referencedDeclaration": 5929, + "src": "21392:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13690,18 +13944,18 @@ "typeString": "address" } ], - "id": 5351, + "id": 5968, "name": "getUserUnderlyingAssetBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "20388:29:21", + "referencedDeclaration": 6000, + "src": "21352:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 5354, + "id": 5971, "isConstant": false, "isLValue": false, "isPure": false, @@ -13709,49 +13963,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20388:46:21", + "src": "21352:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "20378:56:21", + "src": "21342:56:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "20292:142:21", + "src": "21256:142:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5318, - "id": 5357, + "functionReturnParameters": 5935, + "id": 5974, "nodeType": "Return", - "src": "20273:161:21" + "src": "21237:161:28" } ] }, "documentation": "@dev checks if a user is allowed to borrow at a stable rate\n@param _reserve the reserve address\n@param _user the user\n@param _amount the amount the the user wants to borrow\n@return true if the user is allowed to borrow at a stable rate, false otherwise*", - "id": 5359, + "id": 5976, "implemented": true, "kind": "function", "modifiers": [], "name": "isUserAllowedToBorrowAtStable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5315, + "id": 5932, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5310, + "id": 5927, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19936:16:21", + "scope": 5976, + "src": "20900:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13759,10 +14013,10 @@ "typeString": "address" }, "typeName": { - "id": 5309, + "id": 5926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19936:7:21", + "src": "20900:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13774,11 +14028,11 @@ }, { "constant": false, - "id": 5312, + "id": 5929, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19954:13:21", + "scope": 5976, + "src": "20918:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13786,10 +14040,10 @@ "typeString": "address" }, "typeName": { - "id": 5311, + "id": 5928, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19954:7:21", + "src": "20918:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13801,11 +14055,11 @@ }, { "constant": false, - "id": 5314, + "id": 5931, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19969:15:21", + "scope": 5976, + "src": "20933:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13813,10 +14067,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5313, + "id": 5930, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19969:7:21", + "src": "20933:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13826,19 +14080,19 @@ "visibility": "internal" } ], - "src": "19935:50:21" + "src": "20899:50:28" }, "returnParameters": { - "id": 5318, + "id": 5935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5317, + "id": 5934, "name": "", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "20033:4:21", + "scope": 5976, + "src": "20997:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13846,10 +14100,10 @@ "typeString": "bool" }, "typeName": { - "id": 5316, + "id": 5933, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "20033:4:21", + "src": "20997:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13859,47 +14113,47 @@ "visibility": "internal" } ], - "src": "20032:6:21" + "src": "20996:6:28" }, - "scope": 7812, - "src": "19897:544:21", + "scope": 8443, + "src": "20861:544:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5382, + "id": 5999, "nodeType": "Block", - "src": "20827:114:21", + "src": "21791:114:28", "statements": [ { "assignments": [ - 5369 + 5986 ], "declarations": [ { "constant": false, - "id": 5369, + "id": 5986, "name": "aToken", "nodeType": "VariableDeclaration", - "scope": 5382, - "src": "20837:13:21", + "scope": 5999, + "src": "21801:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" }, "typeName": { "contractScope": null, - "id": 5368, + "id": 5985, "name": "AToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 13463, - "src": "20837:6:21", + "referencedDeclaration": 15043, + "src": "21801:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, @@ -13907,7 +14161,7 @@ "visibility": "internal" } ], - "id": 5376, + "id": 5993, "initialValue": { "argumentTypes": null, "arguments": [ @@ -13917,26 +14171,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5371, + "id": 5988, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "20860:8:21", + "referencedDeclaration": 5152, + "src": "21824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5373, + "id": 5990, "indexExpression": { "argumentTypes": null, - "id": 5372, + "id": 5989, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5361, - "src": "20869:8:21", + "referencedDeclaration": 5978, + "src": "21833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13947,21 +14201,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:18:21", + "src": "21824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5374, + "id": 5991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "20860:32:21", + "referencedDeclaration": 10631, + "src": "21824:32:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13975,18 +14229,18 @@ "typeString": "address" } ], - "id": 5370, + "id": 5987, "name": "AToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 13463, - "src": "20853:6:21", + "referencedDeclaration": 15043, + "src": "21817:6:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AToken_$13463_$", + "typeIdentifier": "t_type$_t_contract$_AToken_$15043_$", "typeString": "type(contract AToken)" } }, - "id": 5375, + "id": 5992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13994,14 +14248,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20853:40:21", + "src": "21817:40:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, "nodeType": "VariableDeclarationStatement", - "src": "20837:56:21" + "src": "21801:56:28" }, { "expression": { @@ -14009,12 +14263,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5379, + "id": 5996, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "20927:5:21", + "referencedDeclaration": 5980, + "src": "21891:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14030,32 +14284,32 @@ ], "expression": { "argumentTypes": null, - "id": 5377, + "id": 5994, "name": "aToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "20910:6:21", + "referencedDeclaration": 5986, + "src": "21874:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, - "id": 5378, + "id": 5995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 12975, - "src": "20910:16:21", + "referencedDeclaration": 14555, + "src": "21874:16:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5380, + "id": 5997, "isConstant": false, "isLValue": false, "isPure": false, @@ -14063,37 +14317,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20910:23:21", + "src": "21874:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5367, - "id": 5381, + "functionReturnParameters": 5984, + "id": 5998, "nodeType": "Return", - "src": "20903:30:21" + "src": "21867:30:28" } ] }, "documentation": "@dev gets the underlying asset balance of a user based on the corresponding aToken balance.\n@param _reserve the reserve address\n@param _user the user address\n@return the underlying deposit balance of the user*", - "id": 5383, + "id": 6000, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserUnderlyingAssetBalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 5364, + "id": 5981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5361, + "id": 5978, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20736:16:21", + "scope": 6000, + "src": "21700:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14101,10 +14355,10 @@ "typeString": "address" }, "typeName": { - "id": 5360, + "id": 5977, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20736:7:21", + "src": "21700:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14116,11 +14370,11 @@ }, { "constant": false, - "id": 5363, + "id": 5980, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20754:13:21", + "scope": 6000, + "src": "21718:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14128,10 +14382,10 @@ "typeString": "address" }, "typeName": { - "id": 5362, + "id": 5979, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20754:7:21", + "src": "21718:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14142,19 +14396,19 @@ "visibility": "internal" } ], - "src": "20735:33:21" + "src": "21699:33:28" }, "returnParameters": { - "id": 5367, + "id": 5984, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5366, + "id": 5983, "name": "", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20814:7:21", + "scope": 6000, + "src": "21778:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14162,10 +14416,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5365, + "id": 5982, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20814:7:21", + "src": "21778:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14175,47 +14429,47 @@ "visibility": "internal" } ], - "src": "20813:9:21" + "src": "21777:9:28" }, - "scope": 7812, - "src": "20697:244:21", + "scope": 8443, + "src": "21661:244:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5401, + "id": 6018, "nodeType": "Block", - "src": "21241:129:21", + "src": "22205:129:28", "statements": [ { "assignments": [ - 5393 + 6010 ], "declarations": [ { "constant": false, - "id": 5393, + "id": 6010, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5401, - "src": "21251:39:21", + "scope": 6018, + "src": "22215:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5392, + "id": 6009, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "21251:23:21", + "referencedDeclaration": 10646, + "src": "22215:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -14223,31 +14477,31 @@ "visibility": "internal" } ], - "id": 5397, + "id": 6014, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5394, + "id": 6011, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "21293:8:21", + "referencedDeclaration": 5152, + "src": "22257:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5396, + "id": 6013, "indexExpression": { "argumentTypes": null, - "id": 5395, + "id": 6012, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "21302:8:21", + "referencedDeclaration": 6002, + "src": "22266:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14258,70 +14512,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21293:18:21", + "src": "22257:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "21251:60:21" + "src": "22215:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5398, + "id": 6015, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "21328:7:21", + "referencedDeclaration": 6010, + "src": "22292:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5399, + "id": 6016, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "21328:35:21", + "referencedDeclaration": 10633, + "src": "22292:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 5389, - "id": 5400, + "functionReturnParameters": 6006, + "id": 6017, "nodeType": "Return", - "src": "21321:42:21" + "src": "22285:42:28" } ] }, "documentation": "@dev gets the interest rate strategy contract address for the reserve\n@param _reserve the reserve address\n@return the address of the interest rate strategy contract*", - "id": 5402, + "id": 6019, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveInterestRateStrategyAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5386, + "id": 6003, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5385, + "id": 6002, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5402, - "src": "21193:16:21", + "scope": 6019, + "src": "22157:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14329,10 +14583,10 @@ "typeString": "address" }, "typeName": { - "id": 5384, + "id": 6001, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21193:7:21", + "src": "22157:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14343,19 +14597,19 @@ "visibility": "internal" } ], - "src": "21192:18:21" + "src": "22156:18:28" }, "returnParameters": { - "id": 5389, + "id": 6006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5388, + "id": 6005, "name": "", "nodeType": "VariableDeclaration", - "scope": 5402, - "src": "21232:7:21", + "scope": 6019, + "src": "22196:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14363,10 +14617,10 @@ "typeString": "address" }, "typeName": { - "id": 5387, + "id": 6004, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21232:7:21", + "src": "22196:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14377,47 +14631,47 @@ "visibility": "internal" } ], - "src": "21231:9:21" + "src": "22195:9:28" }, - "scope": 7812, - "src": "21146:224:21", + "scope": 8443, + "src": "22110:224:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5420, + "id": 6037, "nodeType": "Block", - "src": "21625:115:21", + "src": "22589:115:28", "statements": [ { "assignments": [ - 5412 + 6029 ], "declarations": [ { "constant": false, - "id": 5412, + "id": 6029, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5420, - "src": "21635:39:21", + "scope": 6037, + "src": "22599:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5411, + "id": 6028, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "21635:23:21", + "referencedDeclaration": 10646, + "src": "22599:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -14425,31 +14679,31 @@ "visibility": "internal" } ], - "id": 5416, + "id": 6033, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5413, + "id": 6030, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "21677:8:21", + "referencedDeclaration": 5152, + "src": "22641:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5415, + "id": 6032, "indexExpression": { "argumentTypes": null, - "id": 5414, + "id": 6031, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "21686:8:21", + "referencedDeclaration": 6021, + "src": "22650:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14460,70 +14714,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21677:18:21", + "src": "22641:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "21635:60:21" + "src": "22599:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5417, + "id": 6034, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5412, - "src": "21712:7:21", + "referencedDeclaration": 6029, + "src": "22676:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5418, + "id": 6035, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "21712:21:21", + "referencedDeclaration": 10631, + "src": "22676:21:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 5408, - "id": 5419, + "functionReturnParameters": 6025, + "id": 6036, "nodeType": "Return", - "src": "21705:28:21" + "src": "22669:28:28" } ] }, "documentation": "@dev gets the aToken contract address for the reserve\n@param _reserve the reserve address\n@return the address of the aToken contract*", - "id": 5421, + "id": 6038, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveATokenAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5405, + "id": 6022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5404, + "id": 6021, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "21577:16:21", + "scope": 6038, + "src": "22541:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14531,10 +14785,10 @@ "typeString": "address" }, "typeName": { - "id": 5403, + "id": 6020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21577:7:21", + "src": "22541:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14545,19 +14799,19 @@ "visibility": "internal" } ], - "src": "21576:18:21" + "src": "22540:18:28" }, "returnParameters": { - "id": 5408, + "id": 6025, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5407, + "id": 6024, "name": "", "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "21616:7:21", + "scope": 6038, + "src": "22580:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14565,10 +14819,10 @@ "typeString": "address" }, "typeName": { - "id": 5406, + "id": 6023, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21616:7:21", + "src": "22580:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14579,32 +14833,32 @@ "visibility": "internal" } ], - "src": "21615:9:21" + "src": "22579:9:28" }, - "scope": 7812, - "src": "21544:196:21", + "scope": 8443, + "src": "22508:196:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5460, + "id": 6077, "nodeType": "Block", - "src": "22044:252:21", + "src": "23008:252:28", "statements": [ { "assignments": [ - 5429 + 6046 ], "declarations": [ { "constant": false, - "id": 5429, + "id": 6046, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 5460, - "src": "22054:15:21", + "scope": 6077, + "src": "23018:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14612,10 +14866,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5428, + "id": 6045, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22054:7:21", + "src": "23018:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14625,18 +14879,18 @@ "visibility": "internal" } ], - "id": 5431, + "id": 6048, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 5430, + "id": 6047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22072:1:21", + "src": "23036:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14645,7 +14899,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "22054:19:21" + "src": "23018:19:28" }, { "condition": { @@ -14654,19 +14908,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5436, + "id": 6053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5432, + "id": 6049, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "22088:8:21", + "referencedDeclaration": 6040, + "src": "23052:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14681,32 +14935,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5433, + "id": 6050, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "22100:13:21", + "referencedDeclaration": 11343, + "src": "23064:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5434, + "id": 6051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "22100:24:21", + "referencedDeclaration": 11342, + "src": "23064:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5435, + "id": 6052, "isConstant": false, "isLValue": false, "isPure": false, @@ -14714,39 +14968,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22100:26:21", + "src": "23064:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "22088:38:21", + "src": "23052:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5456, + "id": 6073, "nodeType": "Block", - "src": "22190:76:21", + "src": "23154:76:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5454, + "id": 6071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5445, + "id": 6062, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22204:7:21", + "referencedDeclaration": 6046, + "src": "23168:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14762,14 +15016,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5451, + "id": 6068, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "22249:4:21", + "referencedDeclaration": 16243, + "src": "23213:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -14777,24 +15031,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5450, + "id": 6067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22241:7:21", + "src": "23205:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5452, + "id": 6069, "isConstant": false, "isLValue": false, "isPure": false, @@ -14802,7 +15056,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22241:13:21", + "src": "23205:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -14821,12 +15075,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5447, + "id": 6064, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "22221:8:21", + "referencedDeclaration": 6040, + "src": "23185:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14840,18 +15094,18 @@ "typeString": "address" } ], - "id": 5446, + "id": 6063, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14262, - "src": "22214:6:21", + "referencedDeclaration": 15842, + "src": "23178:6:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$15842_$", "typeString": "type(contract IERC20)" } }, - "id": 5448, + "id": 6065, "isConstant": false, "isLValue": false, "isPure": false, @@ -14859,27 +15113,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22214:16:21", + "src": "23178:16:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$14262", + "typeIdentifier": "t_contract$_IERC20_$15842", "typeString": "contract IERC20" } }, - "id": 5449, + "id": 6066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 14207, - "src": "22214:26:21", + "referencedDeclaration": 15787, + "src": "23178:26:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5453, + "id": 6070, "isConstant": false, "isLValue": false, "isPure": false, @@ -14887,48 +15141,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22214:41:21", + "src": "23178:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22204:51:21", + "src": "23168:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5455, + "id": 6072, "nodeType": "ExpressionStatement", - "src": "22204:51:21" + "src": "23168:51:28" } ] }, - "id": 5457, + "id": 6074, "nodeType": "IfStatement", - "src": "22084:182:21", + "src": "23048:182:28", "trueBody": { - "id": 5444, + "id": 6061, "nodeType": "Block", - "src": "22128:56:21", + "src": "23092:56:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5442, + "id": 6059, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5437, + "id": 6054, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22142:7:21", + "referencedDeclaration": 6046, + "src": "23106:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14943,14 +15197,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5439, + "id": 6056, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "22160:4:21", + "referencedDeclaration": 16243, + "src": "23124:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -14958,24 +15212,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5438, + "id": 6055, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22152:7:21", + "src": "23116:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5440, + "id": 6057, "isConstant": false, "isLValue": false, "isPure": false, @@ -14983,13 +15237,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22152:13:21", + "src": "23116:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5441, + "id": 6058, "isConstant": false, "isLValue": false, "isPure": false, @@ -14997,21 +15251,21 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22152:21:21", + "src": "23116:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22142:31:21", + "src": "23106:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5443, + "id": 6060, "nodeType": "ExpressionStatement", - "src": "22142:31:21" + "src": "23106:31:28" } ] } @@ -15019,42 +15273,42 @@ { "expression": { "argumentTypes": null, - "id": 5458, + "id": 6075, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22282:7:21", + "referencedDeclaration": 6046, + "src": "23246:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5427, - "id": 5459, + "functionReturnParameters": 6044, + "id": 6076, "nodeType": "Return", - "src": "22275:14:21" + "src": "23239:14:28" } ] }, "documentation": "@dev gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\n@param _reserve the reserve address\n@return the available liquidity*", - "id": 5461, + "id": 6078, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveAvailableLiquidity", "nodeType": "FunctionDefinition", "parameters": { - "id": 5424, + "id": 6041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5423, + "id": 6040, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5461, - "src": "21996:16:21", + "scope": 6078, + "src": "22960:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15062,10 +15316,10 @@ "typeString": "address" }, "typeName": { - "id": 5422, + "id": 6039, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21996:7:21", + "src": "22960:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15076,19 +15330,19 @@ "visibility": "internal" } ], - "src": "21995:18:21" + "src": "22959:18:28" }, "returnParameters": { - "id": 5427, + "id": 6044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5426, + "id": 6043, "name": "", "nodeType": "VariableDeclaration", - "scope": 5461, - "src": "22035:7:21", + "scope": 6078, + "src": "22999:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15096,10 +15350,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5425, + "id": 6042, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22035:7:21", + "src": "22999:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15109,47 +15363,47 @@ "visibility": "internal" } ], - "src": "22034:9:21" + "src": "22998:9:28" }, - "scope": 7812, - "src": "21958:338:21", + "scope": 8443, + "src": "22922:338:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5485, + "id": 6102, "nodeType": "Block", - "src": "22600:163:21", + "src": "23564:163:28", "statements": [ { "assignments": [ - 5471 + 6088 ], "declarations": [ { "constant": false, - "id": 5471, + "id": 6088, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5485, - "src": "22610:39:21", + "scope": 6102, + "src": "23574:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5470, + "id": 6087, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "22610:23:21", + "referencedDeclaration": 10646, + "src": "23574:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -15157,31 +15411,31 @@ "visibility": "internal" } ], - "id": 5475, + "id": 6092, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5472, + "id": 6089, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "22652:8:21", + "referencedDeclaration": 5152, + "src": "23616:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5474, + "id": 6091, "indexExpression": { "argumentTypes": null, - "id": 5473, + "id": 6090, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5463, - "src": "22661:8:21", + "referencedDeclaration": 6080, + "src": "23625:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15192,14 +15446,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "22652:18:21", + "src": "23616:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "22610:60:21" + "src": "23574:60:28" }, { "expression": { @@ -15212,32 +15466,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5480, + "id": 6097, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5471, - "src": "22730:7:21", + "referencedDeclaration": 6088, + "src": "23694:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5481, + "id": 6098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "22730:23:21", + "referencedDeclaration": 11331, + "src": "23694:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5482, + "id": 6099, "isConstant": false, "isLValue": false, "isPure": false, @@ -15245,7 +15499,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22730:25:21", + "src": "23694:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15264,12 +15518,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5477, + "id": 6094, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5463, - "src": "22716:8:21", + "referencedDeclaration": 6080, + "src": "23680:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15283,18 +15537,18 @@ "typeString": "address" } ], - "id": 5476, + "id": 6093, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "22687:28:21", + "referencedDeclaration": 6078, + "src": "23651:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 5478, + "id": 6095, "isConstant": false, "isLValue": false, "isPure": false, @@ -15302,27 +15556,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22687:38:21", + "src": "23651:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5479, + "id": 6096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "22687:42:21", + "referencedDeclaration": 15070, + "src": "23651:42:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5483, + "id": 6100, "isConstant": false, "isLValue": false, "isPure": false, @@ -15330,37 +15584,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22687:69:21", + "src": "23651:69:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5467, - "id": 5484, + "functionReturnParameters": 6084, + "id": 6101, "nodeType": "Return", - "src": "22680:76:21" + "src": "23644:76:28" } ] }, "documentation": "@dev gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\n@param _reserve the reserve address\n@return the total liquidity*", - "id": 5486, + "id": 6103, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalLiquidity", "nodeType": "FunctionDefinition", "parameters": { - "id": 5464, + "id": 6081, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5463, + "id": 6080, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5486, - "src": "22552:16:21", + "scope": 6103, + "src": "23516:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15368,10 +15622,10 @@ "typeString": "address" }, "typeName": { - "id": 5462, + "id": 6079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "22552:7:21", + "src": "23516:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15382,19 +15636,19 @@ "visibility": "internal" } ], - "src": "22551:18:21" + "src": "23515:18:28" }, "returnParameters": { - "id": 5467, + "id": 6084, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5466, + "id": 6083, "name": "", "nodeType": "VariableDeclaration", - "scope": 5486, - "src": "22591:7:21", + "scope": 6103, + "src": "23555:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15402,10 +15656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5465, + "id": 6082, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22591:7:21", + "src": "23555:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15415,47 +15669,47 @@ "visibility": "internal" } ], - "src": "22590:9:21" + "src": "23554:9:28" }, - "scope": 7812, - "src": "22518:245:21", + "scope": 8443, + "src": "23482:245:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5505, + "id": 6122, "nodeType": "Block", - "src": "23115:123:21", + "src": "24079:123:28", "statements": [ { "assignments": [ - 5496 + 6113 ], "declarations": [ { "constant": false, - "id": 5496, + "id": 6113, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5505, - "src": "23125:39:21", + "scope": 6122, + "src": "24089:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5495, + "id": 6112, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "23125:23:21", + "referencedDeclaration": 10646, + "src": "24089:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -15463,31 +15717,31 @@ "visibility": "internal" } ], - "id": 5500, + "id": 6117, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5497, + "id": 6114, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23167:8:21", + "referencedDeclaration": 5152, + "src": "24131:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5499, + "id": 6116, "indexExpression": { "argumentTypes": null, - "id": 5498, + "id": 6115, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5488, - "src": "23176:8:21", + "referencedDeclaration": 6105, + "src": "24140:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15498,14 +15752,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23167:18:21", + "src": "24131:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23125:60:21" + "src": "24089:60:28" }, { "expression": { @@ -15515,32 +15769,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5501, + "id": 6118, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "23202:7:21", + "referencedDeclaration": 6113, + "src": "24166:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5502, + "id": 6119, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getNormalizedIncome", "nodeType": "MemberAccess", - "referencedDeclaration": 9592, - "src": "23202:27:21", + "referencedDeclaration": 10669, + "src": "24166:27:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5503, + "id": 6120, "isConstant": false, "isLValue": false, "isPure": false, @@ -15548,37 +15802,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23202:29:21", + "src": "24166:29:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5492, - "id": 5504, + "functionReturnParameters": 6109, + "id": 6121, "nodeType": "Return", - "src": "23195:36:21" + "src": "24159:36:28" } ] }, "documentation": "@dev gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there\nthere has been 100% income.\n@param _reserve the reserve address\n@return the reserve normalized income*", - "id": 5506, + "id": 6123, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveNormalizedIncome", "nodeType": "FunctionDefinition", "parameters": { - "id": 5489, + "id": 6106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5488, + "id": 6105, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5506, - "src": "23065:16:21", + "scope": 6123, + "src": "24029:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15586,10 +15840,10 @@ "typeString": "address" }, "typeName": { - "id": 5487, + "id": 6104, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23065:7:21", + "src": "24029:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15600,19 +15854,19 @@ "visibility": "internal" } ], - "src": "23064:18:21" + "src": "24028:18:28" }, "returnParameters": { - "id": 5492, + "id": 6109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5491, + "id": 6108, "name": "", "nodeType": "VariableDeclaration", - "scope": 5506, - "src": "23106:7:21", + "scope": 6123, + "src": "24070:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15620,10 +15874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5490, + "id": 6107, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23106:7:21", + "src": "24070:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15633,19 +15887,19 @@ "visibility": "internal" } ], - "src": "23105:9:21" + "src": "24069:9:28" }, - "scope": 7812, - "src": "23029:209:21", + "scope": 8443, + "src": "23993:209:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5519, + "id": 6136, "nodeType": "Block", - "src": "23476:60:21", + "src": "24440:60:28", "statements": [ { "expression": { @@ -15657,26 +15911,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5513, + "id": 6130, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23493:8:21", + "referencedDeclaration": 5152, + "src": "24457:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5515, + "id": 6132, "indexExpression": { "argumentTypes": null, - "id": 5514, + "id": 6131, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5508, - "src": "23502:8:21", + "referencedDeclaration": 6125, + "src": "24466:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15687,27 +15941,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23493:18:21", + "src": "24457:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5516, + "id": 6133, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "23493:34:21", + "referencedDeclaration": 11331, + "src": "24457:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5517, + "id": 6134, "isConstant": false, "isLValue": false, "isPure": false, @@ -15715,37 +15969,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23493:36:21", + "src": "24457:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5512, - "id": 5518, + "functionReturnParameters": 6129, + "id": 6135, "nodeType": "Return", - "src": "23486:43:21" + "src": "24450:43:28" } ] }, "documentation": "@dev gets the reserve total borrows\n@param _reserve the reserve address\n@return the total borrows (stable + variable)*", - "id": 5520, + "id": 6137, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrows", "nodeType": "FunctionDefinition", "parameters": { - "id": 5509, + "id": 6126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5508, + "id": 6125, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "23428:16:21", + "scope": 6137, + "src": "24392:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15753,10 +16007,10 @@ "typeString": "address" }, "typeName": { - "id": 5507, + "id": 6124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23428:7:21", + "src": "24392:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15767,19 +16021,19 @@ "visibility": "internal" } ], - "src": "23427:18:21" + "src": "24391:18:28" }, "returnParameters": { - "id": 5512, + "id": 6129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5511, + "id": 6128, "name": "", "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "23467:7:21", + "scope": 6137, + "src": "24431:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15787,10 +16041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5510, + "id": 6127, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23467:7:21", + "src": "24431:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15800,47 +16054,47 @@ "visibility": "internal" } ], - "src": "23466:9:21" + "src": "24430:9:28" }, - "scope": 7812, - "src": "23396:140:21", + "scope": 8443, + "src": "24360:140:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5538, + "id": 6155, "nodeType": "Block", - "src": "23776:120:21", + "src": "24740:120:28", "statements": [ { "assignments": [ - 5530 + 6147 ], "declarations": [ { "constant": false, - "id": 5530, + "id": 6147, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "23786:39:21", + "scope": 6155, + "src": "24750:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5529, + "id": 6146, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "23786:23:21", + "referencedDeclaration": 10646, + "src": "24750:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -15848,31 +16102,31 @@ "visibility": "internal" } ], - "id": 5534, + "id": 6151, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5531, + "id": 6148, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23828:8:21", + "referencedDeclaration": 5152, + "src": "24792:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5533, + "id": 6150, "indexExpression": { "argumentTypes": null, - "id": 5532, + "id": 6149, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5522, - "src": "23837:8:21", + "referencedDeclaration": 6139, + "src": "24801:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15883,70 +16137,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23828:18:21", + "src": "24792:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23786:60:21" + "src": "24750:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5535, + "id": 6152, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5530, - "src": "23863:7:21", + "referencedDeclaration": 6147, + "src": "24827:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5536, + "id": 6153, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsStable", "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "23863:26:21", + "referencedDeclaration": 10611, + "src": "24827:26:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5526, - "id": 5537, + "functionReturnParameters": 6143, + "id": 6154, "nodeType": "Return", - "src": "23856:33:21" + "src": "24820:33:28" } ] }, "documentation": "@dev gets the reserve total borrows stable\n@param _reserve the reserve address\n@return the total borrows stable*", - "id": 5539, + "id": 6156, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrowsStable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5523, + "id": 6140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5522, + "id": 6139, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5539, - "src": "23726:16:21", + "scope": 6156, + "src": "24690:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15954,10 +16208,10 @@ "typeString": "address" }, "typeName": { - "id": 5521, + "id": 6138, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23726:7:21", + "src": "24690:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15968,19 +16222,19 @@ "visibility": "internal" } ], - "src": "23725:18:21" + "src": "24689:18:28" }, "returnParameters": { - "id": 5526, + "id": 6143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5525, + "id": 6142, "name": "", "nodeType": "VariableDeclaration", - "scope": 5539, - "src": "23767:7:21", + "scope": 6156, + "src": "24731:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15988,10 +16242,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5524, + "id": 6141, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23767:7:21", + "src": "24731:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16001,47 +16255,47 @@ "visibility": "internal" } ], - "src": "23766:9:21" + "src": "24730:9:28" }, - "scope": 7812, - "src": "23688:208:21", + "scope": 8443, + "src": "24652:208:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5557, + "id": 6174, "nodeType": "Block", - "src": "24143:122:21", + "src": "25107:122:28", "statements": [ { "assignments": [ - 5549 + 6166 ], "declarations": [ { "constant": false, - "id": 5549, + "id": 6166, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "24153:39:21", + "scope": 6174, + "src": "25117:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5548, + "id": 6165, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24153:23:21", + "referencedDeclaration": 10646, + "src": "25117:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -16049,31 +16303,31 @@ "visibility": "internal" } ], - "id": 5553, + "id": 6170, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5550, + "id": 6167, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24195:8:21", + "referencedDeclaration": 5152, + "src": "25159:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5552, + "id": 6169, "indexExpression": { "argumentTypes": null, - "id": 5551, + "id": 6168, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, - "src": "24204:8:21", + "referencedDeclaration": 6158, + "src": "25168:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16084,70 +16338,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24195:18:21", + "src": "25159:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24153:60:21" + "src": "25117:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5554, + "id": 6171, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "24230:7:21", + "referencedDeclaration": 6166, + "src": "25194:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5555, + "id": 6172, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 9536, - "src": "24230:28:21", + "referencedDeclaration": 10613, + "src": "25194:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5545, - "id": 5556, + "functionReturnParameters": 6162, + "id": 6173, "nodeType": "Return", - "src": "24223:35:21" + "src": "25187:35:28" } ] }, "documentation": "@dev gets the reserve total borrows variable\n@param _reserve the reserve address\n@return the total borrows variable*", - "id": 5558, + "id": 6175, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrowsVariable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5542, + "id": 6159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5541, + "id": 6158, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5558, - "src": "24093:16:21", + "scope": 6175, + "src": "25057:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16155,10 +16409,10 @@ "typeString": "address" }, "typeName": { - "id": 5540, + "id": 6157, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24093:7:21", + "src": "25057:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16169,19 +16423,19 @@ "visibility": "internal" } ], - "src": "24092:18:21" + "src": "25056:18:28" }, "returnParameters": { - "id": 5545, + "id": 6162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5544, + "id": 6161, "name": "", "nodeType": "VariableDeclaration", - "scope": 5558, - "src": "24134:7:21", + "scope": 6175, + "src": "25098:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16189,10 +16443,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5543, + "id": 6160, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24134:7:21", + "src": "25098:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16202,47 +16456,47 @@ "visibility": "internal" } ], - "src": "24133:9:21" + "src": "25097:9:28" }, - "scope": 7812, - "src": "24053:212:21", + "scope": 8443, + "src": "25017:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5576, + "id": 6193, "nodeType": "Block", - "src": "24518:122:21", + "src": "25482:122:28", "statements": [ { "assignments": [ - 5568 + 6185 ], "declarations": [ { "constant": false, - "id": 5568, + "id": 6185, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "24528:39:21", + "scope": 6193, + "src": "25492:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5567, + "id": 6184, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24528:23:21", + "referencedDeclaration": 10646, + "src": "25492:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -16250,31 +16504,31 @@ "visibility": "internal" } ], - "id": 5572, + "id": 6189, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5569, + "id": 6186, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24570:8:21", + "referencedDeclaration": 5152, + "src": "25534:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5571, + "id": 6188, "indexExpression": { "argumentTypes": null, - "id": 5570, + "id": 6187, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5560, - "src": "24579:8:21", + "referencedDeclaration": 6177, + "src": "25543:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16285,70 +16539,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24570:18:21", + "src": "25534:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24528:60:21" + "src": "25492:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5573, + "id": 6190, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5568, - "src": "24605:7:21", + "referencedDeclaration": 6185, + "src": "25569:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5574, + "id": 6191, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "24605:28:21", + "referencedDeclaration": 10625, + "src": "25569:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5564, - "id": 5575, + "functionReturnParameters": 6181, + "id": 6192, "nodeType": "Return", - "src": "24598:35:21" + "src": "25562:35:28" } ] }, "documentation": "@dev gets the reserve liquidation threshold\n@param _reserve the reserve address\n@return the reserve liquidation threshold*", - "id": 5577, + "id": 6194, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidationThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 5561, + "id": 6178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5560, + "id": 6177, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "24468:16:21", + "scope": 6194, + "src": "25432:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16356,10 +16610,10 @@ "typeString": "address" }, "typeName": { - "id": 5559, + "id": 6176, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24468:7:21", + "src": "25432:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16370,19 +16624,19 @@ "visibility": "internal" } ], - "src": "24467:18:21" + "src": "25431:18:28" }, "returnParameters": { - "id": 5564, + "id": 6181, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5563, + "id": 6180, "name": "", "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "24509:7:21", + "scope": 6194, + "src": "25473:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16390,10 +16644,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5562, + "id": 6179, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24509:7:21", + "src": "25473:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16403,47 +16657,47 @@ "visibility": "internal" } ], - "src": "24508:9:21" + "src": "25472:9:28" }, - "scope": 7812, - "src": "24428:212:21", + "scope": 8443, + "src": "25392:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5595, + "id": 6212, "nodeType": "Block", - "src": "24881:118:21", + "src": "25845:118:28", "statements": [ { "assignments": [ - 5587 + 6204 ], "declarations": [ { "constant": false, - "id": 5587, + "id": 6204, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5595, - "src": "24891:39:21", + "scope": 6212, + "src": "25855:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5586, + "id": 6203, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24891:23:21", + "referencedDeclaration": 10646, + "src": "25855:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -16451,31 +16705,31 @@ "visibility": "internal" } ], - "id": 5591, + "id": 6208, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5588, + "id": 6205, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24933:8:21", + "referencedDeclaration": 5152, + "src": "25897:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5590, + "id": 6207, "indexExpression": { "argumentTypes": null, - "id": 5589, + "id": 6206, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5579, - "src": "24942:8:21", + "referencedDeclaration": 6196, + "src": "25906:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16486,70 +16740,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24933:18:21", + "src": "25897:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24891:60:21" + "src": "25855:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5592, + "id": 6209, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "24968:7:21", + "referencedDeclaration": 6204, + "src": "25932:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5593, + "id": 6210, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "24968:24:21", + "referencedDeclaration": 10627, + "src": "25932:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5583, - "id": 5594, + "functionReturnParameters": 6200, + "id": 6211, "nodeType": "Return", - "src": "24961:31:21" + "src": "25925:31:28" } ] }, "documentation": "@dev gets the reserve liquidation bonus\n@param _reserve the reserve address\n@return the reserve liquidation bonus*", - "id": 5596, + "id": 6213, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidationBonus", "nodeType": "FunctionDefinition", "parameters": { - "id": 5580, + "id": 6197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5579, + "id": 6196, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5596, - "src": "24831:16:21", + "scope": 6213, + "src": "25795:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16557,10 +16811,10 @@ "typeString": "address" }, "typeName": { - "id": 5578, + "id": 6195, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24831:7:21", + "src": "25795:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16571,19 +16825,19 @@ "visibility": "internal" } ], - "src": "24830:18:21" + "src": "25794:18:28" }, "returnParameters": { - "id": 5583, + "id": 6200, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5582, + "id": 6199, "name": "", "nodeType": "VariableDeclaration", - "scope": 5596, - "src": "24872:7:21", + "scope": 6213, + "src": "25836:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16591,10 +16845,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5581, + "id": 6198, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24872:7:21", + "src": "25836:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16604,47 +16858,47 @@ "visibility": "internal" } ], - "src": "24871:9:21" + "src": "25835:9:28" }, - "scope": 7812, - "src": "24795:204:21", + "scope": 8443, + "src": "25759:204:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5627, + "id": 6244, "nodeType": "Block", - "src": "25329:339:21", + "src": "26293:339:28", "statements": [ { "assignments": [ - 5606 + 6223 ], "declarations": [ { "constant": false, - "id": 5606, + "id": 6223, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5627, - "src": "25339:39:21", + "scope": 6244, + "src": "26303:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5605, + "id": 6222, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "25339:23:21", + "referencedDeclaration": 10646, + "src": "26303:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -16652,31 +16906,31 @@ "visibility": "internal" } ], - "id": 5610, + "id": 6227, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5607, + "id": 6224, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "25381:8:21", + "referencedDeclaration": 5152, + "src": "26345:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5609, + "id": 6226, "indexExpression": { "argumentTypes": null, - "id": 5608, + "id": 6225, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5598, - "src": "25390:8:21", + "referencedDeclaration": 6215, + "src": "26354:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16687,14 +16941,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25381:18:21", + "src": "26345:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "25339:60:21" + "src": "26303:60:28" }, { "condition": { @@ -16703,7 +16957,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5614, + "id": 6231, "isConstant": false, "isLValue": false, "isPure": false, @@ -16712,26 +16966,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5611, + "id": 6228, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25414:7:21", + "referencedDeclaration": 6223, + "src": "26378:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5612, + "id": 6229, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "25414:33:21", + "referencedDeclaration": 10615, + "src": "26378:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16742,14 +16996,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5613, + "id": 6230, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "25451:1:21", + "src": "26415:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16757,20 +17011,20 @@ }, "value": "0" }, - "src": "25414:38:21", + "src": "26378:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5623, + "id": 6240, "nodeType": "IfStatement", - "src": "25410:202:21", + "src": "26374:202:28", "trueBody": { - "id": 5622, + "id": 6239, "nodeType": "Block", - "src": "25454:158:21", + "src": "26418:158:28", "statements": [ { "expression": { @@ -16785,26 +17039,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5616, + "id": 6233, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25520:7:21", + "referencedDeclaration": 6223, + "src": "26484:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5617, + "id": 6234, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "25520:35:21", + "referencedDeclaration": 10633, + "src": "26484:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16818,18 +17072,18 @@ "typeString": "address" } ], - "id": 5615, + "id": 6232, "name": "IReserveInterestRateStrategy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "25491:28:21", + "referencedDeclaration": 2519, + "src": "26455:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$1698_$", + "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$2519_$", "typeString": "type(contract IReserveInterestRateStrategy)" } }, - "id": 5618, + "id": 6235, "isConstant": false, "isLValue": false, "isPure": false, @@ -16837,27 +17091,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25491:65:21", + "src": "26455:65:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$1698", + "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$2519", "typeString": "contract IReserveInterestRateStrategy" } }, - "id": 5619, + "id": 6236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getBaseVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "25491:108:21", + "referencedDeclaration": 2499, + "src": "26455:108:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 5620, + "id": 6237, "isConstant": false, "isLValue": false, "isPure": false, @@ -16865,16 +17119,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25491:110:21", + "src": "26455:110:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5602, - "id": 5621, + "functionReturnParameters": 6219, + "id": 6238, "nodeType": "Return", - "src": "25468:133:21" + "src": "26432:133:28" } ] } @@ -16884,56 +17138,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5624, + "id": 6241, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25628:7:21", + "referencedDeclaration": 6223, + "src": "26592:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5625, + "id": 6242, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "25628:33:21", + "referencedDeclaration": 10615, + "src": "26592:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5602, - "id": 5626, + "functionReturnParameters": 6219, + "id": 6243, "nodeType": "Return", - "src": "25621:40:21" + "src": "26585:40:28" } ] }, "documentation": "@dev gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\n@param _reserve the reserve address\n@return the reserve current variable borrow rate*", - "id": 5628, + "id": 6245, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentVariableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5599, + "id": 6216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5598, + "id": 6215, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "25279:16:21", + "scope": 6245, + "src": "26243:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16941,10 +17195,10 @@ "typeString": "address" }, "typeName": { - "id": 5597, + "id": 6214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "25279:7:21", + "src": "26243:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16955,19 +17209,19 @@ "visibility": "internal" } ], - "src": "25278:18:21" + "src": "26242:18:28" }, "returnParameters": { - "id": 5602, + "id": 6219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5601, + "id": 6218, "name": "", "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "25320:7:21", + "scope": 6245, + "src": "26284:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16975,10 +17229,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5600, + "id": 6217, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25320:7:21", + "src": "26284:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16988,47 +17242,47 @@ "visibility": "internal" } ], - "src": "25319:9:21" + "src": "26283:9:28" }, - "scope": 7812, - "src": "25234:434:21", + "scope": 8443, + "src": "26198:434:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5665, + "id": 6282, "nodeType": "Block", - "src": "25976:385:21", + "src": "26940:385:28", "statements": [ { "assignments": [ - 5638 + 6255 ], "declarations": [ { "constant": false, - "id": 5638, + "id": 6255, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5665, - "src": "25986:39:21", + "scope": 6282, + "src": "26950:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5637, + "id": 6254, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "25986:23:21", + "referencedDeclaration": 10646, + "src": "26950:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -17036,31 +17290,31 @@ "visibility": "internal" } ], - "id": 5642, + "id": 6259, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5639, + "id": 6256, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "26028:8:21", + "referencedDeclaration": 5152, + "src": "26992:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5641, + "id": 6258, "indexExpression": { "argumentTypes": null, - "id": 5640, + "id": 6257, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "26037:8:21", + "referencedDeclaration": 6247, + "src": "27001:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17071,42 +17325,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26028:18:21", + "src": "26992:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "25986:60:21" + "src": "26950:60:28" }, { "assignments": [ - 5644 + 6261 ], "declarations": [ { "constant": false, - "id": 5644, + "id": 6261, "name": "oracle", "nodeType": "VariableDeclaration", - "scope": 5665, - "src": "26056:25:21", + "scope": 6282, + "src": "27020:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" }, "typeName": { "contractScope": null, - "id": 5643, + "id": 6260, "name": "ILendingRateOracle", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1644, - "src": "26056:18:21", + "referencedDeclaration": 2364, + "src": "27020:18:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, @@ -17114,7 +17368,7 @@ "visibility": "internal" } ], - "id": 5650, + "id": 6267, "initialValue": { "argumentTypes": null, "arguments": [ @@ -17125,18 +17379,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5646, + "id": 6263, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "26103:17:21", + "referencedDeclaration": 5122, + "src": "27067:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 5647, + "id": 6264, "isConstant": false, "isLValue": false, "isPure": false, @@ -17144,13 +17398,13 @@ "memberName": "getLendingRateOracle", "nodeType": "MemberAccess", "referencedDeclaration": 458, - "src": "26103:38:21", + "src": "27067:38:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 5648, + "id": 6265, "isConstant": false, "isLValue": false, "isPure": false, @@ -17158,7 +17412,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26103:40:21", + "src": "27067:40:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17172,18 +17426,18 @@ "typeString": "address" } ], - "id": 5645, + "id": 6262, "name": "ILendingRateOracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "26084:18:21", + "referencedDeclaration": 2364, + "src": "27048:18:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ILendingRateOracle_$1644_$", + "typeIdentifier": "t_type$_t_contract$_ILendingRateOracle_$2364_$", "typeString": "type(contract ILendingRateOracle)" } }, - "id": 5649, + "id": 6266, "isConstant": false, "isLValue": false, "isPure": false, @@ -17191,14 +17445,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26084:60:21", + "src": "27048:60:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, "nodeType": "VariableDeclarationStatement", - "src": "26056:88:21" + "src": "27020:88:28" }, { "condition": { @@ -17207,7 +17461,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5654, + "id": 6271, "isConstant": false, "isLValue": false, "isPure": false, @@ -17216,26 +17470,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5651, + "id": 6268, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5638, - "src": "26159:7:21", + "referencedDeclaration": 6255, + "src": "27123:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5652, + "id": 6269, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "26159:31:21", + "referencedDeclaration": 10617, + "src": "27123:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17246,14 +17500,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5653, + "id": 6270, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "26194:1:21", + "src": "27158:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17261,20 +17515,20 @@ }, "value": "0" }, - "src": "26159:36:21", + "src": "27123:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5661, + "id": 6278, "nodeType": "IfStatement", - "src": "26155:151:21", + "src": "27119:151:28", "trueBody": { - "id": 5660, + "id": 6277, "nodeType": "Block", - "src": "26197:109:21", + "src": "27161:109:28", "statements": [ { "expression": { @@ -17282,12 +17536,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5657, + "id": 6274, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "26286:8:21", + "referencedDeclaration": 6247, + "src": "27250:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17303,32 +17557,32 @@ ], "expression": { "argumentTypes": null, - "id": 5655, + "id": 6272, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5644, - "src": "26259:6:21", + "referencedDeclaration": 6261, + "src": "27223:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, - "id": 5656, + "id": 6273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMarketBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 1636, - "src": "26259:26:21", + "referencedDeclaration": 2356, + "src": "27223:26:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5658, + "id": 6275, "isConstant": false, "isLValue": false, "isPure": false, @@ -17336,16 +17590,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26259:36:21", + "src": "27223:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5634, - "id": 5659, + "functionReturnParameters": 6251, + "id": 6276, "nodeType": "Return", - "src": "26252:43:21" + "src": "27216:43:28" } ] } @@ -17355,56 +17609,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5662, + "id": 6279, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5638, - "src": "26323:7:21", + "referencedDeclaration": 6255, + "src": "27287:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5663, + "id": 6280, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "26323:31:21", + "referencedDeclaration": 10617, + "src": "27287:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5634, - "id": 5664, + "functionReturnParameters": 6251, + "id": 6281, "nodeType": "Return", - "src": "26316:38:21" + "src": "27280:38:28" } ] }, "documentation": "@dev gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\n@param _reserve the reserve address\n@return the reserve current stable borrow rate*", - "id": 5666, + "id": 6283, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5631, + "id": 6248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5630, + "id": 6247, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5666, - "src": "25928:16:21", + "scope": 6283, + "src": "26892:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17412,10 +17666,10 @@ "typeString": "address" }, "typeName": { - "id": 5629, + "id": 6246, "name": "address", "nodeType": "ElementaryTypeName", - "src": "25928:7:21", + "src": "26892:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17426,19 +17680,19 @@ "visibility": "internal" } ], - "src": "25927:18:21" + "src": "26891:18:28" }, "returnParameters": { - "id": 5634, + "id": 6251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5633, + "id": 6250, "name": "", "nodeType": "VariableDeclaration", - "scope": 5666, - "src": "25967:7:21", + "scope": 6283, + "src": "26931:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17446,10 +17700,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5632, + "id": 6249, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25967:7:21", + "src": "26931:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17459,47 +17713,47 @@ "visibility": "internal" } ], - "src": "25966:9:21" + "src": "26930:9:28" }, - "scope": 7812, - "src": "25885:476:21", + "scope": 8443, + "src": "26849:476:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5684, + "id": 6301, "nodeType": "Block", - "src": "26756:132:21", + "src": "27720:132:28", "statements": [ { "assignments": [ - 5676 + 6293 ], "declarations": [ { "constant": false, - "id": 5676, + "id": 6293, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5684, - "src": "26766:39:21", + "scope": 6301, + "src": "27730:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5675, + "id": 6292, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "26766:23:21", + "referencedDeclaration": 10646, + "src": "27730:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -17507,31 +17761,31 @@ "visibility": "internal" } ], - "id": 5680, + "id": 6297, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5677, + "id": 6294, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "26808:8:21", + "referencedDeclaration": 5152, + "src": "27772:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5679, + "id": 6296, "indexExpression": { "argumentTypes": null, - "id": 5678, + "id": 6295, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5668, - "src": "26817:8:21", + "referencedDeclaration": 6285, + "src": "27781:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17542,70 +17796,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26808:18:21", + "src": "27772:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "26766:60:21" + "src": "27730:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5681, + "id": 6298, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "26843:7:21", + "referencedDeclaration": 6293, + "src": "27807:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5682, + "id": 6299, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentAverageStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "26843:38:21", + "referencedDeclaration": 10619, + "src": "27807:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5672, - "id": 5683, + "functionReturnParameters": 6289, + "id": 6300, "nodeType": "Return", - "src": "26836:45:21" + "src": "27800:45:28" } ] }, "documentation": "@dev gets the reserve average stable borrow rate. The average stable rate is the weighted average\nof all the loans taken at stable rate.\n@param _reserve the reserve address\n@return the reserve current average borrow rate*", - "id": 5685, + "id": 6302, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentAverageStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5669, + "id": 6286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5668, + "id": 6285, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5685, - "src": "26678:16:21", + "scope": 6302, + "src": "27642:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17613,10 +17867,10 @@ "typeString": "address" }, "typeName": { - "id": 5667, + "id": 6284, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26678:7:21", + "src": "27642:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17627,19 +17881,19 @@ "visibility": "internal" } ], - "src": "26677:18:21" + "src": "27641:18:28" }, "returnParameters": { - "id": 5672, + "id": 6289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5671, + "id": 6288, "name": "", "nodeType": "VariableDeclaration", - "scope": 5685, - "src": "26743:7:21", + "scope": 6302, + "src": "27707:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17647,10 +17901,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5670, + "id": 6287, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26743:7:21", + "src": "27707:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17660,47 +17914,47 @@ "visibility": "internal" } ], - "src": "26742:9:21" + "src": "27706:9:28" }, - "scope": 7812, - "src": "26628:260:21", + "scope": 8443, + "src": "27592:260:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5703, + "id": 6320, "nodeType": "Block", - "src": "27126:122:21", + "src": "28090:122:28", "statements": [ { "assignments": [ - 5695 + 6312 ], "declarations": [ { "constant": false, - "id": 5695, + "id": 6312, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5703, - "src": "27136:39:21", + "scope": 6320, + "src": "28100:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5694, + "id": 6311, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27136:23:21", + "referencedDeclaration": 10646, + "src": "28100:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -17708,31 +17962,31 @@ "visibility": "internal" } ], - "id": 5699, + "id": 6316, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5696, + "id": 6313, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27178:8:21", + "referencedDeclaration": 5152, + "src": "28142:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5698, + "id": 6315, "indexExpression": { "argumentTypes": null, - "id": 5697, + "id": 6314, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5687, - "src": "27187:8:21", + "referencedDeclaration": 6304, + "src": "28151:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17743,70 +17997,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27178:18:21", + "src": "28142:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27136:60:21" + "src": "28100:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5700, + "id": 6317, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "27213:7:21", + "referencedDeclaration": 6312, + "src": "28177:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5701, + "id": 6318, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentLiquidityRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "27213:28:21", + "referencedDeclaration": 10609, + "src": "28177:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5691, - "id": 5702, + "functionReturnParameters": 6308, + "id": 6319, "nodeType": "Return", - "src": "27206:35:21" + "src": "28170:35:28" } ] }, "documentation": "@dev gets the reserve liquidity rate\n@param _reserve the reserve address\n@return the reserve liquidity rate*", - "id": 5704, + "id": 6321, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentLiquidityRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5688, + "id": 6305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5687, + "id": 6304, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5704, - "src": "27076:16:21", + "scope": 6321, + "src": "28040:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17814,10 +18068,10 @@ "typeString": "address" }, "typeName": { - "id": 5686, + "id": 6303, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27076:7:21", + "src": "28040:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17828,19 +18082,19 @@ "visibility": "internal" } ], - "src": "27075:18:21" + "src": "28039:18:28" }, "returnParameters": { - "id": 5691, + "id": 6308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5690, + "id": 6307, "name": "", "nodeType": "VariableDeclaration", - "scope": 5704, - "src": "27117:7:21", + "scope": 6321, + "src": "28081:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17848,10 +18102,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5689, + "id": 6306, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27117:7:21", + "src": "28081:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17861,47 +18115,47 @@ "visibility": "internal" } ], - "src": "27116:9:21" + "src": "28080:9:28" }, - "scope": 7812, - "src": "27036:212:21", + "scope": 8443, + "src": "28000:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5722, + "id": 6339, "nodeType": "Block", - "src": "27514:130:21", + "src": "28478:130:28", "statements": [ { "assignments": [ - 5714 + 6331 ], "declarations": [ { "constant": false, - "id": 5714, + "id": 6331, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5722, - "src": "27524:39:21", + "scope": 6339, + "src": "28488:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5713, + "id": 6330, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27524:23:21", + "referencedDeclaration": 10646, + "src": "28488:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -17909,31 +18163,31 @@ "visibility": "internal" } ], - "id": 5718, + "id": 6335, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5715, + "id": 6332, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27566:8:21", + "referencedDeclaration": 5152, + "src": "28530:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5717, + "id": 6334, "indexExpression": { "argumentTypes": null, - "id": 5716, + "id": 6333, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "27575:8:21", + "referencedDeclaration": 6323, + "src": "28539:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17944,70 +18198,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27566:18:21", + "src": "28530:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27524:60:21" + "src": "28488:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5719, + "id": 6336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, - "src": "27601:7:21", + "referencedDeclaration": 6331, + "src": "28565:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5720, + "id": 6337, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "27601:36:21", + "referencedDeclaration": 10607, + "src": "28565:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5710, - "id": 5721, + "functionReturnParameters": 6327, + "id": 6338, "nodeType": "Return", - "src": "27594:43:21" + "src": "28558:43:28" } ] }, "documentation": "@dev gets the reserve liquidity cumulative index\n@param _reserve the reserve address\n@return the reserve liquidity cumulative index*", - "id": 5723, + "id": 6340, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidityCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 5707, + "id": 6324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5706, + "id": 6323, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5723, - "src": "27464:16:21", + "scope": 6340, + "src": "28428:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18015,10 +18269,10 @@ "typeString": "address" }, "typeName": { - "id": 5705, + "id": 6322, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27464:7:21", + "src": "28428:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18029,19 +18283,19 @@ "visibility": "internal" } ], - "src": "27463:18:21" + "src": "28427:18:28" }, "returnParameters": { - "id": 5710, + "id": 6327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5709, + "id": 6326, "name": "", "nodeType": "VariableDeclaration", - "scope": 5723, - "src": "27505:7:21", + "scope": 6340, + "src": "28469:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18049,10 +18303,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5708, + "id": 6325, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27505:7:21", + "src": "28469:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18062,47 +18316,47 @@ "visibility": "internal" } ], - "src": "27504:9:21" + "src": "28468:9:28" }, - "scope": 7812, - "src": "27420:224:21", + "scope": 8443, + "src": "28384:224:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5741, + "id": 6358, "nodeType": "Block", - "src": "27934:135:21", + "src": "28898:135:28", "statements": [ { "assignments": [ - 5733 + 6350 ], "declarations": [ { "constant": false, - "id": 5733, + "id": 6350, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5741, - "src": "27944:39:21", + "scope": 6358, + "src": "28908:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5732, + "id": 6349, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27944:23:21", + "referencedDeclaration": 10646, + "src": "28908:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -18110,31 +18364,31 @@ "visibility": "internal" } ], - "id": 5737, + "id": 6354, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5734, + "id": 6351, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27986:8:21", + "referencedDeclaration": 5152, + "src": "28950:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5736, + "id": 6353, "indexExpression": { "argumentTypes": null, - "id": 5735, + "id": 6352, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5725, - "src": "27995:8:21", + "referencedDeclaration": 6342, + "src": "28959:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18145,70 +18399,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27986:18:21", + "src": "28950:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27944:60:21" + "src": "28908:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5738, + "id": 6355, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "28021:7:21", + "referencedDeclaration": 6350, + "src": "28985:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5739, + "id": 6356, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "28021:41:21", + "referencedDeclaration": 10621, + "src": "28985:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5729, - "id": 5740, + "functionReturnParameters": 6346, + "id": 6357, "nodeType": "Return", - "src": "28014:48:21" + "src": "28978:48:28" } ] }, "documentation": "@dev gets the reserve variable borrow index\n@param _reserve the reserve address\n@return the reserve variable borrow index*", - "id": 5742, + "id": 6359, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveVariableBorrowsCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 5726, + "id": 6343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5725, + "id": 6342, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5742, - "src": "27856:16:21", + "scope": 6359, + "src": "28820:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18216,10 +18470,10 @@ "typeString": "address" }, "typeName": { - "id": 5724, + "id": 6341, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27856:7:21", + "src": "28820:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18230,19 +18484,19 @@ "visibility": "internal" } ], - "src": "27855:18:21" + "src": "28819:18:28" }, "returnParameters": { - "id": 5729, + "id": 6346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5728, + "id": 6345, "name": "", "nodeType": "VariableDeclaration", - "scope": 5742, - "src": "27921:7:21", + "scope": 6359, + "src": "28885:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18250,10 +18504,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5727, + "id": 6344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27921:7:21", + "src": "28885:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18263,32 +18517,32 @@ "visibility": "internal" } ], - "src": "27920:9:21" + "src": "28884:9:28" }, - "scope": 7812, - "src": "27806:263:21", + "scope": 8443, + "src": "28770:263:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5801, + "id": 6418, "nodeType": "Block", - "src": "28669:541:21", + "src": "29633:541:28", "statements": [ { "assignments": [ - 5756 + 6373 ], "declarations": [ { "constant": false, - "id": 5756, + "id": 6373, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28679:16:21", + "scope": 6418, + "src": "29643:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18296,10 +18550,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5755, + "id": 6372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28679:7:21", + "src": "29643:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18309,23 +18563,23 @@ "visibility": "internal" } ], - "id": 5757, + "id": 6374, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28679:16:21" + "src": "29643:16:28" }, { "assignments": [ - 5759 + 6376 ], "declarations": [ { "constant": false, - "id": 5759, + "id": 6376, "name": "baseLTVasCollateral", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28705:27:21", + "scope": 6418, + "src": "29669:27:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18333,10 +18587,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5758, + "id": 6375, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28705:7:21", + "src": "29669:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18346,23 +18600,23 @@ "visibility": "internal" } ], - "id": 5760, + "id": 6377, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28705:27:21" + "src": "29669:27:28" }, { "assignments": [ - 5762 + 6379 ], "declarations": [ { "constant": false, - "id": 5762, + "id": 6379, "name": "liquidationThreshold", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28742:28:21", + "scope": 6418, + "src": "29706:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18370,10 +18624,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5761, + "id": 6378, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28742:7:21", + "src": "29706:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18383,23 +18637,23 @@ "visibility": "internal" } ], - "id": 5763, + "id": 6380, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28742:28:21" + "src": "29706:28:28" }, { "assignments": [ - 5765 + 6382 ], "declarations": [ { "constant": false, - "id": 5765, + "id": 6382, "name": "usageAsCollateralEnabled", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28780:29:21", + "scope": 6418, + "src": "29744:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18407,10 +18661,10 @@ "typeString": "bool" }, "typeName": { - "id": 5764, + "id": 6381, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "28780:4:21", + "src": "29744:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18420,38 +18674,38 @@ "visibility": "internal" } ], - "id": 5766, + "id": 6383, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28780:29:21" + "src": "29744:29:28" }, { "assignments": [ - 5770 + 6387 ], "declarations": [ { "constant": false, - "id": 5770, + "id": 6387, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28820:39:21", + "scope": 6418, + "src": "29784:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5769, + "id": 6386, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "28820:23:21", + "referencedDeclaration": 10646, + "src": "29784:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -18459,31 +18713,31 @@ "visibility": "internal" } ], - "id": 5774, + "id": 6391, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5771, + "id": 6388, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "28862:8:21", + "referencedDeclaration": 5152, + "src": "29826:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5773, + "id": 6390, "indexExpression": { "argumentTypes": null, - "id": 5772, + "id": 6389, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5744, - "src": "28871:8:21", + "referencedDeclaration": 6361, + "src": "29835:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18494,31 +18748,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28862:18:21", + "src": "29826:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "28820:60:21" + "src": "29784:60:28" }, { "expression": { "argumentTypes": null, - "id": 5778, + "id": 6395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5775, + "id": 6392, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "28890:8:21", + "referencedDeclaration": 6373, + "src": "29854:8:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18530,57 +18784,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5776, + "id": 6393, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "28901:7:21", + "referencedDeclaration": 6387, + "src": "29865:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5777, + "id": 6394, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "28901:16:21", + "referencedDeclaration": 10629, + "src": "29865:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28890:27:21", + "src": "29854:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5779, + "id": 6396, "nodeType": "ExpressionStatement", - "src": "28890:27:21" + "src": "29854:27:28" }, { "expression": { "argumentTypes": null, - "id": 5783, + "id": 6400, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5780, + "id": 6397, "name": "baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5759, - "src": "28927:19:21", + "referencedDeclaration": 6376, + "src": "29891:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18592,57 +18846,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5781, + "id": 6398, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "28949:7:21", + "referencedDeclaration": 6387, + "src": "29913:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5782, + "id": 6399, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "28949:27:21", + "referencedDeclaration": 10623, + "src": "29913:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28927:49:21", + "src": "29891:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5784, + "id": 6401, "nodeType": "ExpressionStatement", - "src": "28927:49:21" + "src": "29891:49:28" }, { "expression": { "argumentTypes": null, - "id": 5788, + "id": 6405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5785, + "id": 6402, "name": "liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "28986:20:21", + "referencedDeclaration": 6379, + "src": "29950:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18654,57 +18908,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5786, + "id": 6403, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "29009:7:21", + "referencedDeclaration": 6387, + "src": "29973:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5787, + "id": 6404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "29009:28:21", + "referencedDeclaration": 10625, + "src": "29973:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28986:51:21", + "src": "29950:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5789, + "id": 6406, "nodeType": "ExpressionStatement", - "src": "28986:51:21" + "src": "29950:51:28" }, { "expression": { "argumentTypes": null, - "id": 5793, + "id": 6410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5790, + "id": 6407, "name": "usageAsCollateralEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "29047:24:21", + "referencedDeclaration": 6382, + "src": "30011:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18716,40 +18970,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5791, + "id": 6408, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "29074:7:21", + "referencedDeclaration": 6387, + "src": "30038:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5792, + "id": 6409, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "29074:32:21", + "referencedDeclaration": 10639, + "src": "30038:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "29047:59:21", + "src": "30011:59:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 5794, + "id": 6411, "nodeType": "ExpressionStatement", - "src": "29047:59:21" + "src": "30011:59:28" }, { "expression": { @@ -18757,12 +19011,12 @@ "components": [ { "argumentTypes": null, - "id": 5795, + "id": 6412, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "29125:8:21", + "referencedDeclaration": 6373, + "src": "30089:8:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18770,12 +19024,12 @@ }, { "argumentTypes": null, - "id": 5796, + "id": 6413, "name": "baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5759, - "src": "29135:19:21", + "referencedDeclaration": 6376, + "src": "30099:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18783,12 +19037,12 @@ }, { "argumentTypes": null, - "id": 5797, + "id": 6414, "name": "liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "29156:20:21", + "referencedDeclaration": 6379, + "src": "30120:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18796,56 +19050,56 @@ }, { "argumentTypes": null, - "id": 5798, + "id": 6415, "name": "usageAsCollateralEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "29178:24:21", + "referencedDeclaration": 6382, + "src": "30142:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5799, + "id": 6416, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "29124:79:21", + "src": "30088:79:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$", "typeString": "tuple(uint256,uint256,uint256,bool)" } }, - "functionReturnParameters": 5754, - "id": 5800, + "functionReturnParameters": 6371, + "id": 6417, "nodeType": "Return", - "src": "29117:86:21" + "src": "30081:86:28" } ] }, "documentation": "@dev this function aggregates the configuration parameters of the reserve.\nIt's used in the LendingPoolDataProvider specifically to save gas, and avoid\nmultiple external contract calls to fetch the same data.\n@param _reserve the reserve address\n@return the reserve decimals\n@return the base ltv as collateral\n@return the liquidation threshold\n@return if the reserve is used as collateral or not*", - "id": 5802, + "id": 6419, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveConfiguration", "nodeType": "FunctionDefinition", "parameters": { - "id": 5745, + "id": 6362, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5744, + "id": 6361, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28567:16:21", + "scope": 6419, + "src": "29531:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18853,10 +19107,10 @@ "typeString": "address" }, "typeName": { - "id": 5743, + "id": 6360, "name": "address", "nodeType": "ElementaryTypeName", - "src": "28567:7:21", + "src": "29531:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18867,19 +19121,19 @@ "visibility": "internal" } ], - "src": "28566:18:21" + "src": "29530:18:28" }, "returnParameters": { - "id": 5754, + "id": 6371, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5747, + "id": 6364, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28632:7:21", + "scope": 6419, + "src": "29596:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18887,10 +19141,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5746, + "id": 6363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28632:7:21", + "src": "29596:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18901,11 +19155,11 @@ }, { "constant": false, - "id": 5749, + "id": 6366, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28641:7:21", + "scope": 6419, + "src": "29605:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18913,10 +19167,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5748, + "id": 6365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28641:7:21", + "src": "29605:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18927,11 +19181,11 @@ }, { "constant": false, - "id": 5751, + "id": 6368, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28650:7:21", + "scope": 6419, + "src": "29614:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18939,10 +19193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5750, + "id": 6367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28650:7:21", + "src": "29614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18953,11 +19207,11 @@ }, { "constant": false, - "id": 5753, + "id": 6370, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28659:4:21", + "scope": 6419, + "src": "29623:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18965,10 +19219,10 @@ "typeString": "bool" }, "typeName": { - "id": 5752, + "id": 6369, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "28659:4:21", + "src": "29623:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18978,19 +19232,19 @@ "visibility": "internal" } ], - "src": "28631:33:21" + "src": "29595:33:28" }, - "scope": 7812, - "src": "28534:676:21", + "scope": 8443, + "src": "29498:676:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5814, + "id": 6431, "nodeType": "Block", - "src": "29434:51:21", + "src": "30398:51:28", "statements": [ { "expression": { @@ -18999,26 +19253,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5809, + "id": 6426, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "29451:8:21", + "referencedDeclaration": 5152, + "src": "30415:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5811, + "id": 6428, "indexExpression": { "argumentTypes": null, - "id": 5810, + "id": 6427, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5804, - "src": "29460:8:21", + "referencedDeclaration": 6421, + "src": "30424:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19029,51 +19283,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "29451:18:21", + "src": "30415:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5812, + "id": 6429, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "29451:27:21", + "referencedDeclaration": 10629, + "src": "30415:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5808, - "id": 5813, + "functionReturnParameters": 6425, + "id": 6430, "nodeType": "Return", - "src": "29444:34:21" + "src": "30408:34:28" } ] }, "documentation": "@dev returns the decimals of the reserve\n@param _reserve the reserve address\n@return the reserve decimals*", - "id": 5815, + "id": 6432, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveDecimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 5805, + "id": 6422, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5804, + "id": 6421, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5815, - "src": "29384:16:21", + "scope": 6432, + "src": "30348:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19081,10 +19335,10 @@ "typeString": "address" }, "typeName": { - "id": 5803, + "id": 6420, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29384:7:21", + "src": "30348:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19095,19 +19349,19 @@ "visibility": "internal" } ], - "src": "29383:18:21" + "src": "30347:18:28" }, "returnParameters": { - "id": 5808, + "id": 6425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5807, + "id": 6424, "name": "", "nodeType": "VariableDeclaration", - "scope": 5815, - "src": "29425:7:21", + "scope": 6432, + "src": "30389:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19115,10 +19369,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5806, + "id": 6423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29425:7:21", + "src": "30389:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19128,47 +19382,47 @@ "visibility": "internal" } ], - "src": "29424:9:21" + "src": "30388:9:28" }, - "scope": 7812, - "src": "29356:129:21", + "scope": 8443, + "src": "30320:129:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5833, + "id": 6450, "nodeType": "Block", - "src": "29772:118:21", + "src": "30736:118:28", "statements": [ { "assignments": [ - 5825 + 6442 ], "declarations": [ { "constant": false, - "id": 5825, + "id": 6442, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5833, - "src": "29782:39:21", + "scope": 6450, + "src": "30746:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5824, + "id": 6441, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "29782:23:21", + "referencedDeclaration": 10646, + "src": "30746:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -19176,31 +19430,31 @@ "visibility": "internal" } ], - "id": 5829, + "id": 6446, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5826, + "id": 6443, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "29824:8:21", + "referencedDeclaration": 5152, + "src": "30788:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5828, + "id": 6445, "indexExpression": { "argumentTypes": null, - "id": 5827, + "id": 6444, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5817, - "src": "29833:8:21", + "referencedDeclaration": 6434, + "src": "30797:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19211,70 +19465,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "29824:18:21", + "src": "30788:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "29782:60:21" + "src": "30746:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5830, + "id": 6447, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "29859:7:21", + "referencedDeclaration": 6442, + "src": "30823:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5831, + "id": 6448, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowingEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9560, - "src": "29859:24:21", + "referencedDeclaration": 10637, + "src": "30823:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5821, - "id": 5832, + "functionReturnParameters": 6438, + "id": 6449, "nodeType": "Return", - "src": "29852:31:21" + "src": "30816:31:28" } ] }, "documentation": "@dev returns true if the reserve is enabled for borrowing\n@param _reserve the reserve address\n@return true if the reserve is enabled for borrowing, false otherwise*", - "id": 5834, + "id": 6451, "implemented": true, "kind": "function", "modifiers": [], "name": "isReserveBorrowingEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5818, + "id": 6435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5817, + "id": 6434, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5834, - "src": "29725:16:21", + "scope": 6451, + "src": "30689:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19282,10 +19536,10 @@ "typeString": "address" }, "typeName": { - "id": 5816, + "id": 6433, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29725:7:21", + "src": "30689:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19296,19 +19550,19 @@ "visibility": "internal" } ], - "src": "29724:18:21" + "src": "30688:18:28" }, "returnParameters": { - "id": 5821, + "id": 6438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5820, + "id": 6437, "name": "", "nodeType": "VariableDeclaration", - "scope": 5834, - "src": "29766:4:21", + "scope": 6451, + "src": "30730:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19316,10 +19570,10 @@ "typeString": "bool" }, "typeName": { - "id": 5819, + "id": 6436, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "29766:4:21", + "src": "30730:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19329,47 +19583,47 @@ "visibility": "internal" } ], - "src": "29765:6:21" + "src": "30729:6:28" }, - "scope": 7812, - "src": "29690:200:21", + "scope": 8443, + "src": "30654:200:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5852, + "id": 6469, "nodeType": "Block", - "src": "30185:126:21", + "src": "31149:126:28", "statements": [ { "assignments": [ - 5844 + 6461 ], "declarations": [ { "constant": false, - "id": 5844, + "id": 6461, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5852, - "src": "30195:39:21", + "scope": 6469, + "src": "31159:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5843, + "id": 6460, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30195:23:21", + "referencedDeclaration": 10646, + "src": "31159:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -19377,31 +19631,31 @@ "visibility": "internal" } ], - "id": 5848, + "id": 6465, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5845, + "id": 6462, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "30237:8:21", + "referencedDeclaration": 5152, + "src": "31201:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5847, + "id": 6464, "indexExpression": { "argumentTypes": null, - "id": 5846, + "id": 6463, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5836, - "src": "30246:8:21", + "referencedDeclaration": 6453, + "src": "31210:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19412,70 +19666,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30237:18:21", + "src": "31201:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30195:60:21" + "src": "31159:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5849, + "id": 6466, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5844, - "src": "30272:7:21", + "referencedDeclaration": 6461, + "src": "31236:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5850, + "id": 6467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "30272:32:21", + "referencedDeclaration": 10639, + "src": "31236:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5840, - "id": 5851, + "functionReturnParameters": 6457, + "id": 6468, "nodeType": "Return", - "src": "30265:39:21" + "src": "31229:39:28" } ] }, "documentation": "@dev returns true if the reserve is enabled as collateral\n@param _reserve the reserve address\n@return true if the reserve is enabled as collateral, false otherwise*", - "id": 5853, + "id": 6470, "implemented": true, "kind": "function", "modifiers": [], "name": "isReserveUsageAsCollateralEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5837, + "id": 6454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5836, + "id": 6453, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5853, - "src": "30138:16:21", + "scope": 6470, + "src": "31102:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19483,10 +19737,10 @@ "typeString": "address" }, "typeName": { - "id": 5835, + "id": 6452, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30138:7:21", + "src": "31102:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19497,19 +19751,19 @@ "visibility": "internal" } ], - "src": "30137:18:21" + "src": "31101:18:28" }, "returnParameters": { - "id": 5840, + "id": 6457, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5839, + "id": 6456, "name": "", "nodeType": "VariableDeclaration", - "scope": 5853, - "src": "30179:4:21", + "scope": 6470, + "src": "31143:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19517,10 +19771,10 @@ "typeString": "bool" }, "typeName": { - "id": 5838, + "id": 6455, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30179:4:21", + "src": "31143:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19530,47 +19784,47 @@ "visibility": "internal" } ], - "src": "30178:6:21" + "src": "31142:6:28" }, - "scope": 7812, - "src": "30095:216:21", + "scope": 8443, + "src": "31059:216:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5871, + "id": 6488, "nodeType": "Block", - "src": "30609:127:21", + "src": "31573:127:28", "statements": [ { "assignments": [ - 5863 + 6480 ], "declarations": [ { "constant": false, - "id": 5863, + "id": 6480, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5871, - "src": "30619:39:21", + "scope": 6488, + "src": "31583:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5862, + "id": 6479, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30619:23:21", + "referencedDeclaration": 10646, + "src": "31583:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -19578,31 +19832,31 @@ "visibility": "internal" } ], - "id": 5867, + "id": 6484, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5864, + "id": 6481, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "30661:8:21", + "referencedDeclaration": 5152, + "src": "31625:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5866, + "id": 6483, "indexExpression": { "argumentTypes": null, - "id": 5865, + "id": 6482, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5855, - "src": "30670:8:21", + "referencedDeclaration": 6472, + "src": "31634:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19613,70 +19867,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30661:18:21", + "src": "31625:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30619:60:21" + "src": "31583:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5868, + "id": 6485, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5863, - "src": "30696:7:21", + "referencedDeclaration": 6480, + "src": "31660:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5869, + "id": 6486, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "30696:33:21", + "referencedDeclaration": 10641, + "src": "31660:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5859, - "id": 5870, + "functionReturnParameters": 6476, + "id": 6487, "nodeType": "Return", - "src": "30689:40:21" + "src": "31653:40:28" } ] }, "documentation": "@dev returns true if the stable rate is enabled on reserve\n@param _reserve the reserve address\n@return true if the stable rate is enabled on reserve, false otherwise*", - "id": 5872, + "id": 6489, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsStableBorrowRateEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5856, + "id": 6473, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5855, + "id": 6472, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5872, - "src": "30562:16:21", + "scope": 6489, + "src": "31526:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19684,10 +19938,10 @@ "typeString": "address" }, "typeName": { - "id": 5854, + "id": 6471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30562:7:21", + "src": "31526:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19698,19 +19952,19 @@ "visibility": "internal" } ], - "src": "30561:18:21" + "src": "31525:18:28" }, "returnParameters": { - "id": 5859, + "id": 6476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5858, + "id": 6475, "name": "", "nodeType": "VariableDeclaration", - "scope": 5872, - "src": "30603:4:21", + "scope": 6489, + "src": "31567:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19718,10 +19972,10 @@ "typeString": "bool" }, "typeName": { - "id": 5857, + "id": 6474, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30603:4:21", + "src": "31567:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19731,47 +19985,47 @@ "visibility": "internal" } ], - "src": "30602:6:21" + "src": "31566:6:28" }, - "scope": 7812, - "src": "30517:219:21", + "scope": 8443, + "src": "31481:219:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5890, + "id": 6507, "nodeType": "Block", - "src": "30985:110:21", + "src": "31949:110:28", "statements": [ { "assignments": [ - 5882 + 6499 ], "declarations": [ { "constant": false, - "id": 5882, + "id": 6499, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5890, - "src": "30995:39:21", + "scope": 6507, + "src": "31959:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5881, + "id": 6498, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30995:23:21", + "referencedDeclaration": 10646, + "src": "31959:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -19779,31 +20033,31 @@ "visibility": "internal" } ], - "id": 5886, + "id": 6503, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5883, + "id": 6500, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31037:8:21", + "referencedDeclaration": 5152, + "src": "32001:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5885, + "id": 6502, "indexExpression": { "argumentTypes": null, - "id": 5884, + "id": 6501, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5874, - "src": "31046:8:21", + "referencedDeclaration": 6491, + "src": "32010:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19814,70 +20068,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31037:18:21", + "src": "32001:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30995:60:21" + "src": "31959:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5887, + "id": 6504, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "31072:7:21", + "referencedDeclaration": 6499, + "src": "32036:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5888, + "id": 6505, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "31072:16:21", + "referencedDeclaration": 10643, + "src": "32036:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5878, - "id": 5889, + "functionReturnParameters": 6495, + "id": 6506, "nodeType": "Return", - "src": "31065:23:21" + "src": "32029:23:28" } ] }, "documentation": "@dev returns true if the reserve is active\n@param _reserve the reserve address\n@return true if the reserve is active, false otherwise*", - "id": 5891, + "id": 6508, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsActive", "nodeType": "FunctionDefinition", "parameters": { - "id": 5875, + "id": 6492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5874, + "id": 6491, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5891, - "src": "30938:16:21", + "scope": 6508, + "src": "31902:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19885,10 +20139,10 @@ "typeString": "address" }, "typeName": { - "id": 5873, + "id": 6490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30938:7:21", + "src": "31902:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19899,19 +20153,19 @@ "visibility": "internal" } ], - "src": "30937:18:21" + "src": "31901:18:28" }, "returnParameters": { - "id": 5878, + "id": 6495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5877, + "id": 6494, "name": "", "nodeType": "VariableDeclaration", - "scope": 5891, - "src": "30979:4:21", + "scope": 6508, + "src": "31943:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19919,10 +20173,10 @@ "typeString": "bool" }, "typeName": { - "id": 5876, + "id": 6493, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30979:4:21", + "src": "31943:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19932,47 +20186,47 @@ "visibility": "internal" } ], - "src": "30978:6:21" + "src": "31942:6:28" }, - "scope": 7812, - "src": "30910:185:21", + "scope": 8443, + "src": "31874:185:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5909, + "id": 6526, "nodeType": "Block", - "src": "31372:111:21", + "src": "32336:111:28", "statements": [ { "assignments": [ - 5901 + 6518 ], "declarations": [ { "constant": false, - "id": 5901, + "id": 6518, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5909, - "src": "31382:39:21", + "scope": 6526, + "src": "32346:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5900, + "id": 6517, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "31382:23:21", + "referencedDeclaration": 10646, + "src": "32346:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -19980,31 +20234,31 @@ "visibility": "internal" } ], - "id": 5905, + "id": 6522, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5902, + "id": 6519, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31424:8:21", + "referencedDeclaration": 5152, + "src": "32388:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5904, + "id": 6521, "indexExpression": { "argumentTypes": null, - "id": 5903, + "id": 6520, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "31433:8:21", + "referencedDeclaration": 6510, + "src": "32397:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20015,70 +20269,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31424:18:21", + "src": "32388:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "31382:60:21" + "src": "32346:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5906, + "id": 6523, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5901, - "src": "31459:7:21", + "referencedDeclaration": 6518, + "src": "32423:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5907, + "id": 6524, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "31459:17:21", + "referencedDeclaration": 10645, + "src": "32423:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5897, - "id": 5908, + "functionReturnParameters": 6514, + "id": 6525, "nodeType": "Return", - "src": "31452:24:21" + "src": "32416:24:28" } ] }, "documentation": "@notice returns if a reserve is freezed\n@param _reserve the reserve for which the information is needed\n@return true if the reserve is freezed, false otherwise*", - "id": 5910, + "id": 6527, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsFreezed", "nodeType": "FunctionDefinition", "parameters": { - "id": 5894, + "id": 6511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5893, + "id": 6510, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5910, - "src": "31325:16:21", + "scope": 6527, + "src": "32289:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20086,10 +20340,10 @@ "typeString": "address" }, "typeName": { - "id": 5892, + "id": 6509, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31325:7:21", + "src": "32289:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20100,19 +20354,19 @@ "visibility": "internal" } ], - "src": "31324:18:21" + "src": "32288:18:28" }, "returnParameters": { - "id": 5897, + "id": 6514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5896, + "id": 6513, "name": "", "nodeType": "VariableDeclaration", - "scope": 5910, - "src": "31366:4:21", + "scope": 6527, + "src": "32330:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20120,10 +20374,10 @@ "typeString": "bool" }, "typeName": { - "id": 5895, + "id": 6512, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "31366:4:21", + "src": "32330:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20133,47 +20387,47 @@ "visibility": "internal" } ], - "src": "31365:6:21" + "src": "32329:6:28" }, - "scope": 7812, - "src": "31296:187:21", + "scope": 8443, + "src": "32260:187:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5930, + "id": 6547, "nodeType": "Block", - "src": "31791:126:21", + "src": "32755:126:28", "statements": [ { "assignments": [ - 5920 + 6537 ], "declarations": [ { "constant": false, - "id": 5920, + "id": 6537, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5930, - "src": "31801:39:21", + "scope": 6547, + "src": "32765:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5919, + "id": 6536, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "31801:23:21", + "referencedDeclaration": 10646, + "src": "32765:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -20181,31 +20435,31 @@ "visibility": "internal" } ], - "id": 5924, + "id": 6541, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5921, + "id": 6538, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31843:8:21", + "referencedDeclaration": 5152, + "src": "32807:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5923, + "id": 6540, "indexExpression": { "argumentTypes": null, - "id": 5922, + "id": 6539, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5912, - "src": "31852:8:21", + "referencedDeclaration": 6529, + "src": "32816:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20216,31 +20470,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31843:18:21", + "src": "32807:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "31801:60:21" + "src": "32765:60:28" }, { "expression": { "argumentTypes": null, - "id": 5928, + "id": 6545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5925, + "id": 6542, "name": "timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5915, - "src": "31871:9:21", + "referencedDeclaration": 6532, + "src": "32835:9:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -20252,61 +20506,61 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5926, + "id": 6543, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5920, - "src": "31883:7:21", + "referencedDeclaration": 6537, + "src": "32847:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5927, + "id": 6544, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9558, - "src": "31883:27:21", + "referencedDeclaration": 10635, + "src": "32847:27:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "31871:39:21", + "src": "32835:39:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 5929, + "id": 6546, "nodeType": "ExpressionStatement", - "src": "31871:39:21" + "src": "32835:39:28" } ] }, "documentation": "@notice returns the timestamp of the last action on the reserve\n@param _reserve the reserve for which the information is needed\n@return the last updated timestamp of the reserve*", - "id": 5931, + "id": 6548, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLastUpdate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5913, + "id": 6530, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5912, + "id": 6529, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5931, - "src": "31732:16:21", + "scope": 6548, + "src": "32696:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20314,10 +20568,10 @@ "typeString": "address" }, "typeName": { - "id": 5911, + "id": 6528, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31732:7:21", + "src": "32696:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20328,19 +20582,19 @@ "visibility": "internal" } ], - "src": "31731:18:21" + "src": "32695:18:28" }, "returnParameters": { - "id": 5916, + "id": 6533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5915, + "id": 6532, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 5931, - "src": "31773:16:21", + "scope": 6548, + "src": "32737:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20348,10 +20602,10 @@ "typeString": "uint40" }, "typeName": { - "id": 5914, + "id": 6531, "name": "uint40", "nodeType": "ElementaryTypeName", - "src": "31773:6:21", + "src": "32737:6:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -20361,47 +20615,47 @@ "visibility": "internal" } ], - "src": "31772:18:21" + "src": "32736:18:28" }, - "scope": 7812, - "src": "31702:215:21", + "scope": 8443, + "src": "32666:215:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5973, + "id": 6590, "nodeType": "Block", - "src": "32199:355:21", + "src": "33163:355:28", "statements": [ { "assignments": [ - 5941 + 6558 ], "declarations": [ { "constant": false, - "id": 5941, + "id": 6558, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32209:39:21", + "scope": 6590, + "src": "33173:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5940, + "id": 6557, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "32209:23:21", + "referencedDeclaration": 10646, + "src": "33173:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -20409,31 +20663,31 @@ "visibility": "internal" } ], - "id": 5945, + "id": 6562, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5942, + "id": 6559, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "32251:8:21", + "referencedDeclaration": 5152, + "src": "33215:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5944, + "id": 6561, "indexExpression": { "argumentTypes": null, - "id": 5943, + "id": 6560, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "32260:8:21", + "referencedDeclaration": 6550, + "src": "33224:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20444,27 +20698,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32251:18:21", + "src": "33215:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "32209:60:21" + "src": "33173:60:28" }, { "assignments": [ - 5947 + 6564 ], "declarations": [ { "constant": false, - "id": 5947, + "id": 6564, "name": "totalBorrows", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32280:20:21", + "scope": 6590, + "src": "33244:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20472,10 +20726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5946, + "id": 6563, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32280:7:21", + "src": "33244:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20485,7 +20739,7 @@ "visibility": "internal" } ], - "id": 5951, + "id": 6568, "initialValue": { "argumentTypes": null, "arguments": [], @@ -20493,32 +20747,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5948, + "id": 6565, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "32303:7:21", + "referencedDeclaration": 6558, + "src": "33267:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5949, + "id": 6566, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "32303:23:21", + "referencedDeclaration": 11331, + "src": "33267:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5950, + "id": 6567, "isConstant": false, "isLValue": false, "isPure": false, @@ -20526,14 +20780,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32303:25:21", + "src": "33267:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32280:48:21" + "src": "33244:48:28" }, { "condition": { @@ -20542,19 +20796,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5954, + "id": 6571, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5952, + "id": 6569, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32343:12:21", + "referencedDeclaration": 6564, + "src": "33307:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20565,14 +20819,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5953, + "id": 6570, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32359:1:21", + "src": "33323:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -20580,33 +20834,33 @@ }, "value": "0" }, - "src": "32343:17:21", + "src": "33307:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5958, + "id": 6575, "nodeType": "IfStatement", - "src": "32339:56:21", + "src": "33303:56:28", "trueBody": { - "id": 5957, + "id": 6574, "nodeType": "Block", - "src": "32362:33:21", + "src": "33326:33:28", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 5955, + "id": 6572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32383:1:21", + "src": "33347:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -20614,26 +20868,26 @@ }, "value": "0" }, - "functionReturnParameters": 5937, - "id": 5956, + "functionReturnParameters": 6554, + "id": 6573, "nodeType": "Return", - "src": "32376:8:21" + "src": "33340:8:28" } ] } }, { "assignments": [ - 5960 + 6577 ], "declarations": [ { "constant": false, - "id": 5960, + "id": 6577, "name": "availableLiquidity", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32405:26:21", + "scope": 6590, + "src": "33369:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20641,10 +20895,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5959, + "id": 6576, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32405:7:21", + "src": "33369:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20654,18 +20908,18 @@ "visibility": "internal" } ], - "id": 5964, + "id": 6581, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5962, + "id": 6579, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "32463:8:21", + "referencedDeclaration": 6550, + "src": "33427:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20679,18 +20933,18 @@ "typeString": "address" } ], - "id": 5961, + "id": 6578, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "32434:28:21", + "referencedDeclaration": 6078, + "src": "33398:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 5963, + "id": 6580, "isConstant": false, "isLValue": false, "isPure": false, @@ -20698,14 +20952,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32434:38:21", + "src": "33398:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32405:67:21" + "src": "33369:67:28" }, { "expression": { @@ -20716,12 +20970,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5969, + "id": 6586, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32533:12:21", + "referencedDeclaration": 6564, + "src": "33497:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20737,32 +20991,32 @@ ], "expression": { "argumentTypes": null, - "id": 5967, + "id": 6584, "name": "availableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5960, - "src": "32510:18:21", + "referencedDeclaration": 6577, + "src": "33474:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5968, + "id": 6585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "32510:22:21", + "referencedDeclaration": 15070, + "src": "33474:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5970, + "id": 6587, "isConstant": false, "isLValue": false, "isPure": false, @@ -20770,7 +21024,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32510:36:21", + "src": "33474:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20786,32 +21040,32 @@ ], "expression": { "argumentTypes": null, - "id": 5965, + "id": 6582, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32490:12:21", + "referencedDeclaration": 6564, + "src": "33454:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5966, + "id": 6583, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "rayDiv", "nodeType": "MemberAccess", - "referencedDeclaration": 10419, - "src": "32490:19:21", + "referencedDeclaration": 11523, + "src": "33454:19:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5971, + "id": 6588, "isConstant": false, "isLValue": false, "isPure": false, @@ -20819,37 +21073,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32490:57:21", + "src": "33454:57:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5937, - "id": 5972, + "functionReturnParameters": 6554, + "id": 6589, "nodeType": "Return", - "src": "32483:64:21" + "src": "33447:64:28" } ] }, "documentation": "@dev returns the utilization rate U of a specific reserve\n@param _reserve the reserve for which the information is needed\n@return the utilization rate in ray*", - "id": 5974, + "id": 6591, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveUtilizationRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5934, + "id": 6551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5933, + "id": 6550, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5974, - "src": "32151:16:21", + "scope": 6591, + "src": "33115:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20857,10 +21111,10 @@ "typeString": "address" }, "typeName": { - "id": 5932, + "id": 6549, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32151:7:21", + "src": "33115:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20871,19 +21125,19 @@ "visibility": "internal" } ], - "src": "32150:18:21" + "src": "33114:18:28" }, "returnParameters": { - "id": 5937, + "id": 6554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5936, + "id": 6553, "name": "", "nodeType": "VariableDeclaration", - "scope": 5974, - "src": "32190:7:21", + "scope": 6591, + "src": "33154:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20891,10 +21145,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5935, + "id": 6552, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32190:7:21", + "src": "33154:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20904,65 +21158,65 @@ "visibility": "internal" } ], - "src": "32189:9:21" + "src": "33153:9:28" }, - "scope": 7812, - "src": "32116:438:21", + "scope": 8443, + "src": "33080:438:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5982, + "id": 6599, "nodeType": "Block", - "src": "32699:36:21", + "src": "33663:36:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5980, + "id": 6597, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "32716:12:21", + "referencedDeclaration": 5161, + "src": "33680:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 5979, - "id": 5981, + "functionReturnParameters": 6596, + "id": 6598, "nodeType": "Return", - "src": "32709:19:21" + "src": "33673:19:28" } ] }, "documentation": "@return the array of reserves configured on the core*", - "id": 5983, + "id": 6600, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserves", "nodeType": "FunctionDefinition", "parameters": { - "id": 5975, + "id": 6592, "nodeType": "ParameterList", "parameters": [], - "src": "32655:2:21" + "src": "33619:2:28" }, "returnParameters": { - "id": 5979, + "id": 6596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5978, + "id": 6595, "name": "", "nodeType": "VariableDeclaration", - "scope": 5983, - "src": "32681:16:21", + "scope": 6600, + "src": "33645:16:28", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -20971,20 +21225,20 @@ }, "typeName": { "baseType": { - "id": 5976, + "id": 6593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32681:7:21", + "src": "33645:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5977, + "id": 6594, "length": null, "nodeType": "ArrayTypeName", - "src": "32681:9:21", + "src": "33645:9:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -20994,47 +21248,47 @@ "visibility": "internal" } ], - "src": "32680:18:21" + "src": "33644:18:28" }, - "scope": 7812, - "src": "32635:100:21", + "scope": 8443, + "src": "33599:100:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6005, + "id": 6622, "nodeType": "Block", - "src": "33148:130:21", + "src": "34112:130:28", "statements": [ { "assignments": [ - 5995 + 6612 ], "declarations": [ { "constant": false, - "id": 5995, + "id": 6612, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6005, - "src": "33158:40:21", + "scope": 6622, + "src": "34122:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5994, + "id": 6611, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "33158:27:21", + "referencedDeclaration": 10605, + "src": "34122:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -21042,33 +21296,33 @@ "visibility": "internal" } ], - "id": 6001, + "id": 6618, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5996, + "id": 6613, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "33201:16:21", + "referencedDeclaration": 5158, + "src": "34165:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5998, + "id": 6615, "indexExpression": { "argumentTypes": null, - "id": 5997, + "id": 6614, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5987, - "src": "33218:5:21", + "referencedDeclaration": 6604, + "src": "34182:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21079,21 +21333,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33201:23:21", + "src": "34165:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6000, + "id": 6617, "indexExpression": { "argumentTypes": null, - "id": 5999, + "id": 6616, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5985, - "src": "33225:8:21", + "referencedDeclaration": 6602, + "src": "34189:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21104,70 +21358,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33201:33:21", + "src": "34165:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "33158:76:21" + "src": "34122:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6002, + "id": 6619, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "33251:4:21", + "referencedDeclaration": 6612, + "src": "34215:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6003, + "id": 6620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "33251:20:21", + "referencedDeclaration": 10604, + "src": "34215:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5991, - "id": 6004, + "functionReturnParameters": 6608, + "id": 6621, "nodeType": "Return", - "src": "33244:27:21" + "src": "34208:27:28" } ] }, "documentation": "@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return true if the user has chosen to use the reserve as collateral, false otherwise*", - "id": 6006, + "id": 6623, "implemented": true, "kind": "function", "modifiers": [], "name": "isUserUseReserveAsCollateralEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5988, + "id": 6605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5985, + "id": 6602, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33058:16:21", + "scope": 6623, + "src": "34022:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21175,10 +21429,10 @@ "typeString": "address" }, "typeName": { - "id": 5984, + "id": 6601, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33058:7:21", + "src": "34022:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21190,11 +21444,11 @@ }, { "constant": false, - "id": 5987, + "id": 6604, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33076:13:21", + "scope": 6623, + "src": "34040:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21202,10 +21456,10 @@ "typeString": "address" }, "typeName": { - "id": 5986, + "id": 6603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33076:7:21", + "src": "34040:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21216,19 +21470,19 @@ "visibility": "internal" } ], - "src": "33057:33:21" + "src": "34021:33:28" }, "returnParameters": { - "id": 5991, + "id": 6608, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5990, + "id": 6607, "name": "", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33138:4:21", + "scope": 6623, + "src": "34102:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21236,10 +21490,10 @@ "typeString": "bool" }, "typeName": { - "id": 5989, + "id": 6606, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "33138:4:21", + "src": "34102:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21249,47 +21503,47 @@ "visibility": "internal" } ], - "src": "33137:6:21" + "src": "34101:6:28" }, - "scope": 7812, - "src": "33013:265:21", + "scope": 8443, + "src": "33977:265:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6028, + "id": 6645, "nodeType": "Block", - "src": "33635:129:21", + "src": "34599:129:28", "statements": [ { "assignments": [ - 6018 + 6635 ], "declarations": [ { "constant": false, - "id": 6018, + "id": 6635, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6028, - "src": "33645:40:21", + "scope": 6645, + "src": "34609:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6017, + "id": 6634, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "33645:27:21", + "referencedDeclaration": 10605, + "src": "34609:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -21297,33 +21551,33 @@ "visibility": "internal" } ], - "id": 6024, + "id": 6641, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6019, + "id": 6636, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "33688:16:21", + "referencedDeclaration": 5158, + "src": "34652:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6021, + "id": 6638, "indexExpression": { "argumentTypes": null, - "id": 6020, + "id": 6637, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6010, - "src": "33705:5:21", + "referencedDeclaration": 6627, + "src": "34669:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21334,21 +21588,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33688:23:21", + "src": "34652:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6023, + "id": 6640, "indexExpression": { "argumentTypes": null, - "id": 6022, + "id": 6639, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6008, - "src": "33712:8:21", + "referencedDeclaration": 6625, + "src": "34676:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21359,70 +21613,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33688:33:21", + "src": "34652:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "33645:76:21" + "src": "34609:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6025, + "id": 6642, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "33738:4:21", + "referencedDeclaration": 6635, + "src": "34702:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6026, + "id": 6643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "33738:19:21", + "referencedDeclaration": 10598, + "src": "34702:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6014, - "id": 6027, + "functionReturnParameters": 6631, + "id": 6644, "nodeType": "Return", - "src": "33731:26:21" + "src": "34695:26:28" } ] }, "documentation": "@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the origination fee for the user*", - "id": 6029, + "id": 6646, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserOriginationFee", "nodeType": "FunctionDefinition", "parameters": { - "id": 6011, + "id": 6628, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6008, + "id": 6625, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33542:16:21", + "scope": 6646, + "src": "34506:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21430,10 +21684,10 @@ "typeString": "address" }, "typeName": { - "id": 6007, + "id": 6624, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33542:7:21", + "src": "34506:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21445,11 +21699,11 @@ }, { "constant": false, - "id": 6010, + "id": 6627, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33560:13:21", + "scope": 6646, + "src": "34524:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21457,10 +21711,10 @@ "typeString": "address" }, "typeName": { - "id": 6009, + "id": 6626, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33560:7:21", + "src": "34524:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21471,19 +21725,19 @@ "visibility": "internal" } ], - "src": "33541:33:21" + "src": "34505:33:28" }, "returnParameters": { - "id": 6014, + "id": 6631, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6013, + "id": 6630, "name": "", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33622:7:21", + "scope": 6646, + "src": "34586:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21491,10 +21745,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6012, + "id": 6629, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "33622:7:21", + "src": "34586:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21504,47 +21758,47 @@ "visibility": "internal" } ], - "src": "33621:9:21" + "src": "34585:9:28" }, - "scope": 7812, - "src": "33511:253:21", + "scope": 8443, + "src": "34475:253:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6070, + "id": 6687, "nodeType": "Block", - "src": "34223:363:21", + "src": "35187:363:28", "statements": [ { "assignments": [ - 6041 + 6658 ], "declarations": [ { "constant": false, - "id": 6041, + "id": 6658, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6070, - "src": "34233:40:21", + "scope": 6687, + "src": "35197:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6040, + "id": 6657, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "34233:27:21", + "referencedDeclaration": 10605, + "src": "35197:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -21552,33 +21806,33 @@ "visibility": "internal" } ], - "id": 6047, + "id": 6664, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6042, + "id": 6659, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "34276:16:21", + "referencedDeclaration": 5158, + "src": "35240:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6044, + "id": 6661, "indexExpression": { "argumentTypes": null, - "id": 6043, + "id": 6660, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6033, - "src": "34293:5:21", + "referencedDeclaration": 6650, + "src": "35257:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21589,21 +21843,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34276:23:21", + "src": "35240:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6046, + "id": 6663, "indexExpression": { "argumentTypes": null, - "id": 6045, + "id": 6662, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6031, - "src": "34300:8:21", + "referencedDeclaration": 6648, + "src": "35264:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21614,14 +21868,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34276:33:21", + "src": "35240:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "34233:76:21" + "src": "35197:76:28" }, { "condition": { @@ -21630,7 +21884,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6051, + "id": 6668, "isConstant": false, "isLValue": false, "isPure": false, @@ -21639,26 +21893,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6048, + "id": 6665, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "34324:4:21", + "referencedDeclaration": 6658, + "src": "35288:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6049, + "id": 6666, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "34324:27:21", + "referencedDeclaration": 10594, + "src": "35288:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21669,14 +21923,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6050, + "id": 6667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34355:1:21", + "src": "35319:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21684,20 +21938,20 @@ }, "value": "0" }, - "src": "34324:32:21", + "src": "35288:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6057, + "id": 6674, "nodeType": "IfStatement", - "src": "34320:103:21", + "src": "35284:103:28", "trueBody": { - "id": 6056, + "id": 6673, "nodeType": "Block", - "src": "34358:65:21", + "src": "35322:65:28", "statements": [ { "expression": { @@ -21706,32 +21960,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6052, + "id": 6669, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34379:11:21", + "referencedDeclaration": 11332, + "src": "35343:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6053, + "id": 6670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34379:28:21", + "referencedDeclaration": 10589, + "src": "35343:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6054, + "id": 6671, "isConstant": false, "isLValue": false, "isPure": true, @@ -21739,16 +21993,16 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34379:33:21", + "src": "35343:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 6037, - "id": 6055, + "functionReturnParameters": 6654, + "id": 6672, "nodeType": "Return", - "src": "34372:40:21" + "src": "35336:40:28" } ] } @@ -21762,7 +22016,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6061, + "id": 6678, "isConstant": false, "isLValue": false, "isPure": false, @@ -21771,26 +22025,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6058, + "id": 6675, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "34452:4:21", + "referencedDeclaration": 6658, + "src": "35416:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6059, + "id": 6676, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "34452:21:21", + "referencedDeclaration": 10600, + "src": "35416:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21801,14 +22055,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6060, + "id": 6677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34476:1:21", + "src": "35440:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21816,7 +22070,7 @@ }, "value": "0" }, - "src": "34452:25:21", + "src": "35416:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21828,32 +22082,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6065, + "id": 6682, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34542:11:21", + "referencedDeclaration": 11332, + "src": "35506:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6066, + "id": 6683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34542:28:21", + "referencedDeclaration": 10589, + "src": "35506:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6067, + "id": 6684, "isConstant": false, "isLValue": false, "isPure": true, @@ -21861,51 +22115,51 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34542:37:21", + "src": "35506:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 6068, + "id": 6685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "34452:127:21", + "src": "35416:127:28", "trueExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6062, + "id": 6679, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34492:11:21", + "referencedDeclaration": 11332, + "src": "35456:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6063, + "id": 6680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34492:28:21", + "referencedDeclaration": 10589, + "src": "35456:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6064, + "id": 6681, "isConstant": false, "isLValue": false, "isPure": true, @@ -21913,42 +22167,42 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34492:35:21", + "src": "35456:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 6037, - "id": 6069, + "functionReturnParameters": 6654, + "id": 6686, "nodeType": "Return", - "src": "34433:146:21" + "src": "35397:146:28" } ] }, "documentation": "@dev users with no loans in progress have NONE as borrow rate mode\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the borrow rate mode for the user,*", - "id": 6071, + "id": 6688, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentBorrowRateMode", "nodeType": "FunctionDefinition", "parameters": { - "id": 6034, + "id": 6651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6031, + "id": 6648, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34111:16:21", + "scope": 6688, + "src": "35075:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21956,10 +22210,10 @@ "typeString": "address" }, "typeName": { - "id": 6030, + "id": 6647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34111:7:21", + "src": "35075:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21971,11 +22225,11 @@ }, { "constant": false, - "id": 6033, + "id": 6650, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34129:13:21", + "scope": 6688, + "src": "35093:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21983,10 +22237,10 @@ "typeString": "address" }, "typeName": { - "id": 6032, + "id": 6649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34129:7:21", + "src": "35093:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21997,34 +22251,34 @@ "visibility": "internal" } ], - "src": "34110:33:21" + "src": "35074:33:28" }, "returnParameters": { - "id": 6037, + "id": 6654, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6036, + "id": 6653, "name": "", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34189:28:21", + "scope": 6688, + "src": "35153:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6035, + "id": 6652, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "34189:28:21", + "referencedDeclaration": 10589, + "src": "35153:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -22032,47 +22286,47 @@ "visibility": "internal" } ], - "src": "34188:30:21" + "src": "35152:30:28" }, - "scope": 7812, - "src": "34073:513:21", + "scope": 8443, + "src": "35037:513:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 6115, + "id": 6732, "nodeType": "Block", - "src": "34995:397:21", + "src": "35959:397:28", "statements": [ { "assignments": [ - 6083 + 6700 ], "declarations": [ { "constant": false, - "id": 6083, + "id": 6700, "name": "rateMode", "nodeType": "VariableDeclaration", - "scope": 6115, - "src": "35005:37:21", + "scope": 6732, + "src": "35969:37:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6082, + "id": 6699, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "35005:28:21", + "referencedDeclaration": 10589, + "src": "35969:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -22080,18 +22334,18 @@ "visibility": "internal" } ], - "id": 6088, + "id": 6705, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6085, + "id": 6702, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35074:8:21", + "referencedDeclaration": 6690, + "src": "36038:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22099,12 +22353,12 @@ }, { "argumentTypes": null, - "id": 6086, + "id": 6703, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6075, - "src": "35084:5:21", + "referencedDeclaration": 6692, + "src": "36048:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22122,18 +22376,18 @@ "typeString": "address" } ], - "id": 6084, + "id": 6701, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "35045:28:21", + "referencedDeclaration": 6688, + "src": "36009:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 6087, + "id": 6704, "isConstant": false, "isLValue": false, "isPure": false, @@ -22141,37 +22395,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35045:45:21", + "src": "36009:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "35005:85:21" + "src": "35969:85:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6093, + "id": 6710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6089, + "id": 6706, "name": "rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "35105:8:21", + "referencedDeclaration": 6700, + "src": "36069:8:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -22183,32 +22437,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6090, + "id": 6707, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "35117:11:21", + "referencedDeclaration": 11332, + "src": "36081:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6091, + "id": 6708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "35117:28:21", + "referencedDeclaration": 10589, + "src": "36081:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6092, + "id": 6709, "isConstant": false, "isLValue": false, "isPure": true, @@ -22216,39 +22470,39 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "35117:33:21", + "src": "36081:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "35105:45:21", + "src": "36069:45:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6097, + "id": 6714, "nodeType": "IfStatement", - "src": "35101:84:21", + "src": "36065:84:28", "trueBody": { - "id": 6096, + "id": 6713, "nodeType": "Block", - "src": "35152:33:21", + "src": "36116:33:28", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6094, + "id": 6711, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35173:1:21", + "src": "36137:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22256,10 +22510,10 @@ }, "value": "0" }, - "functionReturnParameters": 6079, - "id": 6095, + "functionReturnParameters": 6696, + "id": 6712, "nodeType": "Return", - "src": "35166:8:21" + "src": "36130:8:28" } ] } @@ -22270,24 +22524,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6102, + "id": 6719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6098, + "id": 6715, "name": "rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "35214:8:21", + "referencedDeclaration": 6700, + "src": "36178:8:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -22299,32 +22553,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6099, + "id": 6716, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "35226:11:21", + "referencedDeclaration": 11332, + "src": "36190:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6100, + "id": 6717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "35226:28:21", + "referencedDeclaration": 10589, + "src": "36190:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6101, + "id": 6718, "isConstant": false, "isLValue": false, "isPure": true, @@ -22332,13 +22586,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "35226:35:21", + "src": "36190:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "35214:47:21", + "src": "36178:47:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22350,26 +22604,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6109, + "id": 6726, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "35341:8:21", + "referencedDeclaration": 5152, + "src": "36305:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6111, + "id": 6728, "indexExpression": { "argumentTypes": null, - "id": 6110, + "id": 6727, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35350:8:21", + "referencedDeclaration": 6690, + "src": "36314:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22380,33 +22634,33 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35341:18:21", + "src": "36305:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6112, + "id": 6729, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "35341:44:21", + "referencedDeclaration": 10615, + "src": "36305:44:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6113, + "id": 6730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "35214:171:21", + "src": "36178:171:28", "trueExpression": { "argumentTypes": null, "expression": { @@ -22415,26 +22669,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6103, + "id": 6720, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "35276:16:21", + "referencedDeclaration": 5158, + "src": "36240:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6105, + "id": 6722, "indexExpression": { "argumentTypes": null, - "id": 6104, + "id": 6721, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6075, - "src": "35293:5:21", + "referencedDeclaration": 6692, + "src": "36257:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22445,21 +22699,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35276:23:21", + "src": "36240:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6107, + "id": 6724, "indexExpression": { "argumentTypes": null, - "id": 6106, + "id": 6723, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35300:8:21", + "referencedDeclaration": 6690, + "src": "36264:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22470,21 +22724,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35276:33:21", + "src": "36240:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, - "id": 6108, + "id": 6725, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "35276:50:21", + "referencedDeclaration": 10600, + "src": "36240:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22495,31 +22749,31 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6079, - "id": 6114, + "functionReturnParameters": 6696, + "id": 6731, "nodeType": "Return", - "src": "35195:190:21" + "src": "36159:190:28" } ] }, "documentation": "@dev gets the current borrow rate of the user\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the borrow rate for the user,*", - "id": 6116, + "id": 6733, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6076, + "id": 6693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6073, + "id": 6690, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34902:16:21", + "scope": 6733, + "src": "35866:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22527,10 +22781,10 @@ "typeString": "address" }, "typeName": { - "id": 6072, + "id": 6689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34902:7:21", + "src": "35866:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22542,11 +22796,11 @@ }, { "constant": false, - "id": 6075, + "id": 6692, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34920:13:21", + "scope": 6733, + "src": "35884:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22554,10 +22808,10 @@ "typeString": "address" }, "typeName": { - "id": 6074, + "id": 6691, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34920:7:21", + "src": "35884:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22568,19 +22822,19 @@ "visibility": "internal" } ], - "src": "34901:33:21" + "src": "35865:33:28" }, "returnParameters": { - "id": 6079, + "id": 6696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6078, + "id": 6695, "name": "", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34982:7:21", + "scope": 6733, + "src": "35946:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22588,10 +22842,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6077, + "id": 6694, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34982:7:21", + "src": "35946:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22601,47 +22855,47 @@ "visibility": "internal" } ], - "src": "34981:9:21" + "src": "35945:9:28" }, - "scope": 7812, - "src": "34868:524:21", + "scope": 8443, + "src": "35832:524:28", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6138, + "id": 6755, "nodeType": "Block", - "src": "35848:131:21", + "src": "36812:131:28", "statements": [ { "assignments": [ - 6128 + 6745 ], "declarations": [ { "constant": false, - "id": 6128, + "id": 6745, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6138, - "src": "35858:40:21", + "scope": 6755, + "src": "36822:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6127, + "id": 6744, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "35858:27:21", + "referencedDeclaration": 10605, + "src": "36822:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -22649,33 +22903,33 @@ "visibility": "internal" } ], - "id": 6134, + "id": 6751, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6129, + "id": 6746, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "35901:16:21", + "referencedDeclaration": 5158, + "src": "36865:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6131, + "id": 6748, "indexExpression": { "argumentTypes": null, - "id": 6130, + "id": 6747, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "35918:5:21", + "referencedDeclaration": 6737, + "src": "36882:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22686,21 +22940,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35901:23:21", + "src": "36865:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6133, + "id": 6750, "indexExpression": { "argumentTypes": null, - "id": 6132, + "id": 6749, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6118, - "src": "35925:8:21", + "referencedDeclaration": 6735, + "src": "36889:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22711,70 +22965,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35901:33:21", + "src": "36865:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "35858:76:21" + "src": "36822:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6135, + "id": 6752, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "35951:4:21", + "referencedDeclaration": 6745, + "src": "36915:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6136, + "id": 6753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "35951:21:21", + "referencedDeclaration": 10600, + "src": "36915:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6124, - "id": 6137, + "functionReturnParameters": 6741, + "id": 6754, "nodeType": "Return", - "src": "35944:28:21" + "src": "36908:28:28" } ] }, "documentation": "@dev the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the user stable rate*", - "id": 6139, + "id": 6756, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6121, + "id": 6738, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6118, + "id": 6735, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35755:16:21", + "scope": 6756, + "src": "36719:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22782,10 +23036,10 @@ "typeString": "address" }, "typeName": { - "id": 6117, + "id": 6734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35755:7:21", + "src": "36719:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22797,11 +23051,11 @@ }, { "constant": false, - "id": 6120, + "id": 6737, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35773:13:21", + "scope": 6756, + "src": "36737:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22809,10 +23063,10 @@ "typeString": "address" }, "typeName": { - "id": 6119, + "id": 6736, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35773:7:21", + "src": "36737:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22823,19 +23077,19 @@ "visibility": "internal" } ], - "src": "35754:33:21" + "src": "36718:33:28" }, "returnParameters": { - "id": 6124, + "id": 6741, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6123, + "id": 6740, "name": "", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35835:7:21", + "scope": 6756, + "src": "36799:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22843,10 +23097,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6122, + "id": 6739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35835:7:21", + "src": "36799:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22856,47 +23110,47 @@ "visibility": "internal" } ], - "src": "35834:9:21" + "src": "36798:9:28" }, - "scope": 7812, - "src": "35715:264:21", + "scope": 8443, + "src": "36679:264:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6196, + "id": 6813, "nodeType": "Block", - "src": "36435:456:21", + "src": "37399:456:28", "statements": [ { "assignments": [ - 6155 + 6772 ], "declarations": [ { "constant": false, - "id": 6155, + "id": 6772, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36445:40:21", + "scope": 6813, + "src": "37409:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6154, + "id": 6771, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "36445:27:21", + "referencedDeclaration": 10605, + "src": "37409:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -22904,33 +23158,33 @@ "visibility": "internal" } ], - "id": 6161, + "id": 6778, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6156, + "id": 6773, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "36488:16:21", + "referencedDeclaration": 5158, + "src": "37452:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6158, + "id": 6775, "indexExpression": { "argumentTypes": null, - "id": 6157, + "id": 6774, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6143, - "src": "36505:5:21", + "referencedDeclaration": 6760, + "src": "37469:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22941,21 +23195,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36488:23:21", + "src": "37452:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6160, + "id": 6777, "indexExpression": { "argumentTypes": null, - "id": 6159, + "id": 6776, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, - "src": "36512:8:21", + "referencedDeclaration": 6758, + "src": "37476:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22966,14 +23220,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36488:33:21", + "src": "37452:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "36445:76:21" + "src": "37409:76:28" }, { "condition": { @@ -22982,7 +23236,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6165, + "id": 6782, "isConstant": false, "isLValue": false, "isPure": false, @@ -22991,26 +23245,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6162, + "id": 6779, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36535:4:21", + "referencedDeclaration": 6772, + "src": "37499:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6163, + "id": 6780, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "36535:27:21", + "referencedDeclaration": 10594, + "src": "37499:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23021,14 +23275,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6164, + "id": 6781, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36566:1:21", + "src": "37530:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23036,20 +23290,20 @@ }, "value": "0" }, - "src": "36535:32:21", + "src": "37499:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6172, + "id": 6789, "nodeType": "IfStatement", - "src": "36531:79:21", + "src": "37495:79:28", "trueBody": { - "id": 6171, + "id": 6788, "nodeType": "Block", - "src": "36569:41:21", + "src": "37533:41:28", "statements": [ { "expression": { @@ -23058,14 +23312,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6166, + "id": 6783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36591:1:21", + "src": "37555:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23076,14 +23330,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6167, + "id": 6784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36594:1:21", + "src": "37558:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23094,14 +23348,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6168, + "id": 6785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36597:1:21", + "src": "37561:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23110,39 +23364,39 @@ "value": "0" } ], - "id": 6169, + "id": 6786, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "36590:9:21", + "src": "37554:9:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0,int_const 0)" } }, - "functionReturnParameters": 6151, - "id": 6170, + "functionReturnParameters": 6768, + "id": 6787, "nodeType": "Return", - "src": "36583:16:21" + "src": "37547:16:28" } ] } }, { "assignments": [ - 6174 + 6791 ], "declarations": [ { "constant": false, - "id": 6174, + "id": 6791, "name": "principal", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36620:17:21", + "scope": 6813, + "src": "37584:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23150,10 +23404,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6173, + "id": 6790, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36620:7:21", + "src": "37584:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23163,51 +23417,51 @@ "visibility": "internal" } ], - "id": 6177, + "id": 6794, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6175, + "id": 6792, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36640:4:21", + "referencedDeclaration": 6772, + "src": "37604:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6176, + "id": 6793, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "36640:27:21", + "referencedDeclaration": 10594, + "src": "37604:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "36620:47:21" + "src": "37584:47:28" }, { "assignments": [ - 6179 + 6796 ], "declarations": [ { "constant": false, - "id": 6179, + "id": 6796, "name": "compoundedBalance", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36677:25:21", + "scope": 6813, + "src": "37641:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23215,10 +23469,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6178, + "id": 6795, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36677:7:21", + "src": "37641:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23228,20 +23482,20 @@ "visibility": "internal" } ], - "id": 6187, + "id": 6804, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6182, + "id": 6799, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36757:4:21", + "referencedDeclaration": 6772, + "src": "37721:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, @@ -23249,26 +23503,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6183, + "id": 6800, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "36775:8:21", + "referencedDeclaration": 5152, + "src": "37739:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6185, + "id": 6802, "indexExpression": { "argumentTypes": null, - "id": 6184, + "id": 6801, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, - "src": "36784:8:21", + "referencedDeclaration": 6758, + "src": "37748:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23279,9 +23533,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36775:18:21", + "src": "37739:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } } @@ -23289,42 +23543,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" }, { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } ], "expression": { "argumentTypes": null, - "id": 6180, + "id": 6797, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "36705:11:21", + "referencedDeclaration": 11332, + "src": "37669:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6181, + "id": 6798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getCompoundedBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9971, - "src": "36705:38:21", + "referencedDeclaration": 11048, + "src": "37669:38:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$9528_storage_ptr_$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$10605_storage_ptr_$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct CoreLibrary.UserReserveData storage pointer,struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 6186, + "id": 6803, "isConstant": false, "isLValue": false, "isPure": false, @@ -23332,14 +23586,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "36705:98:21", + "src": "37669:98:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "36677:126:21" + "src": "37641:126:28" }, { "expression": { @@ -23347,12 +23601,12 @@ "components": [ { "argumentTypes": null, - "id": 6188, + "id": 6805, "name": "principal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, - "src": "36821:9:21", + "referencedDeclaration": 6791, + "src": "37785:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23360,12 +23614,12 @@ }, { "argumentTypes": null, - "id": 6189, + "id": 6806, "name": "compoundedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "36832:17:21", + "referencedDeclaration": 6796, + "src": "37796:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23376,12 +23630,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6192, + "id": 6809, "name": "principal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, - "src": "36873:9:21", + "referencedDeclaration": 6791, + "src": "37837:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23397,32 +23651,32 @@ ], "expression": { "argumentTypes": null, - "id": 6190, + "id": 6807, "name": "compoundedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "36851:17:21", + "referencedDeclaration": 6796, + "src": "37815:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6191, + "id": 6808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "36851:21:21", + "referencedDeclaration": 15095, + "src": "37815:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6193, + "id": 6810, "isConstant": false, "isLValue": false, "isPure": false, @@ -23430,51 +23684,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "36851:32:21", + "src": "37815:32:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 6194, + "id": 6811, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "36820:64:21", + "src": "37784:64:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, - "functionReturnParameters": 6151, - "id": 6195, + "functionReturnParameters": 6768, + "id": 6812, "nodeType": "Return", - "src": "36813:71:21" + "src": "37777:71:28" } ] }, "documentation": "@dev calculates and returns the borrow balances of the user\n@param _reserve the address of the reserve\n@param _user the address of the user\n@return the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance*", - "id": 6197, + "id": 6814, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserBorrowBalances", "nodeType": "FunctionDefinition", "parameters": { - "id": 6144, + "id": 6761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6141, + "id": 6758, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36326:16:21", + "scope": 6814, + "src": "37290:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23482,10 +23736,10 @@ "typeString": "address" }, "typeName": { - "id": 6140, + "id": 6757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36326:7:21", + "src": "37290:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23497,11 +23751,11 @@ }, { "constant": false, - "id": 6143, + "id": 6760, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36344:13:21", + "scope": 6814, + "src": "37308:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23509,10 +23763,10 @@ "typeString": "address" }, "typeName": { - "id": 6142, + "id": 6759, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36344:7:21", + "src": "37308:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23523,19 +23777,19 @@ "visibility": "internal" } ], - "src": "36325:33:21" + "src": "37289:33:28" }, "returnParameters": { - "id": 6151, + "id": 6768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6146, + "id": 6763, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36404:7:21", + "scope": 6814, + "src": "37368:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23543,10 +23797,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6145, + "id": 6762, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36404:7:21", + "src": "37368:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23557,11 +23811,11 @@ }, { "constant": false, - "id": 6148, + "id": 6765, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36413:7:21", + "scope": 6814, + "src": "37377:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23569,10 +23823,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6147, + "id": 6764, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36413:7:21", + "src": "37377:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23583,11 +23837,11 @@ }, { "constant": false, - "id": 6150, + "id": 6767, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36422:7:21", + "scope": 6814, + "src": "37386:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23595,10 +23849,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6149, + "id": 6766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36422:7:21", + "src": "37386:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23608,47 +23862,47 @@ "visibility": "internal" } ], - "src": "36403:27:21" + "src": "37367:27:28" }, - "scope": 7812, - "src": "36295:596:21", + "scope": 8443, + "src": "37259:596:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 6219, + "id": 6836, "nodeType": "Block", - "src": "37376:148:21", + "src": "38340:148:28", "statements": [ { "assignments": [ - 6209 + 6826 ], "declarations": [ { "constant": false, - "id": 6209, + "id": 6826, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6219, - "src": "37386:40:21", + "scope": 6836, + "src": "38350:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6208, + "id": 6825, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "37386:27:21", + "referencedDeclaration": 10605, + "src": "38350:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -23656,33 +23910,33 @@ "visibility": "internal" } ], - "id": 6215, + "id": 6832, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6210, + "id": 6827, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "37429:16:21", + "referencedDeclaration": 5158, + "src": "38393:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6212, + "id": 6829, "indexExpression": { "argumentTypes": null, - "id": 6211, + "id": 6828, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "37446:5:21", + "referencedDeclaration": 6818, + "src": "38410:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23693,21 +23947,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "37429:23:21", + "src": "38393:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6214, + "id": 6831, "indexExpression": { "argumentTypes": null, - "id": 6213, + "id": 6830, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6199, - "src": "37453:8:21", + "referencedDeclaration": 6816, + "src": "38417:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23718,70 +23972,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "37429:33:21", + "src": "38393:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "37386:76:21" + "src": "38350:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6216, + "id": 6833, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6209, - "src": "37479:4:21", + "referencedDeclaration": 6826, + "src": "38443:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6217, + "id": 6834, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "37479:38:21", + "referencedDeclaration": 10596, + "src": "38443:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6205, - "id": 6218, + "functionReturnParameters": 6822, + "id": 6835, "nodeType": "Return", - "src": "37472:45:21" + "src": "38436:45:28" } ] }, "documentation": "@dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the variable borrow index for the user*", - "id": 6220, + "id": 6837, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserVariableBorrowCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 6202, + "id": 6819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6199, + "id": 6816, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37283:16:21", + "scope": 6837, + "src": "38247:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23789,10 +24043,10 @@ "typeString": "address" }, "typeName": { - "id": 6198, + "id": 6815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37283:7:21", + "src": "38247:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23804,11 +24058,11 @@ }, { "constant": false, - "id": 6201, + "id": 6818, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37301:13:21", + "scope": 6837, + "src": "38265:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23816,10 +24070,10 @@ "typeString": "address" }, "typeName": { - "id": 6200, + "id": 6817, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37301:7:21", + "src": "38265:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23830,19 +24084,19 @@ "visibility": "internal" } ], - "src": "37282:33:21" + "src": "38246:33:28" }, "returnParameters": { - "id": 6205, + "id": 6822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6204, + "id": 6821, "name": "", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37363:7:21", + "scope": 6837, + "src": "38327:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23850,10 +24104,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6203, + "id": 6820, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37363:7:21", + "src": "38327:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23863,47 +24117,47 @@ "visibility": "internal" } ], - "src": "37362:9:21" + "src": "38326:9:28" }, - "scope": 7812, - "src": "37237:287:21", + "scope": 8443, + "src": "38201:287:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6244, + "id": 6861, "nodeType": "Block", - "src": "38000:139:21", + "src": "38964:139:28", "statements": [ { "assignments": [ - 6232 + 6849 ], "declarations": [ { "constant": false, - "id": 6232, + "id": 6849, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6244, - "src": "38010:40:21", + "scope": 6861, + "src": "38974:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6231, + "id": 6848, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "38010:27:21", + "referencedDeclaration": 10605, + "src": "38974:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -23911,33 +24165,33 @@ "visibility": "internal" } ], - "id": 6238, + "id": 6855, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6233, + "id": 6850, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "38053:16:21", + "referencedDeclaration": 5158, + "src": "39017:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6235, + "id": 6852, "indexExpression": { "argumentTypes": null, - "id": 6234, + "id": 6851, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "38070:5:21", + "referencedDeclaration": 6841, + "src": "39034:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23948,21 +24202,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38053:23:21", + "src": "39017:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6237, + "id": 6854, "indexExpression": { "argumentTypes": null, - "id": 6236, + "id": 6853, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "38077:8:21", + "referencedDeclaration": 6839, + "src": "39041:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23973,31 +24227,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38053:33:21", + "src": "39017:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "38010:76:21" + "src": "38974:76:28" }, { "expression": { "argumentTypes": null, - "id": 6242, + "id": 6859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6239, + "id": 6856, "name": "timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6227, - "src": "38096:9:21", + "referencedDeclaration": 6844, + "src": "39060:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24009,61 +24263,61 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6240, + "id": 6857, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6232, - "src": "38108:4:21", + "referencedDeclaration": 6849, + "src": "39072:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6241, + "id": 6858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "38108:24:21", + "referencedDeclaration": 10602, + "src": "39072:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "38096:36:21", + "src": "39060:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6243, + "id": 6860, "nodeType": "ExpressionStatement", - "src": "38096:36:21" + "src": "39060:36:28" } ] }, "documentation": "@dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the variable borrow index for the user*", - "id": 6245, + "id": 6862, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserLastUpdate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6225, + "id": 6842, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6222, + "id": 6839, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37897:16:21", + "scope": 6862, + "src": "38861:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24071,10 +24325,10 @@ "typeString": "address" }, "typeName": { - "id": 6221, + "id": 6838, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37897:7:21", + "src": "38861:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24086,11 +24340,11 @@ }, { "constant": false, - "id": 6224, + "id": 6841, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37915:13:21", + "scope": 6862, + "src": "38879:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24098,10 +24352,10 @@ "typeString": "address" }, "typeName": { - "id": 6223, + "id": 6840, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37915:7:21", + "src": "38879:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24112,19 +24366,19 @@ "visibility": "internal" } ], - "src": "37896:33:21" + "src": "38860:33:28" }, "returnParameters": { - "id": 6228, + "id": 6845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6227, + "id": 6844, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37977:17:21", + "scope": 6862, + "src": "38941:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24132,10 +24386,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6226, + "id": 6843, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37977:7:21", + "src": "38941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24145,19 +24399,19 @@ "visibility": "internal" } ], - "src": "37976:19:21" + "src": "38940:19:28" }, - "scope": 7812, - "src": "37870:269:21", + "scope": 8443, + "src": "38834:269:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6253, + "id": 6870, "nodeType": "Block", - "src": "38285:40:21", + "src": "39249:40:28", "statements": [ { "expression": { @@ -24165,18 +24419,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6250, + "id": 6867, "name": "refreshConfigInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "38295:21:21", + "referencedDeclaration": 8400, + "src": "39259:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 6251, + "id": 6868, "isConstant": false, "isLValue": false, "isPure": false, @@ -24184,68 +24438,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38295:23:21", + "src": "39259:23:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6252, + "id": 6869, "nodeType": "ExpressionStatement", - "src": "38295:23:21" + "src": "39259:23:28" } ] }, "documentation": "@dev updates the lending pool core configuration*", - "id": 6254, + "id": 6871, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6248, + "id": 6865, "modifierName": { "argumentTypes": null, - "id": 6247, + "id": 6864, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "38257:27:21", + "referencedDeclaration": 5148, + "src": "39221:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "38257:27:21" + "src": "39221:27:28" } ], "name": "refreshConfiguration", "nodeType": "FunctionDefinition", "parameters": { - "id": 6246, + "id": 6863, "nodeType": "ParameterList", "parameters": [], - "src": "38245:2:21" + "src": "39209:2:28" }, "returnParameters": { - "id": 6249, + "id": 6866, "nodeType": "ParameterList", "parameters": [], - "src": "38285:0:21" + "src": "39249:0:28" }, - "scope": 7812, - "src": "38216:109:21", + "scope": 8443, + "src": "39180:109:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6280, + "id": 6897, "nodeType": "Block", - "src": "38850:142:21", + "src": "39814:142:28", "statements": [ { "expression": { @@ -24253,12 +24507,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6271, + "id": 6888, "name": "_aTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "38884:14:21", + "referencedDeclaration": 6875, + "src": "39848:14:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24266,12 +24520,12 @@ }, { "argumentTypes": null, - "id": 6272, + "id": 6889, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "38900:9:21", + "referencedDeclaration": 6877, + "src": "39864:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24279,12 +24533,12 @@ }, { "argumentTypes": null, - "id": 6273, + "id": 6890, "name": "_interestRateStrategyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "38911:28:21", + "referencedDeclaration": 6879, + "src": "39875:28:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24310,26 +24564,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6267, + "id": 6884, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "38860:8:21", + "referencedDeclaration": 5152, + "src": "39824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6269, + "id": 6886, "indexExpression": { "argumentTypes": null, - "id": 6268, + "id": 6885, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "38869:8:21", + "referencedDeclaration": 6873, + "src": "39833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24340,27 +24594,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38860:18:21", + "src": "39824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6270, + "id": 6887, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 9767, - "src": "38860:23:21", + "referencedDeclaration": 10844, + "src": "39824:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_address_$_t_uint256_$_t_address_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_address_$_t_uint256_$_t_address_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,address,uint256,address)" } }, - "id": 6274, + "id": 6891, "isConstant": false, "isLValue": false, "isPure": false, @@ -24368,15 +24622,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38860:80:21", + "src": "39824:80:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6275, + "id": 6892, "nodeType": "ExpressionStatement", - "src": "38860:80:21" + "src": "39824:80:28" }, { "expression": { @@ -24384,12 +24638,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6277, + "id": 6894, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "38975:8:21", + "referencedDeclaration": 6873, + "src": "39939:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24403,18 +24657,18 @@ "typeString": "address" } ], - "id": 6276, + "id": 6893, "name": "addReserveToListInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, - "src": "38950:24:21", + "referencedDeclaration": 8442, + "src": "39914:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 6278, + "id": 6895, "isConstant": false, "isLValue": false, "isPure": false, @@ -24422,56 +24676,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38950:34:21", + "src": "39914:34:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6279, + "id": 6896, "nodeType": "ExpressionStatement", - "src": "38950:34:21" + "src": "39914:34:28" } ] }, "documentation": "@dev initializes a reserve\n@param _reserve the address of the reserve\n@param _aTokenAddress the address of the overlying aToken contract\n@param _decimals the decimals of the reserve currency\n@param _interestRateStrategyAddress the address of the interest rate strategy contract*", - "id": 6281, + "id": 6898, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6265, + "id": 6882, "modifierName": { "argumentTypes": null, - "id": 6264, + "id": 6881, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "38822:27:21", + "referencedDeclaration": 5148, + "src": "39786:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "38822:27:21" + "src": "39786:27:28" } ], "name": "initReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6263, + "id": 6880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6256, + "id": 6873, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38685:16:21", + "scope": 6898, + "src": "39649:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24479,10 +24733,10 @@ "typeString": "address" }, "typeName": { - "id": 6255, + "id": 6872, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38685:7:21", + "src": "39649:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24494,11 +24748,11 @@ }, { "constant": false, - "id": 6258, + "id": 6875, "name": "_aTokenAddress", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38711:22:21", + "scope": 6898, + "src": "39675:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24506,10 +24760,10 @@ "typeString": "address" }, "typeName": { - "id": 6257, + "id": 6874, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38711:7:21", + "src": "39675:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24521,11 +24775,11 @@ }, { "constant": false, - "id": 6260, + "id": 6877, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38743:17:21", + "scope": 6898, + "src": "39707:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24533,10 +24787,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6259, + "id": 6876, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38743:7:21", + "src": "39707:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24547,11 +24801,11 @@ }, { "constant": false, - "id": 6262, + "id": 6879, "name": "_interestRateStrategyAddress", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38770:36:21", + "scope": 6898, + "src": "39734:36:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24559,10 +24813,10 @@ "typeString": "address" }, "typeName": { - "id": 6261, + "id": 6878, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38770:7:21", + "src": "39734:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24573,38 +24827,38 @@ "visibility": "internal" } ], - "src": "38675:137:21" + "src": "39639:137:28" }, "returnParameters": { - "id": 6266, + "id": 6883, "nodeType": "ParameterList", "parameters": [], - "src": "38850:0:21" + "src": "39814:0:28" }, - "scope": 7812, - "src": "38655:337:21", + "scope": 8443, + "src": "39619:337:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6399, + "id": 7016, "nodeType": "Block", - "src": "39241:1119:21", + "src": "40205:1119:28", "statements": [ { "assignments": [ - 6289 + 6906 ], "declarations": [ { "constant": false, - "id": 6289, + "id": 6906, "name": "lastReserve", "nodeType": "VariableDeclaration", - "scope": 6399, - "src": "39252:19:21", + "scope": 7016, + "src": "40216:19:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,10 +24866,10 @@ "typeString": "address" }, "typeName": { - "id": 6288, + "id": 6905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "39252:7:21", + "src": "40216:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24626,30 +24880,30 @@ "visibility": "internal" } ], - "id": 6296, + "id": 6913, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6290, + "id": 6907, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "39274:12:21", + "referencedDeclaration": 5161, + "src": "40238:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6295, + "id": 6912, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6294, + "id": 6911, "isConstant": false, "isLValue": false, "isPure": false, @@ -24658,18 +24912,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6291, + "id": 6908, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "39287:12:21", + "referencedDeclaration": 5161, + "src": "40251:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6292, + "id": 6909, "isConstant": false, "isLValue": true, "isPure": false, @@ -24677,7 +24931,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "39287:19:21", + "src": "40251:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24688,14 +24942,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 6293, + "id": 6910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39307:1:21", + "src": "40271:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -24703,7 +24957,7 @@ }, "value": "1" }, - "src": "39287:21:21", + "src": "40251:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24714,14 +24968,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39274:35:21", + "src": "40238:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "39252:57:21" + "src": "40216:57:28" }, { "expression": { @@ -24733,19 +24987,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6300, + "id": 6917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6298, + "id": 6915, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39328:11:21", + "referencedDeclaration": 6906, + "src": "40292:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24755,18 +25009,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 6299, + "id": 6916, "name": "_reserveToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6283, - "src": "39343:16:21", + "referencedDeclaration": 6900, + "src": "40307:16:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "39328:31:21", + "src": "40292:31:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24775,14 +25029,14 @@ { "argumentTypes": null, "hexValue": "52657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564", - "id": 6301, + "id": 6918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "39361:63:21", + "src": "40325:63:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c0b6cdd61c28de3a628d98193f9e168aa53c38e12634d9f7c75ba59a840674f", @@ -24802,21 +25056,21 @@ "typeString": "literal_string \"Reserve being removed is different than the reserve requested\"" } ], - "id": 6297, + "id": 6914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "39320:7:21", + "referencedDeclaration": 16131, + "src": "40284:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6302, + "id": 6919, "isConstant": false, "isLValue": false, "isPure": false, @@ -24824,15 +25078,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39320:105:21", + "src": "40284:105:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6303, + "id": 6920, "nodeType": "ExpressionStatement", - "src": "39320:105:21" + "src": "40284:105:28" }, { "expression": { @@ -24844,7 +25098,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6309, + "id": 6926, "isConstant": false, "isLValue": false, "isPure": false, @@ -24854,12 +25108,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6306, + "id": 6923, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39615:11:21", + "referencedDeclaration": 6906, + "src": "40579:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24873,18 +25127,18 @@ "typeString": "address" } ], - "id": 6305, + "id": 6922, "name": "getReserveTotalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5520, - "src": "39592:22:21", + "referencedDeclaration": 6137, + "src": "40556:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 6307, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": false, @@ -24892,7 +25146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39592:35:21", + "src": "40556:35:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24903,14 +25157,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6308, + "id": 6925, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39631:1:21", + "src": "40595:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24918,7 +25172,7 @@ }, "value": "0" }, - "src": "39592:40:21", + "src": "40556:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24927,14 +25181,14 @@ { "argumentTypes": null, "hexValue": "43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f7369746564", - "id": 6310, + "id": 6927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "39634:50:21", + "src": "40598:50:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b0bad7bd57f55516fc857d17f5ccdd59e07d83cb7e01f866f68354bbc18bc0d", @@ -24954,21 +25208,21 @@ "typeString": "literal_string \"Cannot remove a reserve with liquidity deposited\"" } ], - "id": 6304, + "id": 6921, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "39584:7:21", + "referencedDeclaration": 16131, + "src": "40548:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6311, + "id": 6928, "isConstant": false, "isLValue": false, "isPure": false, @@ -24976,20 +25230,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39584:101:21", + "src": "40548:101:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6312, + "id": 6929, "nodeType": "ExpressionStatement", - "src": "39584:101:21" + "src": "40548:101:28" }, { "expression": { "argumentTypes": null, - "id": 6318, + "id": 6935, "isConstant": false, "isLValue": false, "isPure": false, @@ -25000,26 +25254,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6313, + "id": 6930, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39696:8:21", + "referencedDeclaration": 5152, + "src": "40660:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6315, + "id": 6932, "indexExpression": { "argumentTypes": null, - "id": 6314, + "id": 6931, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39705:11:21", + "referencedDeclaration": 6906, + "src": "40669:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25030,21 +25284,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39696:21:21", + "src": "40660:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6316, + "id": 6933, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "39696:30:21", + "referencedDeclaration": 10643, + "src": "40660:30:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25055,14 +25309,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6317, + "id": 6934, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "39729:5:21", + "src": "40693:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -25070,20 +25324,20 @@ }, "value": "false" }, - "src": "39696:38:21", + "src": "40660:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6319, + "id": 6936, "nodeType": "ExpressionStatement", - "src": "39696:38:21" + "src": "40660:38:28" }, { "expression": { "argumentTypes": null, - "id": 6327, + "id": 6944, "isConstant": false, "isLValue": false, "isPure": false, @@ -25094,26 +25348,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6320, + "id": 6937, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39744:8:21", + "referencedDeclaration": 5152, + "src": "40708:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6322, + "id": 6939, "indexExpression": { "argumentTypes": null, - "id": 6321, + "id": 6938, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39753:11:21", + "referencedDeclaration": 6906, + "src": "40717:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25124,21 +25378,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39744:21:21", + "src": "40708:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6323, + "id": 6940, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "39744:35:21", + "referencedDeclaration": 10631, + "src": "40708:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25152,14 +25406,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6325, + "id": 6942, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39790:1:21", + "src": "40754:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25175,20 +25429,20 @@ "typeString": "int_const 0" } ], - "id": 6324, + "id": 6941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "39782:7:21", + "src": "40746:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 6326, + "id": 6943, "isConstant": false, "isLValue": false, "isPure": true, @@ -25196,26 +25450,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39782:10:21", + "src": "40746:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "39744:48:21", + "src": "40708:48:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6328, + "id": 6945, "nodeType": "ExpressionStatement", - "src": "39744:48:21" + "src": "40708:48:28" }, { "expression": { "argumentTypes": null, - "id": 6334, + "id": 6951, "isConstant": false, "isLValue": false, "isPure": false, @@ -25226,26 +25480,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6329, + "id": 6946, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39802:8:21", + "referencedDeclaration": 5152, + "src": "40766:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6331, + "id": 6948, "indexExpression": { "argumentTypes": null, - "id": 6330, + "id": 6947, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39811:11:21", + "referencedDeclaration": 6906, + "src": "40775:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25256,21 +25510,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39802:21:21", + "src": "40766:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6332, + "id": 6949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "39802:30:21", + "referencedDeclaration": 10629, + "src": "40766:30:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25281,14 +25535,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6333, + "id": 6950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39835:1:21", + "src": "40799:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25296,20 +25550,20 @@ }, "value": "0" }, - "src": "39802:34:21", + "src": "40766:34:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6335, + "id": 6952, "nodeType": "ExpressionStatement", - "src": "39802:34:21" + "src": "40766:34:28" }, { "expression": { "argumentTypes": null, - "id": 6341, + "id": 6958, "isConstant": false, "isLValue": false, "isPure": false, @@ -25320,26 +25574,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6336, + "id": 6953, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39846:8:21", + "referencedDeclaration": 5152, + "src": "40810:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6338, + "id": 6955, "indexExpression": { "argumentTypes": null, - "id": 6337, + "id": 6954, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39855:11:21", + "referencedDeclaration": 6906, + "src": "40819:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25350,21 +25604,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39846:21:21", + "src": "40810:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6339, + "id": 6956, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "39846:50:21", + "referencedDeclaration": 10607, + "src": "40810:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25375,14 +25629,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6340, + "id": 6957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39899:1:21", + "src": "40863:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25390,20 +25644,20 @@ }, "value": "0" }, - "src": "39846:54:21", + "src": "40810:54:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6342, + "id": 6959, "nodeType": "ExpressionStatement", - "src": "39846:54:21" + "src": "40810:54:28" }, { "expression": { "argumentTypes": null, - "id": 6348, + "id": 6965, "isConstant": false, "isLValue": false, "isPure": false, @@ -25414,26 +25668,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6343, + "id": 6960, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39910:8:21", + "referencedDeclaration": 5152, + "src": "40874:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6345, + "id": 6962, "indexExpression": { "argumentTypes": null, - "id": 6344, + "id": 6961, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39919:11:21", + "referencedDeclaration": 6906, + "src": "40883:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25444,21 +25698,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39910:21:21", + "src": "40874:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6346, + "id": 6963, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "39910:55:21", + "referencedDeclaration": 10621, + "src": "40874:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25469,14 +25723,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6347, + "id": 6964, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39968:1:21", + "src": "40932:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25484,20 +25738,20 @@ }, "value": "0" }, - "src": "39910:59:21", + "src": "40874:59:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6349, + "id": 6966, "nodeType": "ExpressionStatement", - "src": "39910:59:21" + "src": "40874:59:28" }, { "expression": { "argumentTypes": null, - "id": 6355, + "id": 6972, "isConstant": false, "isLValue": false, "isPure": false, @@ -25508,26 +25762,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6350, + "id": 6967, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39979:8:21", + "referencedDeclaration": 5152, + "src": "40943:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6352, + "id": 6969, "indexExpression": { "argumentTypes": null, - "id": 6351, + "id": 6968, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39988:11:21", + "referencedDeclaration": 6906, + "src": "40952:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25538,21 +25792,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39979:21:21", + "src": "40943:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6353, + "id": 6970, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowingEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9560, - "src": "39979:38:21", + "referencedDeclaration": 10637, + "src": "40943:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25563,14 +25817,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6354, + "id": 6971, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "40020:5:21", + "src": "40984:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -25578,20 +25832,20 @@ }, "value": "false" }, - "src": "39979:46:21", + "src": "40943:46:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6356, + "id": 6973, "nodeType": "ExpressionStatement", - "src": "39979:46:21" + "src": "40943:46:28" }, { "expression": { "argumentTypes": null, - "id": 6362, + "id": 6979, "isConstant": false, "isLValue": false, "isPure": false, @@ -25602,26 +25856,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6357, + "id": 6974, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40035:8:21", + "referencedDeclaration": 5152, + "src": "40999:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6359, + "id": 6976, "indexExpression": { "argumentTypes": null, - "id": 6358, + "id": 6975, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40044:11:21", + "referencedDeclaration": 6906, + "src": "41008:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25632,21 +25886,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40035:21:21", + "src": "40999:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6360, + "id": 6977, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "40035:46:21", + "referencedDeclaration": 10639, + "src": "40999:46:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25657,14 +25911,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6361, + "id": 6978, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "40084:5:21", + "src": "41048:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -25672,20 +25926,20 @@ }, "value": "false" }, - "src": "40035:54:21", + "src": "40999:54:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6363, + "id": 6980, "nodeType": "ExpressionStatement", - "src": "40035:54:21" + "src": "40999:54:28" }, { "expression": { "argumentTypes": null, - "id": 6369, + "id": 6986, "isConstant": false, "isLValue": false, "isPure": false, @@ -25696,26 +25950,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6364, + "id": 6981, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40099:8:21", + "referencedDeclaration": 5152, + "src": "41063:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6366, + "id": 6983, "indexExpression": { "argumentTypes": null, - "id": 6365, + "id": 6982, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40108:11:21", + "referencedDeclaration": 6906, + "src": "41072:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25726,21 +25980,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40099:21:21", + "src": "41063:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6367, + "id": 6984, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "40099:41:21", + "referencedDeclaration": 10623, + "src": "41063:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25751,14 +26005,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6368, + "id": 6985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40143:1:21", + "src": "41107:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25766,20 +26020,20 @@ }, "value": "0" }, - "src": "40099:45:21", + "src": "41063:45:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6370, + "id": 6987, "nodeType": "ExpressionStatement", - "src": "40099:45:21" + "src": "41063:45:28" }, { "expression": { "argumentTypes": null, - "id": 6376, + "id": 6993, "isConstant": false, "isLValue": false, "isPure": false, @@ -25790,26 +26044,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6371, + "id": 6988, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40154:8:21", + "referencedDeclaration": 5152, + "src": "41118:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6373, + "id": 6990, "indexExpression": { "argumentTypes": null, - "id": 6372, + "id": 6989, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40163:11:21", + "referencedDeclaration": 6906, + "src": "41127:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25820,21 +26074,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40154:21:21", + "src": "41118:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6374, + "id": 6991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "40154:42:21", + "referencedDeclaration": 10625, + "src": "41118:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25845,14 +26099,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6375, + "id": 6992, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40199:1:21", + "src": "41163:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25860,20 +26114,20 @@ }, "value": "0" }, - "src": "40154:46:21", + "src": "41118:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6377, + "id": 6994, "nodeType": "ExpressionStatement", - "src": "40154:46:21" + "src": "41118:46:28" }, { "expression": { "argumentTypes": null, - "id": 6383, + "id": 7000, "isConstant": false, "isLValue": false, "isPure": false, @@ -25884,26 +26138,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6378, + "id": 6995, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40210:8:21", + "referencedDeclaration": 5152, + "src": "41174:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6380, + "id": 6997, "indexExpression": { "argumentTypes": null, - "id": 6379, + "id": 6996, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40219:11:21", + "referencedDeclaration": 6906, + "src": "41183:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25914,21 +26168,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40210:21:21", + "src": "41174:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6381, + "id": 6998, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "40210:38:21", + "referencedDeclaration": 10627, + "src": "41174:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25939,14 +26193,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6382, + "id": 6999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40251:1:21", + "src": "41215:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25954,20 +26208,20 @@ }, "value": "0" }, - "src": "40210:42:21", + "src": "41174:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6384, + "id": 7001, "nodeType": "ExpressionStatement", - "src": "40210:42:21" + "src": "41174:42:28" }, { "expression": { "argumentTypes": null, - "id": 6392, + "id": 7009, "isConstant": false, "isLValue": false, "isPure": false, @@ -25978,26 +26232,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6385, + "id": 7002, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40262:8:21", + "referencedDeclaration": 5152, + "src": "41226:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6387, + "id": 7004, "indexExpression": { "argumentTypes": null, - "id": 6386, + "id": 7003, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40271:11:21", + "referencedDeclaration": 6906, + "src": "41235:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26008,21 +26262,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40262:21:21", + "src": "41226:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6388, + "id": 7005, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "40262:49:21", + "referencedDeclaration": 10633, + "src": "41226:49:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26036,14 +26290,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6390, + "id": 7007, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40322:1:21", + "src": "41286:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26059,20 +26313,20 @@ "typeString": "int_const 0" } ], - "id": 6389, + "id": 7006, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "40314:7:21", + "src": "41278:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 6391, + "id": 7008, "isConstant": false, "isLValue": false, "isPure": true, @@ -26080,21 +26334,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "40314:10:21", + "src": "41278:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "40262:62:21", + "src": "41226:62:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6393, + "id": 7010, "nodeType": "ExpressionStatement", - "src": "40262:62:21" + "src": "41226:62:28" }, { "expression": { @@ -26104,18 +26358,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 6394, + "id": 7011, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "40335:12:21", + "referencedDeclaration": 5161, + "src": "41299:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6396, + "id": 7013, "isConstant": false, "isLValue": false, "isPure": false, @@ -26123,13 +26377,13 @@ "memberName": "pop", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "40335:16:21", + "src": "41299:16:28", "typeDescriptions": { "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 6397, + "id": 7014, "isConstant": false, "isLValue": false, "isPure": false, @@ -26137,56 +26391,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "40335:18:21", + "src": "41299:18:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6398, + "id": 7015, "nodeType": "ExpressionStatement", - "src": "40335:18:21" + "src": "41299:18:28" } ] }, "documentation": "@dev removes the last added reserve in the reservesList array\n@param _reserveToRemove the address of the reserve*", - "id": 6400, + "id": 7017, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6286, + "id": 6903, "modifierName": { "argumentTypes": null, - "id": 6285, + "id": 6902, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "39213:27:21", + "referencedDeclaration": 5148, + "src": "40177:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "39213:27:21" + "src": "40177:27:28" } ], "name": "removeLastAddedReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6284, + "id": 6901, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6283, + "id": 6900, "name": "_reserveToRemove", "nodeType": "VariableDeclaration", - "scope": 6400, - "src": "39173:24:21", + "scope": 7017, + "src": "40137:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26194,10 +26448,10 @@ "typeString": "address" }, "typeName": { - "id": 6282, + "id": 6899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "39173:7:21", + "src": "40137:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26208,30 +26462,30 @@ "visibility": "internal" } ], - "src": "39172:26:21" + "src": "40136:26:28" }, "returnParameters": { - "id": 6287, + "id": 6904, "nodeType": "ParameterList", "parameters": [], - "src": "39241:0:21" + "src": "40205:0:28" }, - "scope": 7812, - "src": "39141:1219:21", + "scope": 8443, + "src": "40105:1219:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6416, + "id": 7033, "nodeType": "Block", - "src": "40739:86:21", + "src": "41703:86:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6414, + "id": 7031, "isConstant": false, "isLValue": false, "isPure": false, @@ -26242,26 +26496,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6409, + "id": 7026, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40749:8:21", + "referencedDeclaration": 5152, + "src": "41713:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6411, + "id": 7028, "indexExpression": { "argumentTypes": null, - "id": 6410, + "id": 7027, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6402, - "src": "40758:8:21", + "referencedDeclaration": 7019, + "src": "41722:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26272,21 +26526,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40749:18:21", + "src": "41713:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6412, + "id": 7029, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "40749:46:21", + "referencedDeclaration": 10633, + "src": "41713:46:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26296,67 +26550,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6413, + "id": 7030, "name": "_rateStrategyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6404, - "src": "40798:20:21", + "referencedDeclaration": 7021, + "src": "41762:20:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "40749:69:21", + "src": "41713:69:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6415, + "id": 7032, "nodeType": "ExpressionStatement", - "src": "40749:69:21" + "src": "41713:69:28" } ] }, "documentation": "@dev updates the address of the interest rate strategy contract\n@param _reserve the address of the reserve\n@param _rateStrategyAddress the address of the interest rate strategy contract*", - "id": 6417, + "id": 7034, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6407, + "id": 7024, "modifierName": { "argumentTypes": null, - "id": 6406, + "id": 7023, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "40707:27:21", + "referencedDeclaration": 5148, + "src": "41671:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "40707:27:21" + "src": "41671:27:28" } ], "name": "setReserveInterestRateStrategyAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 6405, + "id": 7022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6402, + "id": 7019, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6417, - "src": "40634:16:21", + "scope": 7034, + "src": "41598:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26364,10 +26618,10 @@ "typeString": "address" }, "typeName": { - "id": 6401, + "id": 7018, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40634:7:21", + "src": "41598:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26379,11 +26633,11 @@ }, { "constant": false, - "id": 6404, + "id": 7021, "name": "_rateStrategyAddress", "nodeType": "VariableDeclaration", - "scope": 6417, - "src": "40652:28:21", + "scope": 7034, + "src": "41616:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26391,10 +26645,10 @@ "typeString": "address" }, "typeName": { - "id": 6403, + "id": 7020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40652:7:21", + "src": "41616:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26405,25 +26659,25 @@ "visibility": "internal" } ], - "src": "40633:48:21" + "src": "41597:48:28" }, "returnParameters": { - "id": 6408, + "id": 7025, "nodeType": "ParameterList", "parameters": [], - "src": "40739:0:21" + "src": "41703:0:28" }, - "scope": 7812, - "src": "40587:238:21", + "scope": 8443, + "src": "41551:238:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6433, + "id": 7050, "nodeType": "Block", - "src": "41215:77:21", + "src": "42179:77:28", "statements": [ { "expression": { @@ -26431,12 +26685,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6430, + "id": 7047, "name": "_stableBorrowRateEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "41260:24:21", + "referencedDeclaration": 7038, + "src": "42224:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26454,26 +26708,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6426, + "id": 7043, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41225:8:21", + "referencedDeclaration": 5152, + "src": "42189:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6428, + "id": 7045, "indexExpression": { "argumentTypes": null, - "id": 6427, + "id": 7044, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "41234:8:21", + "referencedDeclaration": 7036, + "src": "42198:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26484,27 +26738,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41225:18:21", + "src": "42189:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6429, + "id": 7046, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "enableBorrowing", "nodeType": "MemberAccess", - "referencedDeclaration": 9795, - "src": "41225:34:21", + "referencedDeclaration": 10872, + "src": "42189:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_bool_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_bool_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,bool)" } }, - "id": 6431, + "id": 7048, "isConstant": false, "isLValue": false, "isPure": false, @@ -26512,56 +26766,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41225:60:21", + "src": "42189:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6432, + "id": 7049, "nodeType": "ExpressionStatement", - "src": "41225:60:21" + "src": "42189:60:28" } ] }, "documentation": "@dev enables borrowing on a reserve. Also sets the stable rate borrowing\n@param _reserve the address of the reserve\n@param _stableBorrowRateEnabled true if the stable rate needs to be enabled, false otherwise*", - "id": 6434, + "id": 7051, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6424, + "id": 7041, "modifierName": { "argumentTypes": null, - "id": 6423, + "id": 7040, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41183:27:21", + "referencedDeclaration": 5148, + "src": "42147:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41183:27:21" + "src": "42147:27:28" } ], "name": "enableBorrowingOnReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6422, + "id": 7039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6419, + "id": 7036, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6434, - "src": "41109:16:21", + "scope": 7051, + "src": "42073:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26569,10 +26823,10 @@ "typeString": "address" }, "typeName": { - "id": 6418, + "id": 7035, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41109:7:21", + "src": "42073:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26584,11 +26838,11 @@ }, { "constant": false, - "id": 6421, + "id": 7038, "name": "_stableBorrowRateEnabled", "nodeType": "VariableDeclaration", - "scope": 6434, - "src": "41127:29:21", + "scope": 7051, + "src": "42091:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26596,10 +26850,10 @@ "typeString": "bool" }, "typeName": { - "id": 6420, + "id": 7037, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "41127:4:21", + "src": "42091:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26609,25 +26863,25 @@ "visibility": "internal" } ], - "src": "41108:49:21" + "src": "42072:49:28" }, "returnParameters": { - "id": 6425, + "id": 7042, "nodeType": "ParameterList", "parameters": [], - "src": "41215:0:21" + "src": "42179:0:28" }, - "scope": 7812, - "src": "41075:217:21", + "scope": 8443, + "src": "42039:217:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6447, + "id": 7064, "nodeType": "Block", - "src": "41497:54:21", + "src": "42461:54:28", "statements": [ { "expression": { @@ -26639,26 +26893,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6441, + "id": 7058, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41507:8:21", + "referencedDeclaration": 5152, + "src": "42471:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6443, + "id": 7060, "indexExpression": { "argumentTypes": null, - "id": 6442, + "id": 7059, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6436, - "src": "41516:8:21", + "referencedDeclaration": 7053, + "src": "42480:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26669,27 +26923,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41507:18:21", + "src": "42471:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6444, + "id": 7061, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "disableBorrowing", "nodeType": "MemberAccess", - "referencedDeclaration": 9807, - "src": "41507:35:21", + "referencedDeclaration": 10884, + "src": "42471:35:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6445, + "id": 7062, "isConstant": false, "isLValue": false, "isPure": false, @@ -26697,56 +26951,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41507:37:21", + "src": "42471:37:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6446, + "id": 7063, "nodeType": "ExpressionStatement", - "src": "41507:37:21" + "src": "42471:37:28" } ] }, "documentation": "@dev disables borrowing on a reserve\n@param _reserve the address of the reserve*", - "id": 6448, + "id": 7065, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6439, + "id": 7056, "modifierName": { "argumentTypes": null, - "id": 6438, + "id": 7055, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41469:27:21", + "referencedDeclaration": 5148, + "src": "42433:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41469:27:21" + "src": "42433:27:28" } ], "name": "disableBorrowingOnReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6437, + "id": 7054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6436, + "id": 7053, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6448, - "src": "41442:16:21", + "scope": 7065, + "src": "42406:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26754,10 +27008,10 @@ "typeString": "address" }, "typeName": { - "id": 6435, + "id": 7052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41442:7:21", + "src": "42406:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26768,25 +27022,25 @@ "visibility": "internal" } ], - "src": "41441:18:21" + "src": "42405:18:28" }, "returnParameters": { - "id": 6440, + "id": 7057, "nodeType": "ParameterList", "parameters": [], - "src": "41497:0:21" + "src": "42461:0:28" }, - "scope": 7812, - "src": "41407:144:21", + "scope": 8443, + "src": "42371:144:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6470, + "id": 7087, "nodeType": "Block", - "src": "41892:164:21", + "src": "42856:164:28", "statements": [ { "expression": { @@ -26794,12 +27048,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6465, + "id": 7082, "name": "_baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6452, - "src": "41953:20:21", + "referencedDeclaration": 7069, + "src": "42917:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26807,12 +27061,12 @@ }, { "argumentTypes": null, - "id": 6466, + "id": 7083, "name": "_liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6454, - "src": "41987:21:21", + "referencedDeclaration": 7071, + "src": "42951:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26820,12 +27074,12 @@ }, { "argumentTypes": null, - "id": 6467, + "id": 7084, "name": "_liquidationBonus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6456, - "src": "42022:17:21", + "referencedDeclaration": 7073, + "src": "42986:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26851,26 +27105,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6461, + "id": 7078, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41902:8:21", + "referencedDeclaration": 5152, + "src": "42866:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6463, + "id": 7080, "indexExpression": { "argumentTypes": null, - "id": 6462, + "id": 7079, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6450, - "src": "41911:8:21", + "referencedDeclaration": 7067, + "src": "42875:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26881,27 +27135,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41902:18:21", + "src": "42866:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6464, + "id": 7081, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "enableAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9864, - "src": "41902:37:21", + "referencedDeclaration": 10941, + "src": "42866:37:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256,uint256)" } }, - "id": 6468, + "id": 7085, "isConstant": false, "isLValue": false, "isPure": false, @@ -26909,56 +27163,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41902:147:21", + "src": "42866:147:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6469, + "id": 7086, "nodeType": "ExpressionStatement", - "src": "41902:147:21" + "src": "42866:147:28" } ] }, "documentation": "@dev enables a reserve to be used as collateral\n@param _reserve the address of the reserve*", - "id": 6471, + "id": 7088, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6459, + "id": 7076, "modifierName": { "argumentTypes": null, - "id": 6458, + "id": 7075, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41864:27:21", + "referencedDeclaration": 5148, + "src": "42828:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41864:27:21" + "src": "42828:27:28" } ], "name": "enableReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6457, + "id": 7074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6450, + "id": 7067, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41720:16:21", + "scope": 7088, + "src": "42684:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26966,10 +27220,10 @@ "typeString": "address" }, "typeName": { - "id": 6449, + "id": 7066, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41720:7:21", + "src": "42684:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26981,11 +27235,11 @@ }, { "constant": false, - "id": 6452, + "id": 7069, "name": "_baseLTVasCollateral", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41746:28:21", + "scope": 7088, + "src": "42710:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26993,10 +27247,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6451, + "id": 7068, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41746:7:21", + "src": "42710:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27007,11 +27261,11 @@ }, { "constant": false, - "id": 6454, + "id": 7071, "name": "_liquidationThreshold", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41784:29:21", + "scope": 7088, + "src": "42748:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27019,10 +27273,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6453, + "id": 7070, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41784:7:21", + "src": "42748:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27033,11 +27287,11 @@ }, { "constant": false, - "id": 6456, + "id": 7073, "name": "_liquidationBonus", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41823:25:21", + "scope": 7088, + "src": "42787:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27045,10 +27299,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6455, + "id": 7072, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41823:7:21", + "src": "42787:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27058,25 +27312,25 @@ "visibility": "internal" } ], - "src": "41710:144:21" + "src": "42674:144:28" }, "returnParameters": { - "id": 6460, + "id": 7077, "nodeType": "ParameterList", "parameters": [], - "src": "41892:0:21" + "src": "42856:0:28" }, - "scope": 7812, - "src": "41676:380:21", + "scope": 8443, + "src": "42640:380:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6484, + "id": 7101, "nodeType": "Block", - "src": "42273:57:21", + "src": "43237:57:28", "statements": [ { "expression": { @@ -27088,26 +27342,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6478, + "id": 7095, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42283:8:21", + "referencedDeclaration": 5152, + "src": "43247:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6480, + "id": 7097, "indexExpression": { "argumentTypes": null, - "id": 6479, + "id": 7096, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6473, - "src": "42292:8:21", + "referencedDeclaration": 7090, + "src": "43256:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27118,27 +27372,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42283:18:21", + "src": "43247:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6481, + "id": 7098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "disableAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9876, - "src": "42283:38:21", + "referencedDeclaration": 10953, + "src": "43247:38:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6482, + "id": 7099, "isConstant": false, "isLValue": false, "isPure": false, @@ -27146,56 +27400,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "42283:40:21", + "src": "43247:40:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6483, + "id": 7100, "nodeType": "ExpressionStatement", - "src": "42283:40:21" + "src": "43247:40:28" } ] }, "documentation": "@dev disables a reserve to be used as collateral\n@param _reserve the address of the reserve*", - "id": 6485, + "id": 7102, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6476, + "id": 7093, "modifierName": { "argumentTypes": null, - "id": 6475, + "id": 7092, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42245:27:21", + "referencedDeclaration": 5148, + "src": "43209:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42245:27:21" + "src": "43209:27:28" } ], "name": "disableReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6474, + "id": 7091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6473, + "id": 7090, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6485, - "src": "42218:16:21", + "scope": 7102, + "src": "43182:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27203,10 +27457,10 @@ "typeString": "address" }, "typeName": { - "id": 6472, + "id": 7089, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42218:7:21", + "src": "43182:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27217,53 +27471,53 @@ "visibility": "internal" } ], - "src": "42217:18:21" + "src": "43181:18:28" }, "returnParameters": { - "id": 6477, + "id": 7094, "nodeType": "ParameterList", "parameters": [], - "src": "42273:0:21" + "src": "43237:0:28" }, - "scope": 7812, - "src": "42182:148:21", + "scope": 8443, + "src": "43146:148:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6506, + "id": 7123, "nodeType": "Block", - "src": "42554:127:21", + "src": "43518:127:28", "statements": [ { "assignments": [ - 6495 + 7112 ], "declarations": [ { "constant": false, - "id": 6495, + "id": 7112, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6506, - "src": "42564:39:21", + "scope": 7123, + "src": "43528:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6494, + "id": 7111, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "42564:23:21", + "referencedDeclaration": 10646, + "src": "43528:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -27271,31 +27525,31 @@ "visibility": "internal" } ], - "id": 6499, + "id": 7116, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6496, + "id": 7113, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42606:8:21", + "referencedDeclaration": 5152, + "src": "43570:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6498, + "id": 7115, "indexExpression": { "argumentTypes": null, - "id": 6497, + "id": 7114, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "42615:8:21", + "referencedDeclaration": 7104, + "src": "43579:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27306,19 +27560,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42606:18:21", + "src": "43570:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "42564:60:21" + "src": "43528:60:28" }, { "expression": { "argumentTypes": null, - "id": 6504, + "id": 7121, "isConstant": false, "isLValue": false, "isPure": false, @@ -27327,26 +27581,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6500, + "id": 7117, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6495, - "src": "42634:7:21", + "referencedDeclaration": 7112, + "src": "43598:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6502, + "id": 7119, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "42634:33:21", + "referencedDeclaration": 10641, + "src": "43598:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27357,14 +27611,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6503, + "id": 7120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "42670:4:21", + "src": "43634:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27372,56 +27626,56 @@ }, "value": "true" }, - "src": "42634:40:21", + "src": "43598:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6505, + "id": 7122, "nodeType": "ExpressionStatement", - "src": "42634:40:21" + "src": "43598:40:28" } ] }, "documentation": "@dev enable the stable borrow rate mode on a reserve\n@param _reserve the address of the reserve*", - "id": 6507, + "id": 7124, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6490, + "id": 7107, "modifierName": { "argumentTypes": null, - "id": 6489, + "id": 7106, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42526:27:21", + "referencedDeclaration": 5148, + "src": "43490:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42526:27:21" + "src": "43490:27:28" } ], "name": "enableReserveStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6488, + "id": 7105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6487, + "id": 7104, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6507, - "src": "42499:16:21", + "scope": 7124, + "src": "43463:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27429,10 +27683,10 @@ "typeString": "address" }, "typeName": { - "id": 6486, + "id": 7103, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42499:7:21", + "src": "43463:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27443,53 +27697,53 @@ "visibility": "internal" } ], - "src": "42498:18:21" + "src": "43462:18:28" }, "returnParameters": { - "id": 6491, + "id": 7108, "nodeType": "ParameterList", "parameters": [], - "src": "42554:0:21" + "src": "43518:0:28" }, - "scope": 7812, - "src": "42460:221:21", + "scope": 8443, + "src": "43424:221:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6528, + "id": 7145, "nodeType": "Block", - "src": "42907:128:21", + "src": "43871:128:28", "statements": [ { "assignments": [ - 6517 + 7134 ], "declarations": [ { "constant": false, - "id": 6517, + "id": 7134, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6528, - "src": "42917:39:21", + "scope": 7145, + "src": "43881:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6516, + "id": 7133, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "42917:23:21", + "referencedDeclaration": 10646, + "src": "43881:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -27497,31 +27751,31 @@ "visibility": "internal" } ], - "id": 6521, + "id": 7138, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6518, + "id": 7135, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42959:8:21", + "referencedDeclaration": 5152, + "src": "43923:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6520, + "id": 7137, "indexExpression": { "argumentTypes": null, - "id": 6519, + "id": 7136, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6509, - "src": "42968:8:21", + "referencedDeclaration": 7126, + "src": "43932:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27532,19 +27786,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42959:18:21", + "src": "43923:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "42917:60:21" + "src": "43881:60:28" }, { "expression": { "argumentTypes": null, - "id": 6526, + "id": 7143, "isConstant": false, "isLValue": false, "isPure": false, @@ -27553,26 +27807,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6522, + "id": 7139, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6517, - "src": "42987:7:21", + "referencedDeclaration": 7134, + "src": "43951:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6524, + "id": 7141, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "42987:33:21", + "referencedDeclaration": 10641, + "src": "43951:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27583,14 +27837,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6525, + "id": 7142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43023:5:21", + "src": "43987:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27598,56 +27852,56 @@ }, "value": "false" }, - "src": "42987:41:21", + "src": "43951:41:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6527, + "id": 7144, "nodeType": "ExpressionStatement", - "src": "42987:41:21" + "src": "43951:41:28" } ] }, "documentation": "@dev disable the stable borrow rate mode on a reserve\n@param _reserve the address of the reserve*", - "id": 6529, + "id": 7146, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6512, + "id": 7129, "modifierName": { "argumentTypes": null, - "id": 6511, + "id": 7128, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42879:27:21", + "referencedDeclaration": 5148, + "src": "43843:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42879:27:21" + "src": "43843:27:28" } ], "name": "disableReserveStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6510, + "id": 7127, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6509, + "id": 7126, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6529, - "src": "42852:16:21", + "scope": 7146, + "src": "43816:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27655,10 +27909,10 @@ "typeString": "address" }, "typeName": { - "id": 6508, + "id": 7125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42852:7:21", + "src": "43816:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27669,53 +27923,53 @@ "visibility": "internal" } ], - "src": "42851:18:21" + "src": "43815:18:28" }, "returnParameters": { - "id": 6513, + "id": 7130, "nodeType": "ParameterList", "parameters": [], - "src": "42907:0:21" + "src": "43871:0:28" }, - "scope": 7812, - "src": "42812:223:21", + "scope": 8443, + "src": "43776:223:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6563, + "id": 7180, "nodeType": "Block", - "src": "43217:309:21", + "src": "44181:309:28", "statements": [ { "assignments": [ - 6539 + 7156 ], "declarations": [ { "constant": false, - "id": 6539, + "id": 7156, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6563, - "src": "43227:39:21", + "scope": 7180, + "src": "44191:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6538, + "id": 7155, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "43227:23:21", + "referencedDeclaration": 10646, + "src": "44191:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -27723,31 +27977,31 @@ "visibility": "internal" } ], - "id": 6543, + "id": 7160, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6540, + "id": 7157, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "43269:8:21", + "referencedDeclaration": 5152, + "src": "44233:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6542, + "id": 7159, "indexExpression": { "argumentTypes": null, - "id": 6541, + "id": 7158, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "43278:8:21", + "referencedDeclaration": 7148, + "src": "44242:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27758,14 +28012,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "43269:18:21", + "src": "44233:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "43227:60:21" + "src": "44191:60:28" }, { "expression": { @@ -27777,7 +28031,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6553, + "id": 7170, "isConstant": false, "isLValue": false, "isPure": false, @@ -27788,7 +28042,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6548, + "id": 7165, "isConstant": false, "isLValue": false, "isPure": false, @@ -27797,26 +28051,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6545, + "id": 7162, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43319:7:21", + "referencedDeclaration": 7156, + "src": "44283:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6546, + "id": 7163, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "43319:36:21", + "referencedDeclaration": 10607, + "src": "44283:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27827,14 +28081,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6547, + "id": 7164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "43358:1:21", + "src": "44322:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27842,7 +28096,7 @@ }, "value": "0" }, - "src": "43319:40:21", + "src": "44283:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27856,7 +28110,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6552, + "id": 7169, "isConstant": false, "isLValue": false, "isPure": false, @@ -27865,26 +28119,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6549, + "id": 7166, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43379:7:21", + "referencedDeclaration": 7156, + "src": "44343:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6550, + "id": 7167, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "43379:41:21", + "referencedDeclaration": 10621, + "src": "44343:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27895,14 +28149,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6551, + "id": 7168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "43423:1:21", + "src": "44387:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27910,13 +28164,13 @@ }, "value": "0" }, - "src": "43379:45:21", + "src": "44343:45:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "43319:105:21", + "src": "44283:105:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27925,14 +28179,14 @@ { "argumentTypes": null, "hexValue": "5265736572766520686173206e6f74206265656e20696e697469616c697a656420796574", - "id": 6554, + "id": 7171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "43438:38:21", + "src": "44402:38:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e3fef771b2ec0a89d942c2f01fa56a2858b26f42bd351d7e7ecb9e7b2b9bd44", @@ -27952,21 +28206,21 @@ "typeString": "literal_string \"Reserve has not been initialized yet\"" } ], - "id": 6544, + "id": 7161, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "43298:7:21", + "referencedDeclaration": 16131, + "src": "44262:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6555, + "id": 7172, "isConstant": false, "isLValue": false, "isPure": false, @@ -27974,20 +28228,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "43298:188:21", + "src": "44262:188:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6556, + "id": 7173, "nodeType": "ExpressionStatement", - "src": "43298:188:21" + "src": "44262:188:28" }, { "expression": { "argumentTypes": null, - "id": 6561, + "id": 7178, "isConstant": false, "isLValue": false, "isPure": false, @@ -27996,26 +28250,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6557, + "id": 7174, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43496:7:21", + "referencedDeclaration": 7156, + "src": "44460:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6559, + "id": 7176, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "43496:16:21", + "referencedDeclaration": 10643, + "src": "44460:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28026,14 +28280,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6560, + "id": 7177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43515:4:21", + "src": "44479:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28041,56 +28295,56 @@ }, "value": "true" }, - "src": "43496:23:21", + "src": "44460:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6562, + "id": 7179, "nodeType": "ExpressionStatement", - "src": "43496:23:21" + "src": "44460:23:28" } ] }, "documentation": "@dev activates a reserve\n@param _reserve the address of the reserve*", - "id": 6564, + "id": 7181, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6534, + "id": 7151, "modifierName": { "argumentTypes": null, - "id": 6533, + "id": 7150, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "43189:27:21", + "referencedDeclaration": 5148, + "src": "44153:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "43189:27:21" + "src": "44153:27:28" } ], "name": "activateReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6532, + "id": 7149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6531, + "id": 7148, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6564, - "src": "43162:16:21", + "scope": 7181, + "src": "44126:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28098,10 +28352,10 @@ "typeString": "address" }, "typeName": { - "id": 6530, + "id": 7147, "name": "address", "nodeType": "ElementaryTypeName", - "src": "43162:7:21", + "src": "44126:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28112,53 +28366,53 @@ "visibility": "internal" } ], - "src": "43161:18:21" + "src": "44125:18:28" }, "returnParameters": { - "id": 6535, + "id": 7152, "nodeType": "ParameterList", "parameters": [], - "src": "43217:0:21" + "src": "44181:0:28" }, - "scope": 7812, - "src": "43137:389:21", + "scope": 8443, + "src": "44101:389:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6585, + "id": 7202, "nodeType": "Block", - "src": "43712:111:21", + "src": "44676:111:28", "statements": [ { "assignments": [ - 6574 + 7191 ], "declarations": [ { "constant": false, - "id": 6574, + "id": 7191, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6585, - "src": "43722:39:21", + "scope": 7202, + "src": "44686:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6573, + "id": 7190, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "43722:23:21", + "referencedDeclaration": 10646, + "src": "44686:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -28166,31 +28420,31 @@ "visibility": "internal" } ], - "id": 6578, + "id": 7195, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6575, + "id": 7192, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "43764:8:21", + "referencedDeclaration": 5152, + "src": "44728:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6577, + "id": 7194, "indexExpression": { "argumentTypes": null, - "id": 6576, + "id": 7193, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6566, - "src": "43773:8:21", + "referencedDeclaration": 7183, + "src": "44737:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28201,19 +28455,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "43764:18:21", + "src": "44728:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "43722:60:21" + "src": "44686:60:28" }, { "expression": { "argumentTypes": null, - "id": 6583, + "id": 7200, "isConstant": false, "isLValue": false, "isPure": false, @@ -28222,26 +28476,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6579, + "id": 7196, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "43792:7:21", + "referencedDeclaration": 7191, + "src": "44756:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6581, + "id": 7198, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "43792:16:21", + "referencedDeclaration": 10643, + "src": "44756:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28252,14 +28506,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6582, + "id": 7199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43811:5:21", + "src": "44775:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28267,56 +28521,56 @@ }, "value": "false" }, - "src": "43792:24:21", + "src": "44756:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6584, + "id": 7201, "nodeType": "ExpressionStatement", - "src": "43792:24:21" + "src": "44756:24:28" } ] }, "documentation": "@dev deactivates a reserve\n@param _reserve the address of the reserve*", - "id": 6586, + "id": 7203, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6569, + "id": 7186, "modifierName": { "argumentTypes": null, - "id": 6568, + "id": 7185, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "43684:27:21", + "referencedDeclaration": 5148, + "src": "44648:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "43684:27:21" + "src": "44648:27:28" } ], "name": "deactivateReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6567, + "id": 7184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6566, + "id": 7183, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6586, - "src": "43657:16:21", + "scope": 7203, + "src": "44621:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28324,10 +28578,10 @@ "typeString": "address" }, "typeName": { - "id": 6565, + "id": 7182, "name": "address", "nodeType": "ElementaryTypeName", - "src": "43657:7:21", + "src": "44621:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28338,53 +28592,53 @@ "visibility": "internal" } ], - "src": "43656:18:21" + "src": "44620:18:28" }, "returnParameters": { - "id": 6570, + "id": 7187, "nodeType": "ParameterList", "parameters": [], - "src": "43712:0:21" + "src": "44676:0:28" }, - "scope": 7812, - "src": "43630:193:21", + "scope": 8443, + "src": "44594:193:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6607, + "id": 7224, "nodeType": "Block", - "src": "44137:111:21", + "src": "45101:111:28", "statements": [ { "assignments": [ - 6596 + 7213 ], "declarations": [ { "constant": false, - "id": 6596, + "id": 7213, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6607, - "src": "44147:39:21", + "scope": 7224, + "src": "45111:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6595, + "id": 7212, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44147:23:21", + "referencedDeclaration": 10646, + "src": "45111:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -28392,31 +28646,31 @@ "visibility": "internal" } ], - "id": 6600, + "id": 7217, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6597, + "id": 7214, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44189:8:21", + "referencedDeclaration": 5152, + "src": "45153:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6599, + "id": 7216, "indexExpression": { "argumentTypes": null, - "id": 6598, + "id": 7215, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6588, - "src": "44198:8:21", + "referencedDeclaration": 7205, + "src": "45162:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28427,19 +28681,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44189:18:21", + "src": "45153:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44147:60:21" + "src": "45111:60:28" }, { "expression": { "argumentTypes": null, - "id": 6605, + "id": 7222, "isConstant": false, "isLValue": false, "isPure": false, @@ -28448,26 +28702,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6601, + "id": 7218, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6596, - "src": "44217:7:21", + "referencedDeclaration": 7213, + "src": "45181:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6603, + "id": 7220, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "44217:17:21", + "referencedDeclaration": 10645, + "src": "45181:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28478,14 +28732,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6604, + "id": 7221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "44237:4:21", + "src": "45201:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28493,56 +28747,56 @@ }, "value": "true" }, - "src": "44217:24:21", + "src": "45181:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6606, + "id": 7223, "nodeType": "ExpressionStatement", - "src": "44217:24:21" + "src": "45181:24:28" } ] }, "documentation": "@notice allows the configurator to freeze the reserve.\nA freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\n@param _reserve the address of the reserve*", - "id": 6608, + "id": 7225, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6591, + "id": 7208, "modifierName": { "argumentTypes": null, - "id": 6590, + "id": 7207, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44109:27:21", + "referencedDeclaration": 5148, + "src": "45073:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44109:27:21" + "src": "45073:27:28" } ], "name": "freezeReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6589, + "id": 7206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6588, + "id": 7205, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6608, - "src": "44082:16:21", + "scope": 7225, + "src": "45046:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28550,10 +28804,10 @@ "typeString": "address" }, "typeName": { - "id": 6587, + "id": 7204, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44082:7:21", + "src": "45046:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28564,53 +28818,53 @@ "visibility": "internal" } ], - "src": "44081:18:21" + "src": "45045:18:28" }, "returnParameters": { - "id": 6592, + "id": 7209, "nodeType": "ParameterList", "parameters": [], - "src": "44137:0:21" + "src": "45101:0:28" }, - "scope": 7812, - "src": "44059:189:21", + "scope": 8443, + "src": "45023:189:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6629, + "id": 7246, "nodeType": "Block", - "src": "44516:112:21", + "src": "45480:112:28", "statements": [ { "assignments": [ - 6618 + 7235 ], "declarations": [ { "constant": false, - "id": 6618, + "id": 7235, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6629, - "src": "44526:39:21", + "scope": 7246, + "src": "45490:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6617, + "id": 7234, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44526:23:21", + "referencedDeclaration": 10646, + "src": "45490:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -28618,31 +28872,31 @@ "visibility": "internal" } ], - "id": 6622, + "id": 7239, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6619, + "id": 7236, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44568:8:21", + "referencedDeclaration": 5152, + "src": "45532:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6621, + "id": 7238, "indexExpression": { "argumentTypes": null, - "id": 6620, + "id": 7237, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6610, - "src": "44577:8:21", + "referencedDeclaration": 7227, + "src": "45541:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28653,19 +28907,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44568:18:21", + "src": "45532:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44526:60:21" + "src": "45490:60:28" }, { "expression": { "argumentTypes": null, - "id": 6627, + "id": 7244, "isConstant": false, "isLValue": false, "isPure": false, @@ -28674,26 +28928,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6623, + "id": 7240, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6618, - "src": "44596:7:21", + "referencedDeclaration": 7235, + "src": "45560:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6625, + "id": 7242, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "44596:17:21", + "referencedDeclaration": 10645, + "src": "45560:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28704,14 +28958,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6626, + "id": 7243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "44616:5:21", + "src": "45580:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28719,56 +28973,56 @@ }, "value": "false" }, - "src": "44596:25:21", + "src": "45560:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6628, + "id": 7245, "nodeType": "ExpressionStatement", - "src": "44596:25:21" + "src": "45560:25:28" } ] }, "documentation": "@notice allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\n@param _reserve the address of the reserve*", - "id": 6630, + "id": 7247, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6613, + "id": 7230, "modifierName": { "argumentTypes": null, - "id": 6612, + "id": 7229, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44488:27:21", + "referencedDeclaration": 5148, + "src": "45452:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44488:27:21" + "src": "45452:27:28" } ], "name": "unfreezeReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6611, + "id": 7228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6610, + "id": 7227, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6630, - "src": "44461:16:21", + "scope": 7247, + "src": "45425:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28776,10 +29030,10 @@ "typeString": "address" }, "typeName": { - "id": 6609, + "id": 7226, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44461:7:21", + "src": "45425:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28790,53 +29044,53 @@ "visibility": "internal" } ], - "src": "44460:18:21" + "src": "45424:18:28" }, "returnParameters": { - "id": 6614, + "id": 7231, "nodeType": "ParameterList", "parameters": [], - "src": "44516:0:21" + "src": "45480:0:28" }, - "scope": 7812, - "src": "44436:192:21", + "scope": 8443, + "src": "45400:192:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6653, + "id": 7270, "nodeType": "Block", - "src": "44946:121:21", + "src": "45910:121:28", "statements": [ { "assignments": [ - 6642 + 7259 ], "declarations": [ { "constant": false, - "id": 6642, + "id": 7259, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6653, - "src": "44956:39:21", + "scope": 7270, + "src": "45920:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6641, + "id": 7258, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44956:23:21", + "referencedDeclaration": 10646, + "src": "45920:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -28844,31 +29098,31 @@ "visibility": "internal" } ], - "id": 6646, + "id": 7263, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6643, + "id": 7260, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44998:8:21", + "referencedDeclaration": 5152, + "src": "45962:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6645, + "id": 7262, "indexExpression": { "argumentTypes": null, - "id": 6644, + "id": 7261, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "45007:8:21", + "referencedDeclaration": 7249, + "src": "45971:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28879,19 +29133,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44998:18:21", + "src": "45962:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44956:60:21" + "src": "45920:60:28" }, { "expression": { "argumentTypes": null, - "id": 6651, + "id": 7268, "isConstant": false, "isLValue": false, "isPure": false, @@ -28900,26 +29154,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6647, + "id": 7264, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6642, - "src": "45026:7:21", + "referencedDeclaration": 7259, + "src": "45990:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6649, + "id": 7266, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "45026:27:21", + "referencedDeclaration": 10623, + "src": "45990:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28929,67 +29183,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6650, + "id": 7267, "name": "_ltv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "45056:4:21", + "referencedDeclaration": 7251, + "src": "46020:4:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45026:34:21", + "src": "45990:34:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6652, + "id": 7269, "nodeType": "ExpressionStatement", - "src": "45026:34:21" + "src": "45990:34:28" } ] }, "documentation": "@notice allows the configurator to update the loan to value of a reserve\n@param _reserve the address of the reserve\n@param _ltv the new loan to value*", - "id": 6654, + "id": 7271, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6637, + "id": 7254, "modifierName": { "argumentTypes": null, - "id": 6636, + "id": 7253, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44914:27:21", + "referencedDeclaration": 5148, + "src": "45878:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44914:27:21" + "src": "45878:27:28" } ], "name": "setReserveBaseLTVasCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6635, + "id": 7252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6632, + "id": 7249, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6654, - "src": "44857:16:21", + "scope": 7271, + "src": "45821:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28997,10 +29251,10 @@ "typeString": "address" }, "typeName": { - "id": 6631, + "id": 7248, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44857:7:21", + "src": "45821:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29012,11 +29266,11 @@ }, { "constant": false, - "id": 6634, + "id": 7251, "name": "_ltv", "nodeType": "VariableDeclaration", - "scope": 6654, - "src": "44875:12:21", + "scope": 7271, + "src": "45839:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29024,10 +29278,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6633, + "id": 7250, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "44875:7:21", + "src": "45839:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29037,53 +29291,53 @@ "visibility": "internal" } ], - "src": "44856:32:21" + "src": "45820:32:28" }, "returnParameters": { - "id": 6638, + "id": 7255, "nodeType": "ParameterList", "parameters": [], - "src": "44946:0:21" + "src": "45910:0:28" }, - "scope": 7812, - "src": "44818:249:21", + "scope": 8443, + "src": "45782:249:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6677, + "id": 7294, "nodeType": "Block", - "src": "45414:128:21", + "src": "46378:128:28", "statements": [ { "assignments": [ - 6666 + 7283 ], "declarations": [ { "constant": false, - "id": 6666, + "id": 7283, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6677, - "src": "45424:39:21", + "scope": 7294, + "src": "46388:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6665, + "id": 7282, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "45424:23:21", + "referencedDeclaration": 10646, + "src": "46388:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -29091,31 +29345,31 @@ "visibility": "internal" } ], - "id": 6670, + "id": 7287, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6667, + "id": 7284, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "45466:8:21", + "referencedDeclaration": 5152, + "src": "46430:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6669, + "id": 7286, "indexExpression": { "argumentTypes": null, - "id": 6668, + "id": 7285, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6656, - "src": "45475:8:21", + "referencedDeclaration": 7273, + "src": "46439:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29126,19 +29380,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "45466:18:21", + "src": "46430:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "45424:60:21" + "src": "46388:60:28" }, { "expression": { "argumentTypes": null, - "id": 6675, + "id": 7292, "isConstant": false, "isLValue": false, "isPure": false, @@ -29147,26 +29401,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6671, + "id": 7288, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6666, - "src": "45494:7:21", + "referencedDeclaration": 7283, + "src": "46458:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6673, + "id": 7290, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "45494:28:21", + "referencedDeclaration": 10625, + "src": "46458:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29176,67 +29430,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6674, + "id": 7291, "name": "_threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6658, - "src": "45525:10:21", + "referencedDeclaration": 7275, + "src": "46489:10:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45494:41:21", + "src": "46458:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6676, + "id": 7293, "nodeType": "ExpressionStatement", - "src": "45494:41:21" + "src": "46458:41:28" } ] }, "documentation": "@notice allows the configurator to update the liquidation threshold of a reserve\n@param _reserve the address of the reserve\n@param _threshold the new liquidation threshold*", - "id": 6678, + "id": 7295, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6661, + "id": 7278, "modifierName": { "argumentTypes": null, - "id": 6660, + "id": 7277, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "45382:27:21", + "referencedDeclaration": 5148, + "src": "46346:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "45382:27:21" + "src": "46346:27:28" } ], "name": "setReserveLiquidationThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 6659, + "id": 7276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6656, + "id": 7273, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6678, - "src": "45319:16:21", + "scope": 7295, + "src": "46283:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29244,10 +29498,10 @@ "typeString": "address" }, "typeName": { - "id": 6655, + "id": 7272, "name": "address", "nodeType": "ElementaryTypeName", - "src": "45319:7:21", + "src": "46283:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29259,11 +29513,11 @@ }, { "constant": false, - "id": 6658, + "id": 7275, "name": "_threshold", "nodeType": "VariableDeclaration", - "scope": 6678, - "src": "45337:18:21", + "scope": 7295, + "src": "46301:18:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29271,10 +29525,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6657, + "id": 7274, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "45337:7:21", + "src": "46301:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29284,53 +29538,53 @@ "visibility": "internal" } ], - "src": "45318:38:21" + "src": "46282:38:28" }, "returnParameters": { - "id": 6662, + "id": 7279, "nodeType": "ParameterList", "parameters": [], - "src": "45414:0:21" + "src": "46378:0:28" }, - "scope": 7812, - "src": "45279:263:21", + "scope": 8443, + "src": "46243:263:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6701, + "id": 7318, "nodeType": "Block", - "src": "45869:120:21", + "src": "46833:120:28", "statements": [ { "assignments": [ - 6690 + 7307 ], "declarations": [ { "constant": false, - "id": 6690, + "id": 7307, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6701, - "src": "45879:39:21", + "scope": 7318, + "src": "46843:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6689, + "id": 7306, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "45879:23:21", + "referencedDeclaration": 10646, + "src": "46843:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -29338,31 +29592,31 @@ "visibility": "internal" } ], - "id": 6694, + "id": 7311, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6691, + "id": 7308, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "45921:8:21", + "referencedDeclaration": 5152, + "src": "46885:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6693, + "id": 7310, "indexExpression": { "argumentTypes": null, - "id": 6692, + "id": 7309, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6680, - "src": "45930:8:21", + "referencedDeclaration": 7297, + "src": "46894:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29373,19 +29627,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "45921:18:21", + "src": "46885:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "45879:60:21" + "src": "46843:60:28" }, { "expression": { "argumentTypes": null, - "id": 6699, + "id": 7316, "isConstant": false, "isLValue": false, "isPure": false, @@ -29394,26 +29648,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6695, + "id": 7312, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "45949:7:21", + "referencedDeclaration": 7307, + "src": "46913:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6697, + "id": 7314, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "45949:24:21", + "referencedDeclaration": 10627, + "src": "46913:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29423,67 +29677,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6698, + "id": 7315, "name": "_bonus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6682, - "src": "45976:6:21", + "referencedDeclaration": 7299, + "src": "46940:6:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45949:33:21", + "src": "46913:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6700, + "id": 7317, "nodeType": "ExpressionStatement", - "src": "45949:33:21" + "src": "46913:33:28" } ] }, "documentation": "@notice allows the configurator to update the liquidation bonus of a reserve\n@param _reserve the address of the reserve\n@param _bonus the new liquidation bonus*", - "id": 6702, + "id": 7319, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6685, + "id": 7302, "modifierName": { "argumentTypes": null, - "id": 6684, + "id": 7301, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "45837:27:21", + "referencedDeclaration": 5148, + "src": "46801:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "45837:27:21" + "src": "46801:27:28" } ], "name": "setReserveLiquidationBonus", "nodeType": "FunctionDefinition", "parameters": { - "id": 6683, + "id": 7300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6680, + "id": 7297, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6702, - "src": "45778:16:21", + "scope": 7319, + "src": "46742:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29491,10 +29745,10 @@ "typeString": "address" }, "typeName": { - "id": 6679, + "id": 7296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "45778:7:21", + "src": "46742:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29506,11 +29760,11 @@ }, { "constant": false, - "id": 6682, + "id": 7299, "name": "_bonus", "nodeType": "VariableDeclaration", - "scope": 6702, - "src": "45796:14:21", + "scope": 7319, + "src": "46760:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29518,10 +29772,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6681, + "id": 7298, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "45796:7:21", + "src": "46760:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29531,53 +29785,53 @@ "visibility": "internal" } ], - "src": "45777:34:21" + "src": "46741:34:28" }, "returnParameters": { - "id": 6686, + "id": 7303, "nodeType": "ParameterList", "parameters": [], - "src": "45869:0:21" + "src": "46833:0:28" }, - "scope": 7812, - "src": "45742:247:21", + "scope": 8443, + "src": "46706:247:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6725, + "id": 7342, "nodeType": "Block", - "src": "46302:115:21", + "src": "47266:115:28", "statements": [ { "assignments": [ - 6714 + 7331 ], "declarations": [ { "constant": false, - "id": 6714, + "id": 7331, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6725, - "src": "46312:39:21", + "scope": 7342, + "src": "47276:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6713, + "id": 7330, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "46312:23:21", + "referencedDeclaration": 10646, + "src": "47276:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -29585,31 +29839,31 @@ "visibility": "internal" } ], - "id": 6718, + "id": 7335, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6715, + "id": 7332, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "46354:8:21", + "referencedDeclaration": 5152, + "src": "47318:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6717, + "id": 7334, "indexExpression": { "argumentTypes": null, - "id": 6716, + "id": 7333, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6704, - "src": "46363:8:21", + "referencedDeclaration": 7321, + "src": "47327:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29620,19 +29874,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "46354:18:21", + "src": "47318:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "46312:60:21" + "src": "47276:60:28" }, { "expression": { "argumentTypes": null, - "id": 6723, + "id": 7340, "isConstant": false, "isLValue": false, "isPure": false, @@ -29641,26 +29895,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6719, + "id": 7336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, - "src": "46382:7:21", + "referencedDeclaration": 7331, + "src": "47346:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6721, + "id": 7338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "46382:16:21", + "referencedDeclaration": 10629, + "src": "47346:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29670,67 +29924,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6722, + "id": 7339, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, - "src": "46401:9:21", + "referencedDeclaration": 7323, + "src": "47365:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "46382:28:21", + "src": "47346:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6724, + "id": 7341, "nodeType": "ExpressionStatement", - "src": "46382:28:21" + "src": "47346:28:28" } ] }, "documentation": "@notice allows the configurator to update the reserve decimals\n@param _reserve the address of the reserve\n@param _decimals the decimals of the reserve*", - "id": 6726, + "id": 7343, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6709, + "id": 7326, "modifierName": { "argumentTypes": null, - "id": 6708, + "id": 7325, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "46270:27:21", + "referencedDeclaration": 5148, + "src": "47234:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "46270:27:21" + "src": "47234:27:28" } ], "name": "setReserveDecimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 6707, + "id": 7324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6704, + "id": 7321, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6726, - "src": "46208:16:21", + "scope": 7343, + "src": "47172:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29738,10 +29992,10 @@ "typeString": "address" }, "typeName": { - "id": 6703, + "id": 7320, "name": "address", "nodeType": "ElementaryTypeName", - "src": "46208:7:21", + "src": "47172:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29753,11 +30007,11 @@ }, { "constant": false, - "id": 6706, + "id": 7323, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 6726, - "src": "46226:17:21", + "scope": 7343, + "src": "47190:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29765,10 +30019,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6705, + "id": 7322, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "46226:7:21", + "src": "47190:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29778,25 +30032,25 @@ "visibility": "internal" } ], - "src": "46207:37:21" + "src": "47171:37:28" }, "returnParameters": { - "id": 6710, + "id": 7327, "nodeType": "ParameterList", "parameters": [], - "src": "46302:0:21" + "src": "47266:0:28" }, - "scope": 7812, - "src": "46180:237:21", + "scope": 8443, + "src": "47144:237:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6756, + "id": 7373, "nodeType": "Block", - "src": "47270:510:21", + "src": "48234:510:28", "statements": [ { "expression": { @@ -29808,26 +30062,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6741, + "id": 7358, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "47280:8:21", + "referencedDeclaration": 5152, + "src": "48244:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6743, + "id": 7360, "indexExpression": { "argumentTypes": null, - "id": 6742, + "id": 7359, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6728, - "src": "47289:8:21", + "referencedDeclaration": 7345, + "src": "48253:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29838,27 +30092,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "47280:18:21", + "src": "48244:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6744, + "id": 7361, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "47280:42:21", + "referencedDeclaration": 10724, + "src": "48244:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6745, + "id": 7362, "isConstant": false, "isLValue": false, "isPure": false, @@ -29866,15 +30120,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "47280:44:21", + "src": "48244:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6746, + "id": 7363, "nodeType": "ExpressionStatement", - "src": "47280:44:21" + "src": "48244:44:28" }, { "expression": { @@ -29882,12 +30136,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6748, + "id": 7365, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6728, - "src": "47617:8:21", + "referencedDeclaration": 7345, + "src": "48581:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29895,12 +30149,12 @@ }, { "argumentTypes": null, - "id": 6749, + "id": 7366, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6730, - "src": "47639:5:21", + "referencedDeclaration": 7347, + "src": "48603:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29908,12 +30162,12 @@ }, { "argumentTypes": null, - "id": 6750, + "id": 7367, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6732, - "src": "47658:23:21", + "referencedDeclaration": 7349, + "src": "48622:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29921,12 +30175,12 @@ }, { "argumentTypes": null, - "id": 6751, + "id": 7368, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "47695:16:21", + "referencedDeclaration": 7351, + "src": "48659:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29934,12 +30188,12 @@ }, { "argumentTypes": null, - "id": 6752, + "id": 7369, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6736, - "src": "47725:15:21", + "referencedDeclaration": 7353, + "src": "48689:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29947,14 +30201,14 @@ }, { "argumentTypes": null, - "id": 6753, + "id": 7370, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "47754:9:21", + "referencedDeclaration": 7355, + "src": "48718:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -29982,22 +30236,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 6747, + "id": 7364, "name": "updateReserveTotalBorrowsByRateModeInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7634, - "src": "47560:43:21", + "referencedDeclaration": 8251, + "src": "48524:43:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 6754, + "id": 7371, "isConstant": false, "isLValue": false, "isPure": false, @@ -30005,36 +30259,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "47560:213:21", + "src": "48524:213:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6755, + "id": 7372, "nodeType": "ExpressionStatement", - "src": "47560:213:21" + "src": "48524:213:28" } ] }, "documentation": "@dev updates the state of a reserve as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _principalBorrowBalance the previous borrow balance of the borrower before the action\n@param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n@param _amountBorrowed the new amount borrowed\n@param _rateMode the borrow rate mode (stable, variable)*", - "id": 6757, + "id": 7374, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnBorrowInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6739, + "id": 7356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6728, + "id": 7345, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47059:16:21", + "scope": 7374, + "src": "48023:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30042,10 +30296,10 @@ "typeString": "address" }, "typeName": { - "id": 6727, + "id": 7344, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47059:7:21", + "src": "48023:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30057,11 +30311,11 @@ }, { "constant": false, - "id": 6730, + "id": 7347, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47085:13:21", + "scope": 7374, + "src": "48049:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30069,10 +30323,10 @@ "typeString": "address" }, "typeName": { - "id": 6729, + "id": 7346, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47085:7:21", + "src": "48049:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30084,11 +30338,11 @@ }, { "constant": false, - "id": 6732, + "id": 7349, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47108:31:21", + "scope": 7374, + "src": "48072:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30096,10 +30350,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6731, + "id": 7348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47108:7:21", + "src": "48072:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30110,11 +30364,11 @@ }, { "constant": false, - "id": 6734, + "id": 7351, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47149:24:21", + "scope": 7374, + "src": "48113:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30122,10 +30376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6733, + "id": 7350, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47149:7:21", + "src": "48113:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30136,11 +30390,11 @@ }, { "constant": false, - "id": 6736, + "id": 7353, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47183:23:21", + "scope": 7374, + "src": "48147:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30148,10 +30402,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6735, + "id": 7352, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47183:7:21", + "src": "48147:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30162,26 +30416,26 @@ }, { "constant": false, - "id": 6738, + "id": 7355, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47216:38:21", + "scope": 7374, + "src": "48180:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6737, + "id": 7354, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "47216:28:21", + "referencedDeclaration": 10589, + "src": "48180:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -30189,53 +30443,53 @@ "visibility": "internal" } ], - "src": "47049:211:21" + "src": "48013:211:28" }, "returnParameters": { - "id": 6740, + "id": 7357, "nodeType": "ParameterList", "parameters": [], - "src": "47270:0:21" + "src": "48234:0:28" }, - "scope": 7812, - "src": "47006:774:21", + "scope": 8443, + "src": "47970:774:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6867, + "id": 7484, "nodeType": "Block", - "src": "48535:1180:21", + "src": "49499:1180:28", "statements": [ { "assignments": [ - 6775 + 7392 ], "declarations": [ { "constant": false, - "id": 6775, + "id": 7392, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6867, - "src": "48545:39:21", + "scope": 7484, + "src": "49509:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6774, + "id": 7391, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "48545:23:21", + "referencedDeclaration": 10646, + "src": "49509:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -30243,31 +30497,31 @@ "visibility": "internal" } ], - "id": 6779, + "id": 7396, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6776, + "id": 7393, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "48587:8:21", + "referencedDeclaration": 5152, + "src": "49551:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6778, + "id": 7395, "indexExpression": { "argumentTypes": null, - "id": 6777, + "id": 7394, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "48596:8:21", + "referencedDeclaration": 7376, + "src": "49560:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30278,42 +30532,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48587:18:21", + "src": "49551:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "48545:60:21" + "src": "49509:60:28" }, { "assignments": [ - 6783 + 7400 ], "declarations": [ { "constant": false, - "id": 6783, + "id": 7400, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6867, - "src": "48615:40:21", + "scope": 7484, + "src": "49579:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6782, + "id": 7399, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "48615:27:21", + "referencedDeclaration": 10605, + "src": "49579:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -30321,33 +30575,33 @@ "visibility": "internal" } ], - "id": 6789, + "id": 7406, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6784, + "id": 7401, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "48658:16:21", + "referencedDeclaration": 5158, + "src": "49622:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6786, + "id": 7403, "indexExpression": { "argumentTypes": null, - "id": 6785, + "id": 7402, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6761, - "src": "48675:5:21", + "referencedDeclaration": 7378, + "src": "49639:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30358,21 +30612,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48658:23:21", + "src": "49622:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6788, + "id": 7405, "indexExpression": { "argumentTypes": null, - "id": 6787, + "id": 7404, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "48682:8:21", + "referencedDeclaration": 7376, + "src": "49646:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30383,37 +30637,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48658:33:21", + "src": "49622:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "48615:76:21" + "src": "49579:76:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6794, + "id": 7411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6790, + "id": 7407, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "48706:9:21", + "referencedDeclaration": 7386, + "src": "49670:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -30425,32 +30679,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6791, + "id": 7408, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "48719:11:21", + "referencedDeclaration": 11332, + "src": "49683:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6792, + "id": 7409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "48719:28:21", + "referencedDeclaration": 10589, + "src": "49683:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6793, + "id": 7410, "isConstant": false, "isLValue": false, "isPure": true, @@ -30458,13 +30712,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "48719:35:21", + "src": "49683:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "48706:48:21", + "src": "49670:48:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30474,24 +30728,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6813, + "id": 7430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6809, + "id": 7426, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "48995:9:21", + "referencedDeclaration": 7386, + "src": "49959:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -30503,32 +30757,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6810, + "id": 7427, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "49008:11:21", + "referencedDeclaration": 11332, + "src": "49972:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6811, + "id": 7428, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "49008:28:21", + "referencedDeclaration": 10589, + "src": "49972:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6812, + "id": 7429, "isConstant": false, "isLValue": false, "isPure": true, @@ -30536,22 +30790,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "49008:37:21", + "src": "49972:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "48995:50:21", + "src": "49959:50:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 6832, + "id": 7449, "nodeType": "Block", - "src": "49295:59:21", + "src": "50259:59:28", "statements": [ { "expression": { @@ -30560,14 +30814,14 @@ { "argumentTypes": null, "hexValue": "496e76616c696420626f72726f772072617465206d6f6465", - "id": 6829, + "id": 7446, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "49316:26:21", + "src": "50280:26:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_dbb490cfc6f0431271e9ffb0a8191270d9899ecd413f945b698120b6dec3ba16", @@ -30583,21 +30837,21 @@ "typeString": "literal_string \"Invalid borrow rate mode\"" } ], - "id": 6828, + "id": 7445, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "49309:6:21", + "referencedDeclaration": 16133, + "src": "50273:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 6830, + "id": 7447, "isConstant": false, "isLValue": false, "isPure": false, @@ -30605,30 +30859,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49309:34:21", + "src": "50273:34:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6831, + "id": 7448, "nodeType": "ExpressionStatement", - "src": "49309:34:21" + "src": "50273:34:28" } ] }, - "id": 6833, + "id": 7450, "nodeType": "IfStatement", - "src": "48991:363:21", + "src": "49955:363:28", "trueBody": { - "id": 6827, + "id": 7444, "nodeType": "Block", - "src": "49047:242:21", + "src": "50011:242:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6818, + "id": 7435, "isConstant": false, "isLValue": false, "isPure": false, @@ -30637,26 +30891,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6814, + "id": 7431, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49157:4:21", + "referencedDeclaration": 7400, + "src": "50121:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6816, + "id": 7433, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "49157:21:21", + "referencedDeclaration": 10600, + "src": "50121:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30667,14 +30921,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6817, + "id": 7434, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "49181:1:21", + "src": "50145:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30682,20 +30936,20 @@ }, "value": "0" }, - "src": "49157:25:21", + "src": "50121:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6819, + "id": 7436, "nodeType": "ExpressionStatement", - "src": "49157:25:21" + "src": "50121:25:28" }, { "expression": { "argumentTypes": null, - "id": 6825, + "id": 7442, "isConstant": false, "isLValue": false, "isPure": false, @@ -30704,26 +30958,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6820, + "id": 7437, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49196:4:21", + "referencedDeclaration": 7400, + "src": "50160:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6822, + "id": 7439, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "49196:38:21", + "referencedDeclaration": 10596, + "src": "50160:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30735,56 +30989,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6823, + "id": 7440, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "49237:7:21", + "referencedDeclaration": 7392, + "src": "50201:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6824, + "id": 7441, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "49237:41:21", + "referencedDeclaration": 10621, + "src": "50201:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49196:82:21", + "src": "50160:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6826, + "id": 7443, "nodeType": "ExpressionStatement", - "src": "49196:82:21" + "src": "50160:82:28" } ] } }, - "id": 6834, + "id": 7451, "nodeType": "IfStatement", - "src": "48702:652:21", + "src": "49666:652:28", "trueBody": { - "id": 6808, + "id": 7425, "nodeType": "Block", - "src": "48756:229:21", + "src": "49720:229:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6800, + "id": 7417, "isConstant": false, "isLValue": false, "isPure": false, @@ -30793,26 +31047,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6795, + "id": 7412, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "48863:4:21", + "referencedDeclaration": 7400, + "src": "49827:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6797, + "id": 7414, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "48863:21:21", + "referencedDeclaration": 10600, + "src": "49827:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30824,45 +31078,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6798, + "id": 7415, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "48887:7:21", + "referencedDeclaration": 7392, + "src": "49851:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6799, + "id": 7416, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "48887:31:21", + "referencedDeclaration": 10617, + "src": "49851:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "48863:55:21", + "src": "49827:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6801, + "id": 7418, "nodeType": "ExpressionStatement", - "src": "48863:55:21" + "src": "49827:55:28" }, { "expression": { "argumentTypes": null, - "id": 6806, + "id": 7423, "isConstant": false, "isLValue": false, "isPure": false, @@ -30871,26 +31125,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6802, + "id": 7419, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "48932:4:21", + "referencedDeclaration": 7400, + "src": "49896:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6804, + "id": 7421, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "48932:38:21", + "referencedDeclaration": 10596, + "src": "49896:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30901,14 +31155,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6805, + "id": 7422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "48973:1:21", + "src": "49937:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30916,15 +31170,15 @@ }, "value": "0" }, - "src": "48932:42:21", + "src": "49896:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6807, + "id": 7424, "nodeType": "ExpressionStatement", - "src": "48932:42:21" + "src": "49896:42:28" } ] } @@ -30932,7 +31186,7 @@ { "expression": { "argumentTypes": null, - "id": 6846, + "id": 7463, "isConstant": false, "isLValue": false, "isPure": false, @@ -30941,26 +31195,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6835, + "id": 7452, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49428:4:21", + "referencedDeclaration": 7400, + "src": "50392:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6837, + "id": 7454, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "49428:27:21", + "referencedDeclaration": 10594, + "src": "50392:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30973,12 +31227,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6844, + "id": 7461, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6765, - "src": "49524:16:21", + "referencedDeclaration": 7382, + "src": "50488:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30997,12 +31251,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6841, + "id": 7458, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "49490:15:21", + "referencedDeclaration": 7380, + "src": "50454:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31020,46 +31274,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6838, + "id": 7455, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49458:4:21", + "referencedDeclaration": 7400, + "src": "50422:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6839, + "id": 7456, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "49458:27:21", + "referencedDeclaration": 10594, + "src": "50422:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6840, + "id": 7457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49458:31:21", + "referencedDeclaration": 15070, + "src": "50422:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6842, + "id": 7459, "isConstant": false, "isLValue": false, "isPure": false, @@ -31067,27 +31321,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49458:48:21", + "src": "50422:48:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6843, + "id": 7460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49458:52:21", + "referencedDeclaration": 15070, + "src": "50422:52:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6845, + "id": 7462, "isConstant": false, "isLValue": false, "isPure": false, @@ -31095,26 +31349,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49458:92:21", + "src": "50422:92:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49428:122:21", + "src": "50392:122:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6847, + "id": 7464, "nodeType": "ExpressionStatement", - "src": "49428:122:21" + "src": "50392:122:28" }, { "expression": { "argumentTypes": null, - "id": 6856, + "id": 7473, "isConstant": false, "isLValue": false, "isPure": false, @@ -31123,26 +31377,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6848, + "id": 7465, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49560:4:21", + "referencedDeclaration": 7400, + "src": "50524:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6850, + "id": 7467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "49560:19:21", + "referencedDeclaration": 10598, + "src": "50524:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31155,12 +31409,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6854, + "id": 7471, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6767, - "src": "49606:4:21", + "referencedDeclaration": 7384, + "src": "50570:4:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31178,46 +31432,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6851, + "id": 7468, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49582:4:21", + "referencedDeclaration": 7400, + "src": "50546:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6852, + "id": 7469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "49582:19:21", + "referencedDeclaration": 10598, + "src": "50546:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6853, + "id": 7470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49582:23:21", + "referencedDeclaration": 15070, + "src": "50546:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6855, + "id": 7472, "isConstant": false, "isLValue": false, "isPure": false, @@ -31225,26 +31479,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49582:29:21", + "src": "50546:29:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49560:51:21", + "src": "50524:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6857, + "id": 7474, "nodeType": "ExpressionStatement", - "src": "49560:51:21" + "src": "50524:51:28" }, { "expression": { "argumentTypes": null, - "id": 6865, + "id": 7482, "isConstant": false, "isLValue": false, "isPure": false, @@ -31253,26 +31507,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6858, + "id": 7475, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49657:4:21", + "referencedDeclaration": 7400, + "src": "50621:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6860, + "id": 7477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "49657:24:21", + "referencedDeclaration": 10602, + "src": "50621:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -31287,18 +31541,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6862, + "id": 7479, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "49691:5:21", + "referencedDeclaration": 16117, + "src": "50655:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6863, + "id": 7480, "isConstant": false, "isLValue": false, "isPure": false, @@ -31306,7 +31560,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "49691:15:21", + "src": "50655:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31320,20 +31574,20 @@ "typeString": "uint256" } ], - "id": 6861, + "id": 7478, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "49684:6:21", + "src": "50648:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 6864, + "id": 7481, "isConstant": false, "isLValue": false, "isPure": false, @@ -31341,42 +31595,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49684:23:21", + "src": "50648:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "49657:50:21", + "src": "50621:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 6866, + "id": 7483, "nodeType": "ExpressionStatement", - "src": "49657:50:21" + "src": "50621:50:28" } ] }, "documentation": "@dev updates the state of a user as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _amountBorrowed the amount borrowed\n@param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n@param _rateMode the borrow rate mode (stable, variable)\n@return the final borrow rate for the user. Emitted by the borrow() event*", - "id": 6868, + "id": 7485, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnBorrowInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6770, + "id": 7387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6759, + "id": 7376, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48343:16:21", + "scope": 7485, + "src": "49307:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31384,10 +31638,10 @@ "typeString": "address" }, "typeName": { - "id": 6758, + "id": 7375, "name": "address", "nodeType": "ElementaryTypeName", - "src": "48343:7:21", + "src": "49307:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31399,11 +31653,11 @@ }, { "constant": false, - "id": 6761, + "id": 7378, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48369:13:21", + "scope": 7485, + "src": "49333:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31411,10 +31665,10 @@ "typeString": "address" }, "typeName": { - "id": 6760, + "id": 7377, "name": "address", "nodeType": "ElementaryTypeName", - "src": "48369:7:21", + "src": "49333:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31426,11 +31680,11 @@ }, { "constant": false, - "id": 6763, + "id": 7380, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48392:23:21", + "scope": 7485, + "src": "49356:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31438,10 +31692,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6762, + "id": 7379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48392:7:21", + "src": "49356:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31452,11 +31706,11 @@ }, { "constant": false, - "id": 6765, + "id": 7382, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48425:24:21", + "scope": 7485, + "src": "49389:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31464,10 +31718,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6764, + "id": 7381, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48425:7:21", + "src": "49389:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31478,11 +31732,11 @@ }, { "constant": false, - "id": 6767, + "id": 7384, "name": "_fee", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48459:12:21", + "scope": 7485, + "src": "49423:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31490,10 +31744,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6766, + "id": 7383, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48459:7:21", + "src": "49423:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31504,26 +31758,26 @@ }, { "constant": false, - "id": 6769, + "id": 7386, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48481:38:21", + "scope": 7485, + "src": "49445:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6768, + "id": 7385, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "48481:28:21", + "referencedDeclaration": 10589, + "src": "49445:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -31531,53 +31785,53 @@ "visibility": "internal" } ], - "src": "48333:192:21" + "src": "49297:192:28" }, "returnParameters": { - "id": 6771, + "id": 7388, "nodeType": "ParameterList", "parameters": [], - "src": "48535:0:21" + "src": "49499:0:28" }, - "scope": 7812, - "src": "48293:1422:21", + "scope": 8443, + "src": "49257:1422:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6948, + "id": 7565, "nodeType": "Block", - "src": "50275:1010:21", + "src": "51239:1010:28", "statements": [ { "assignments": [ - 6882 + 7499 ], "declarations": [ { "constant": false, - "id": 6882, + "id": 7499, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50285:39:21", + "scope": 7565, + "src": "51249:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6881, + "id": 7498, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "50285:23:21", + "referencedDeclaration": 10646, + "src": "51249:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -31585,31 +31839,31 @@ "visibility": "internal" } ], - "id": 6886, + "id": 7503, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6883, + "id": 7500, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "50327:8:21", + "referencedDeclaration": 5152, + "src": "51291:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6885, + "id": 7502, "indexExpression": { "argumentTypes": null, - "id": 6884, + "id": 7501, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50336:8:21", + "referencedDeclaration": 7487, + "src": "51300:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31620,42 +31874,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50327:18:21", + "src": "51291:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "50285:60:21" + "src": "51249:60:28" }, { "assignments": [ - 6890 + 7507 ], "declarations": [ { "constant": false, - "id": 6890, + "id": 7507, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50355:40:21", + "scope": 7565, + "src": "51319:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6889, + "id": 7506, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "50355:27:21", + "referencedDeclaration": 10605, + "src": "51319:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -31663,33 +31917,33 @@ "visibility": "internal" } ], - "id": 6896, + "id": 7513, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6891, + "id": 7508, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "50398:16:21", + "referencedDeclaration": 5158, + "src": "51362:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6893, + "id": 7510, "indexExpression": { "argumentTypes": null, - "id": 6892, - "name": "_reserve", + "id": 7509, + "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50415:8:21", + "referencedDeclaration": 7489, + "src": "51379:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31700,21 +31954,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50398:26:21", + "src": "51362:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6895, + "id": 7512, "indexExpression": { "argumentTypes": null, - "id": 6894, - "name": "_user", + "id": 7511, + "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "50425:5:21", + "referencedDeclaration": 7487, + "src": "51386:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31725,42 +31979,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50398:33:21", + "src": "51362:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "50355:76:21" + "src": "51319:76:28" }, { "assignments": [ - 6900 + 7517 ], "declarations": [ { "constant": false, - "id": 6900, + "id": 7517, "name": "borrowRateMode", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50442:43:21", + "scope": 7565, + "src": "51406:43:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6899, + "id": 7516, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "50442:28:21", + "referencedDeclaration": 10589, + "src": "51406:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -31768,18 +32022,18 @@ "visibility": "internal" } ], - "id": 6905, + "id": 7522, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6902, + "id": 7519, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50517:8:21", + "referencedDeclaration": 7487, + "src": "51481:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31787,12 +32041,12 @@ }, { "argumentTypes": null, - "id": 6903, + "id": 7520, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "50527:5:21", + "referencedDeclaration": 7489, + "src": "51491:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31810,18 +32064,18 @@ "typeString": "address" } ], - "id": 6901, + "id": 7518, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "50488:28:21", + "referencedDeclaration": 6688, + "src": "51452:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 6904, + "id": 7521, "isConstant": false, "isLValue": false, "isPure": false, @@ -31829,14 +32083,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50488:45:21", + "src": "51452:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "50442:91:21" + "src": "51406:91:28" }, { "expression": { @@ -31848,26 +32102,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6906, + "id": 7523, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "50573:8:21", + "referencedDeclaration": 5152, + "src": "51537:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6908, + "id": 7525, "indexExpression": { "argumentTypes": null, - "id": 6907, + "id": 7524, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50582:8:21", + "referencedDeclaration": 7487, + "src": "51546:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31878,27 +32132,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50573:18:21", + "src": "51537:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6909, + "id": 7526, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "50573:42:21", + "referencedDeclaration": 10724, + "src": "51537:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6910, + "id": 7527, "isConstant": false, "isLValue": false, "isPure": false, @@ -31906,38 +32160,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50573:44:21", + "src": "51537:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6911, + "id": 7528, "nodeType": "ExpressionStatement", - "src": "50573:44:21" + "src": "51537:44:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6916, + "id": 7533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6912, + "id": 7529, "name": "borrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6900, - "src": "50736:14:21", + "referencedDeclaration": 7517, + "src": "51700:14:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -31949,32 +32203,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6913, + "id": 7530, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "50754:11:21", + "referencedDeclaration": 11332, + "src": "51718:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6914, + "id": 7531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "50754:28:21", + "referencedDeclaration": 10589, + "src": "51718:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6915, + "id": 7532, "isConstant": false, "isLValue": false, "isPure": true, @@ -31982,22 +32236,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "50754:35:21", + "src": "51718:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "50736:53:21", + "src": "51700:53:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 6946, + "id": 7563, "nodeType": "Block", - "src": "51125:154:21", + "src": "52089:154:28", "statements": [ { "expression": { @@ -32005,12 +32259,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6937, + "id": 7554, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "51176:16:21", + "referencedDeclaration": 7493, + "src": "52140:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32026,32 +32280,32 @@ ], "expression": { "argumentTypes": null, - "id": 6934, + "id": 7551, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "51139:7:21", + "referencedDeclaration": 7499, + "src": "52103:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6936, + "id": 7553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "51139:36:21", + "referencedDeclaration": 11212, + "src": "52103:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 6938, + "id": 7555, "isConstant": false, "isLValue": false, "isPure": false, @@ -32059,15 +32313,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "51139:54:21", + "src": "52103:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6939, + "id": 7556, "nodeType": "ExpressionStatement", - "src": "51139:54:21" + "src": "52103:54:28" }, { "expression": { @@ -32075,12 +32329,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6943, + "id": 7560, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "51244:23:21", + "referencedDeclaration": 7491, + "src": "52208:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32096,32 +32350,32 @@ ], "expression": { "argumentTypes": null, - "id": 6940, + "id": 7557, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "51207:7:21", + "referencedDeclaration": 7499, + "src": "52171:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6942, + "id": 7559, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "51207:36:21", + "referencedDeclaration": 11238, + "src": "52171:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 6944, + "id": 7561, "isConstant": false, "isLValue": false, "isPure": false, @@ -32129,25 +32383,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "51207:61:21", + "src": "52171:61:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6945, + "id": 7562, "nodeType": "ExpressionStatement", - "src": "51207:61:21" + "src": "52171:61:28" } ] }, - "id": 6947, + "id": 7564, "nodeType": "IfStatement", - "src": "50732:547:21", + "src": "51696:547:28", "trueBody": { - "id": 6933, + "id": 7550, "nodeType": "Block", - "src": "50791:328:21", + "src": "51755:328:28", "statements": [ { "expression": { @@ -32155,12 +32409,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6920, + "id": 7537, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "50877:16:21", + "referencedDeclaration": 7493, + "src": "51841:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32170,26 +32424,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6921, + "id": 7538, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "50911:4:21", + "referencedDeclaration": 7507, + "src": "51875:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6922, + "id": 7539, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "50911:21:21", + "referencedDeclaration": 10600, + "src": "51875:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32209,32 +32463,32 @@ ], "expression": { "argumentTypes": null, - "id": 6917, + "id": 7534, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "50805:7:21", + "referencedDeclaration": 7499, + "src": "51769:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6919, + "id": 7536, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "50805:54:21", + "referencedDeclaration": 11107, + "src": "51769:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 6923, + "id": 7540, "isConstant": false, "isLValue": false, "isPure": false, @@ -32242,15 +32496,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50805:141:21", + "src": "51769:141:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6924, + "id": 7541, "nodeType": "ExpressionStatement", - "src": "50805:141:21" + "src": "51769:141:28" }, { "expression": { @@ -32258,12 +32512,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6928, + "id": 7545, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "51032:23:21", + "referencedDeclaration": 7491, + "src": "51996:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32273,26 +32527,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6929, + "id": 7546, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "51073:4:21", + "referencedDeclaration": 7507, + "src": "52037:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6930, + "id": 7547, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "51073:21:21", + "referencedDeclaration": 10600, + "src": "52037:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32312,32 +32566,32 @@ ], "expression": { "argumentTypes": null, - "id": 6925, + "id": 7542, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "50960:7:21", + "referencedDeclaration": 7499, + "src": "51924:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6927, + "id": 7544, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "50960:54:21", + "referencedDeclaration": 11194, + "src": "51924:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 6931, + "id": 7548, "isConstant": false, "isLValue": false, "isPure": false, @@ -32345,15 +32599,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50960:148:21", + "src": "51924:148:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6932, + "id": 7549, "nodeType": "ExpressionStatement", - "src": "50960:148:21" + "src": "51924:148:28" } ] } @@ -32361,23 +32615,23 @@ ] }, "documentation": "@dev updates the state of the reserve as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 6949, + "id": 7566, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnRepayInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6877, + "id": 7494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6870, + "id": 7487, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50145:16:21", + "scope": 7566, + "src": "51109:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32385,10 +32639,10 @@ "typeString": "address" }, "typeName": { - "id": 6869, + "id": 7486, "name": "address", "nodeType": "ElementaryTypeName", - "src": "50145:7:21", + "src": "51109:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32400,11 +32654,11 @@ }, { "constant": false, - "id": 6872, + "id": 7489, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50171:13:21", + "scope": 7566, + "src": "51135:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32412,10 +32666,10 @@ "typeString": "address" }, "typeName": { - "id": 6871, + "id": 7488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "50171:7:21", + "src": "51135:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32427,11 +32681,11 @@ }, { "constant": false, - "id": 6874, + "id": 7491, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50194:31:21", + "scope": 7566, + "src": "51158:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32439,10 +32693,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6873, + "id": 7490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "50194:7:21", + "src": "51158:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32453,11 +32707,11 @@ }, { "constant": false, - "id": 6876, + "id": 7493, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50235:24:21", + "scope": 7566, + "src": "51199:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -32465,10 +32719,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6875, + "id": 7492, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "50235:7:21", + "src": "51199:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32478,53 +32732,53 @@ "visibility": "internal" } ], - "src": "50135:130:21" + "src": "51099:130:28" }, "returnParameters": { - "id": 6878, + "id": 7495, "nodeType": "ParameterList", "parameters": [], - "src": "50275:0:21" + "src": "51239:0:28" }, - "scope": 7812, - "src": "50093:1192:21", + "scope": 8443, + "src": "51057:1192:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7036, + "id": 7653, "nodeType": "Block", - "src": "52060:1017:21", + "src": "53024:1017:28", "statements": [ { "assignments": [ - 6967 + 7584 ], "declarations": [ { "constant": false, - "id": 6967, + "id": 7584, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "52070:39:21", + "scope": 7653, + "src": "53034:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6966, + "id": 7583, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "52070:23:21", + "referencedDeclaration": 10646, + "src": "53034:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -32532,31 +32786,31 @@ "visibility": "internal" } ], - "id": 6971, + "id": 7588, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6968, + "id": 7585, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "52112:8:21", + "referencedDeclaration": 5152, + "src": "53076:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6970, + "id": 7587, "indexExpression": { "argumentTypes": null, - "id": 6969, + "id": 7586, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "52121:8:21", + "referencedDeclaration": 7568, + "src": "53085:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32567,42 +32821,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52112:18:21", + "src": "53076:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "52070:60:21" + "src": "53034:60:28" }, { "assignments": [ - 6975 + 7592 ], "declarations": [ { "constant": false, - "id": 6975, + "id": 7592, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "52140:40:21", + "scope": 7653, + "src": "53104:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6974, + "id": 7591, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "52140:27:21", + "referencedDeclaration": 10605, + "src": "53104:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -32610,33 +32864,33 @@ "visibility": "internal" } ], - "id": 6981, + "id": 7598, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6976, + "id": 7593, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "52183:16:21", + "referencedDeclaration": 5158, + "src": "53147:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6978, + "id": 7595, "indexExpression": { "argumentTypes": null, - "id": 6977, + "id": 7594, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "52200:5:21", + "referencedDeclaration": 7570, + "src": "53164:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32647,21 +32901,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52183:23:21", + "src": "53147:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6980, + "id": 7597, "indexExpression": { "argumentTypes": null, - "id": 6979, + "id": 7596, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "52207:8:21", + "referencedDeclaration": 7568, + "src": "53171:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32672,19 +32926,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52183:33:21", + "src": "53147:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "52140:76:21" + "src": "53104:76:28" }, { "expression": { "argumentTypes": null, - "id": 6993, + "id": 7610, "isConstant": false, "isLValue": false, "isPure": false, @@ -32693,26 +32947,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6982, + "id": 7599, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52349:4:21", + "referencedDeclaration": 7592, + "src": "53313:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6984, + "id": 7601, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "52349:27:21", + "referencedDeclaration": 10594, + "src": "53313:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32725,12 +32979,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6991, + "id": 7608, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6955, - "src": "52446:23:21", + "referencedDeclaration": 7572, + "src": "53410:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32749,12 +33003,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6988, + "id": 7605, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "52411:16:21", + "referencedDeclaration": 7576, + "src": "53375:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32772,46 +33026,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6985, + "id": 7602, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52379:4:21", + "referencedDeclaration": 7592, + "src": "53343:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6986, + "id": 7603, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "52379:27:21", + "referencedDeclaration": 10594, + "src": "53343:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6987, + "id": 7604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "52379:31:21", + "referencedDeclaration": 15070, + "src": "53343:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6989, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, @@ -32819,27 +33073,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52379:49:21", + "src": "53343:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6990, + "id": 7607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "52379:53:21", + "referencedDeclaration": 15095, + "src": "53343:53:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6992, + "id": 7609, "isConstant": false, "isLValue": false, "isPure": false, @@ -32847,26 +33101,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52379:100:21", + "src": "53343:100:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52349:130:21", + "src": "53313:130:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6994, + "id": 7611, "nodeType": "ExpressionStatement", - "src": "52349:130:21" + "src": "53313:130:28" }, { "expression": { "argumentTypes": null, - "id": 7000, + "id": 7617, "isConstant": false, "isLValue": false, "isPure": false, @@ -32875,26 +33129,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6995, + "id": 7612, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52489:4:21", + "referencedDeclaration": 7592, + "src": "53453:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6997, + "id": 7614, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "52489:38:21", + "referencedDeclaration": 10596, + "src": "53453:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32906,68 +33160,68 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6998, + "id": 7615, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "52530:7:21", + "referencedDeclaration": 7584, + "src": "53494:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6999, + "id": 7616, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "52530:41:21", + "referencedDeclaration": 10621, + "src": "53494:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52489:82:21", + "src": "53453:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7001, + "id": 7618, "nodeType": "ExpressionStatement", - "src": "52489:82:21" + "src": "53453:82:28" }, { "condition": { "argumentTypes": null, - "id": 7002, + "id": 7619, "name": "_repaidWholeLoan", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "52772:16:21", + "referencedDeclaration": 7578, + "src": "53736:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7016, + "id": 7633, "nodeType": "IfStatement", - "src": "52768:128:21", + "src": "53732:128:28", "trueBody": { - "id": 7015, + "id": 7632, "nodeType": "Block", - "src": "52790:106:21", + "src": "53754:106:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7007, + "id": 7624, "isConstant": false, "isLValue": false, "isPure": false, @@ -32976,26 +33230,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7003, + "id": 7620, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52804:4:21", + "referencedDeclaration": 7592, + "src": "53768:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7005, + "id": 7622, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "52804:21:21", + "referencedDeclaration": 10600, + "src": "53768:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33006,14 +33260,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7006, + "id": 7623, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "52828:1:21", + "src": "53792:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -33021,20 +33275,20 @@ }, "value": "0" }, - "src": "52804:25:21", + "src": "53768:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7008, + "id": 7625, "nodeType": "ExpressionStatement", - "src": "52804:25:21" + "src": "53768:25:28" }, { "expression": { "argumentTypes": null, - "id": 7013, + "id": 7630, "isConstant": false, "isLValue": false, "isPure": false, @@ -33043,26 +33297,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7009, + "id": 7626, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52843:4:21", + "referencedDeclaration": 7592, + "src": "53807:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7011, + "id": 7628, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "52843:38:21", + "referencedDeclaration": 10596, + "src": "53807:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33073,14 +33327,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7012, + "id": 7629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "52884:1:21", + "src": "53848:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -33088,15 +33342,15 @@ }, "value": "0" }, - "src": "52843:42:21", + "src": "53807:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7014, + "id": 7631, "nodeType": "ExpressionStatement", - "src": "52843:42:21" + "src": "53807:42:28" } ] } @@ -33104,7 +33358,7 @@ { "expression": { "argumentTypes": null, - "id": 7025, + "id": 7642, "isConstant": false, "isLValue": false, "isPure": false, @@ -33113,26 +33367,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7017, + "id": 7634, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52905:4:21", + "referencedDeclaration": 7592, + "src": "53869:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7019, + "id": 7636, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "52905:19:21", + "referencedDeclaration": 10598, + "src": "53869:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,12 +33399,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7023, + "id": 7640, "name": "_originationFeeRepaid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "52951:21:21", + "referencedDeclaration": 7574, + "src": "53915:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33168,46 +33422,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7020, + "id": 7637, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52927:4:21", + "referencedDeclaration": 7592, + "src": "53891:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7021, + "id": 7638, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "52927:19:21", + "referencedDeclaration": 10598, + "src": "53891:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7022, + "id": 7639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "52927:23:21", + "referencedDeclaration": 15095, + "src": "53891:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7024, + "id": 7641, "isConstant": false, "isLValue": false, "isPure": false, @@ -33215,26 +33469,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52927:46:21", + "src": "53891:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52905:68:21", + "src": "53869:68:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7026, + "id": 7643, "nodeType": "ExpressionStatement", - "src": "52905:68:21" + "src": "53869:68:28" }, { "expression": { "argumentTypes": null, - "id": 7034, + "id": 7651, "isConstant": false, "isLValue": false, "isPure": false, @@ -33243,26 +33497,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7027, + "id": 7644, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "53019:4:21", + "referencedDeclaration": 7592, + "src": "53983:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7029, + "id": 7646, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "53019:24:21", + "referencedDeclaration": 10602, + "src": "53983:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -33277,18 +33531,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7031, + "id": 7648, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "53053:5:21", + "referencedDeclaration": 16117, + "src": "54017:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7032, + "id": 7649, "isConstant": false, "isLValue": false, "isPure": false, @@ -33296,7 +33550,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "53053:15:21", + "src": "54017:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33310,20 +33564,20 @@ "typeString": "uint256" } ], - "id": 7030, + "id": 7647, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "53046:6:21", + "src": "54010:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7033, + "id": 7650, "isConstant": false, "isLValue": false, "isPure": false, @@ -33331,42 +33585,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "53046:23:21", + "src": "54010:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "53019:50:21", + "src": "53983:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7035, + "id": 7652, "nodeType": "ExpressionStatement", - "src": "53019:50:21" + "src": "53983:50:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _originationFeeRepaid the fee on the amount that is being repaid\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _repaidWholeLoan true if the user is repaying the whole loan*", - "id": 7037, + "id": 7654, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnRepayInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6962, + "id": 7579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6951, + "id": 7568, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51860:16:21", + "scope": 7654, + "src": "52824:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33374,10 +33628,10 @@ "typeString": "address" }, "typeName": { - "id": 6950, + "id": 7567, "name": "address", "nodeType": "ElementaryTypeName", - "src": "51860:7:21", + "src": "52824:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33389,11 +33643,11 @@ }, { "constant": false, - "id": 6953, + "id": 7570, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51886:13:21", + "scope": 7654, + "src": "52850:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33401,10 +33655,10 @@ "typeString": "address" }, "typeName": { - "id": 6952, + "id": 7569, "name": "address", "nodeType": "ElementaryTypeName", - "src": "51886:7:21", + "src": "52850:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33416,11 +33670,11 @@ }, { "constant": false, - "id": 6955, + "id": 7572, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51909:31:21", + "scope": 7654, + "src": "52873:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33428,10 +33682,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6954, + "id": 7571, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51909:7:21", + "src": "52873:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33442,11 +33696,11 @@ }, { "constant": false, - "id": 6957, + "id": 7574, "name": "_originationFeeRepaid", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51950:29:21", + "scope": 7654, + "src": "52914:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33454,10 +33708,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6956, + "id": 7573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51950:7:21", + "src": "52914:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33468,11 +33722,11 @@ }, { "constant": false, - "id": 6959, + "id": 7576, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51989:24:21", + "scope": 7654, + "src": "52953:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33480,10 +33734,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6958, + "id": 7575, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51989:7:21", + "src": "52953:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33494,11 +33748,11 @@ }, { "constant": false, - "id": 6961, + "id": 7578, "name": "_repaidWholeLoan", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "52023:21:21", + "scope": 7654, + "src": "52987:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33506,10 +33760,10 @@ "typeString": "bool" }, "typeName": { - "id": 6960, + "id": 7577, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "52023:4:21", + "src": "52987:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33519,53 +33773,53 @@ "visibility": "internal" } ], - "src": "51850:200:21" + "src": "52814:200:28" }, "returnParameters": { - "id": 6963, + "id": 7580, "nodeType": "ParameterList", "parameters": [], - "src": "52060:0:21" + "src": "53024:0:28" }, - "scope": 7812, - "src": "51811:1266:21", + "scope": 8443, + "src": "52775:1266:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7128, + "id": 7745, "nodeType": "Block", - "src": "53809:1223:21", + "src": "54773:1223:28", "statements": [ { "assignments": [ - 7053 + 7670 ], "declarations": [ { "constant": false, - "id": 7053, + "id": 7670, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "53819:39:21", + "scope": 7745, + "src": "54783:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7052, + "id": 7669, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "53819:23:21", + "referencedDeclaration": 10646, + "src": "54783:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -33573,31 +33827,31 @@ "visibility": "internal" } ], - "id": 7057, + "id": 7674, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7054, + "id": 7671, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "53861:8:21", + "referencedDeclaration": 5152, + "src": "54825:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7056, + "id": 7673, "indexExpression": { "argumentTypes": null, - "id": 7055, + "id": 7672, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "53870:8:21", + "referencedDeclaration": 7656, + "src": "54834:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33608,42 +33862,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53861:18:21", + "src": "54825:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "53819:60:21" + "src": "54783:60:28" }, { "assignments": [ - 7061 + 7678 ], "declarations": [ { "constant": false, - "id": 7061, + "id": 7678, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "53889:40:21", + "scope": 7745, + "src": "54853:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7060, + "id": 7677, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "53889:27:21", + "referencedDeclaration": 10605, + "src": "54853:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -33651,33 +33905,33 @@ "visibility": "internal" } ], - "id": 7067, + "id": 7684, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7062, + "id": 7679, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "53932:16:21", + "referencedDeclaration": 5158, + "src": "54896:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7064, + "id": 7681, "indexExpression": { "argumentTypes": null, - "id": 7063, + "id": 7680, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7041, - "src": "53949:5:21", + "referencedDeclaration": 7658, + "src": "54913:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33688,21 +33942,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53932:23:21", + "src": "54896:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7066, + "id": 7683, "indexExpression": { "argumentTypes": null, - "id": 7065, + "id": 7682, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "53956:8:21", + "referencedDeclaration": 7656, + "src": "54920:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33713,14 +33967,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53932:33:21", + "src": "54896:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "53889:76:21" + "src": "54853:76:28" }, { "expression": { @@ -33730,32 +33984,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7068, + "id": 7685, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54014:7:21", + "referencedDeclaration": 7670, + "src": "54978:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7070, + "id": 7687, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "54014:31:21", + "referencedDeclaration": 10724, + "src": "54978:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7071, + "id": 7688, "isConstant": false, "isLValue": false, "isPure": false, @@ -33763,38 +34017,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54014:33:21", + "src": "54978:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7072, + "id": 7689, "nodeType": "ExpressionStatement", - "src": "54014:33:21" + "src": "54978:33:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7077, + "id": 7694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7073, + "id": 7690, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7047, - "src": "54062:16:21", + "referencedDeclaration": 7664, + "src": "55026:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -33806,32 +34060,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7074, + "id": 7691, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "54082:11:21", + "referencedDeclaration": 11332, + "src": "55046:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7075, + "id": 7692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "54082:28:21", + "referencedDeclaration": 10589, + "src": "55046:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7076, + "id": 7693, "isConstant": false, "isLValue": false, "isPure": true, @@ -33839,13 +34093,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "54082:35:21", + "src": "55046:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "54062:55:21", + "src": "55026:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33855,24 +34109,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7101, + "id": 7718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7097, + "id": 7714, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7047, - "src": "54552:16:21", + "referencedDeclaration": 7664, + "src": "55516:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -33884,32 +34138,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7098, + "id": 7715, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "54572:11:21", + "referencedDeclaration": 11332, + "src": "55536:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7099, + "id": 7716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "54572:28:21", + "referencedDeclaration": 10589, + "src": "55536:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7100, + "id": 7717, "isConstant": false, "isLValue": false, "isPure": true, @@ -33917,22 +34171,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "54572:37:21", + "src": "55536:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "54552:57:21", + "src": "55516:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7125, + "id": 7742, "nodeType": "Block", - "src": "54965:61:21", + "src": "55929:61:28", "statements": [ { "expression": { @@ -33941,14 +34195,14 @@ { "argumentTypes": null, "hexValue": "496e76616c69642072617465206d6f6465207265636569766564", - "id": 7122, + "id": 7739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "54986:28:21", + "src": "55950:28:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e1a15775d6c7f103e1a6169d1edc5198416901b826d36295bcf76352fa29fea", @@ -33964,21 +34218,21 @@ "typeString": "literal_string \"Invalid rate mode received\"" } ], - "id": 7121, + "id": 7738, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "54979:6:21", + "referencedDeclaration": 16133, + "src": "55943:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7123, + "id": 7740, "isConstant": false, "isLValue": false, "isPure": false, @@ -33986,38 +34240,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54979:36:21", + "src": "55943:36:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7124, + "id": 7741, "nodeType": "ExpressionStatement", - "src": "54979:36:21" + "src": "55943:36:28" } ] }, - "id": 7126, + "id": 7743, "nodeType": "IfStatement", - "src": "54548:478:21", + "src": "55512:478:28", "trueBody": { - "id": 7120, + "id": 7737, "nodeType": "Block", - "src": "54611:348:21", + "src": "55575:348:28", "statements": [ { "assignments": [ - 7103 + 7720 ], "declarations": [ { "constant": false, - "id": 7103, + "id": 7720, "name": "currentStableRate", "nodeType": "VariableDeclaration", - "scope": 7120, - "src": "54654:25:21", + "scope": 7737, + "src": "55618:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34025,10 +34279,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7102, + "id": 7719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "54654:7:21", + "src": "55618:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34038,38 +34292,38 @@ "visibility": "internal" } ], - "id": 7106, + "id": 7723, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7104, + "id": 7721, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54682:7:21", + "referencedDeclaration": 7670, + "src": "55646:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7105, + "id": 7722, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "54682:31:21", + "referencedDeclaration": 10617, + "src": "55646:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "54654:59:21" + "src": "55618:59:28" }, { "expression": { @@ -34077,12 +34331,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7110, + "id": 7727, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7043, - "src": "54764:23:21", + "referencedDeclaration": 7660, + "src": "55728:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34098,32 +34352,32 @@ ], "expression": { "argumentTypes": null, - "id": 7107, + "id": 7724, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54727:7:21", + "referencedDeclaration": 7670, + "src": "55691:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7109, + "id": 7726, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "54727:36:21", + "referencedDeclaration": 11238, + "src": "55691:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7111, + "id": 7728, "isConstant": false, "isLValue": false, "isPure": false, @@ -34131,15 +34385,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54727:61:21", + "src": "55691:61:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7112, + "id": 7729, "nodeType": "ExpressionStatement", - "src": "54727:61:21" + "src": "55691:61:28" }, { "expression": { @@ -34147,12 +34401,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7116, + "id": 7733, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "54874:24:21", + "referencedDeclaration": 7662, + "src": "55838:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34160,12 +34414,12 @@ }, { "argumentTypes": null, - "id": 7117, + "id": 7734, "name": "currentStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7103, - "src": "54916:17:21", + "referencedDeclaration": 7720, + "src": "55880:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34185,32 +34439,32 @@ ], "expression": { "argumentTypes": null, - "id": 7113, + "id": 7730, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54802:7:21", + "referencedDeclaration": 7670, + "src": "55766:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7115, + "id": 7732, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "54802:54:21", + "referencedDeclaration": 11107, + "src": "55766:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7118, + "id": 7735, "isConstant": false, "isLValue": false, "isPure": false, @@ -34218,39 +34472,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54802:145:21", + "src": "55766:145:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7119, + "id": 7736, "nodeType": "ExpressionStatement", - "src": "54802:145:21" + "src": "55766:145:28" } ] } }, - "id": 7127, + "id": 7744, "nodeType": "IfStatement", - "src": "54058:968:21", + "src": "55022:968:28", "trueBody": { - "id": 7096, + "id": 7713, "nodeType": "Block", - "src": "54119:423:21", + "src": "55083:423:28", "statements": [ { "assignments": [ - 7079 + 7696 ], "declarations": [ { "constant": false, - "id": 7079, + "id": 7696, "name": "userCurrentStableRate", "nodeType": "VariableDeclaration", - "scope": 7096, - "src": "54133:29:21", + "scope": 7713, + "src": "55097:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34258,10 +34512,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7078, + "id": 7695, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "54133:7:21", + "src": "55097:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34271,38 +34525,38 @@ "visibility": "internal" } ], - "id": 7082, + "id": 7699, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7080, + "id": 7697, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "54165:4:21", + "referencedDeclaration": 7678, + "src": "55129:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7081, + "id": 7698, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "54165:21:21", + "referencedDeclaration": 10600, + "src": "55129:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "54133:53:21" + "src": "55097:53:28" }, { "expression": { @@ -34310,12 +34564,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7086, + "id": 7703, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7043, - "src": "54304:23:21", + "referencedDeclaration": 7660, + "src": "55268:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34323,12 +34577,12 @@ }, { "argumentTypes": null, - "id": 7087, + "id": 7704, "name": "userCurrentStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7079, - "src": "54345:21:21", + "referencedDeclaration": 7696, + "src": "55309:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34348,32 +34602,32 @@ ], "expression": { "argumentTypes": null, - "id": 7083, + "id": 7700, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54232:7:21", + "referencedDeclaration": 7670, + "src": "55196:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7085, + "id": 7702, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "54232:54:21", + "referencedDeclaration": 11194, + "src": "55196:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7088, + "id": 7705, "isConstant": false, "isLValue": false, "isPure": false, @@ -34381,15 +34635,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54232:148:21", + "src": "55196:148:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7089, + "id": 7706, "nodeType": "ExpressionStatement", - "src": "54232:148:21" + "src": "55196:148:28" }, { "expression": { @@ -34397,12 +34651,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7093, + "id": 7710, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "54478:24:21", + "referencedDeclaration": 7662, + "src": "55442:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34418,32 +34672,32 @@ ], "expression": { "argumentTypes": null, - "id": 7090, + "id": 7707, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54441:7:21", + "referencedDeclaration": 7670, + "src": "55405:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7092, + "id": 7709, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "54441:36:21", + "referencedDeclaration": 11212, + "src": "55405:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7094, + "id": 7711, "isConstant": false, "isLValue": false, "isPure": false, @@ -34451,15 +34705,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54441:62:21", + "src": "55405:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7095, + "id": 7712, "nodeType": "ExpressionStatement", - "src": "54441:62:21" + "src": "55405:62:28" } ] } @@ -34467,23 +34721,23 @@ ] }, "documentation": "@dev updates the state of the user as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is performing the rate swap\n@param _user the address of the borrower\n@param _principalBorrowBalance the the principal amount borrowed by the user\n@param _compoundedBorrowBalance the principal amount plus the accrued interest\n@param _currentRateMode the rate mode at which the user borrowed*", - "id": 7129, + "id": 7746, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnSwapRateInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7048, + "id": 7665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7039, + "id": 7656, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53616:16:21", + "scope": 7746, + "src": "54580:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34491,10 +34745,10 @@ "typeString": "address" }, "typeName": { - "id": 7038, + "id": 7655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53616:7:21", + "src": "54580:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34506,11 +34760,11 @@ }, { "constant": false, - "id": 7041, + "id": 7658, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53642:13:21", + "scope": 7746, + "src": "54606:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34518,10 +34772,10 @@ "typeString": "address" }, "typeName": { - "id": 7040, + "id": 7657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53642:7:21", + "src": "54606:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -34533,11 +34787,11 @@ }, { "constant": false, - "id": 7043, + "id": 7660, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53665:31:21", + "scope": 7746, + "src": "54629:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34545,10 +34799,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7042, + "id": 7659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53665:7:21", + "src": "54629:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34559,11 +34813,11 @@ }, { "constant": false, - "id": 7045, + "id": 7662, "name": "_compoundedBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53706:32:21", + "scope": 7746, + "src": "54670:32:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34571,10 +34825,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7044, + "id": 7661, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53706:7:21", + "src": "54670:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34585,26 +34839,26 @@ }, { "constant": false, - "id": 7047, + "id": 7664, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53748:45:21", + "scope": 7746, + "src": "54712:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7046, + "id": 7663, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "53748:28:21", + "referencedDeclaration": 10589, + "src": "54712:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -34612,53 +34866,53 @@ "visibility": "internal" } ], - "src": "53606:193:21" + "src": "54570:193:28" }, "returnParameters": { - "id": 7049, + "id": 7666, "nodeType": "ParameterList", "parameters": [], - "src": "53809:0:21" + "src": "54773:0:28" }, - "scope": 7812, - "src": "53561:1471:21", + "scope": 8443, + "src": "54525:1471:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7246, + "id": 7863, "nodeType": "Block", - "src": "55646:1145:21", + "src": "56610:1145:28", "statements": [ { "assignments": [ - 7145 + 7762 ], "declarations": [ { "constant": false, - "id": 7145, + "id": 7762, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55656:40:21", + "scope": 7863, + "src": "56620:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7144, + "id": 7761, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "55656:27:21", + "referencedDeclaration": 10605, + "src": "56620:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -34666,33 +34920,33 @@ "visibility": "internal" } ], - "id": 7151, + "id": 7768, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7146, + "id": 7763, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "55699:16:21", + "referencedDeclaration": 5158, + "src": "56663:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7148, + "id": 7765, "indexExpression": { "argumentTypes": null, - "id": 7147, + "id": 7764, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "55716:5:21", + "referencedDeclaration": 7750, + "src": "56680:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34703,21 +34957,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55699:23:21", + "src": "56663:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7150, + "id": 7767, "indexExpression": { "argumentTypes": null, - "id": 7149, + "id": 7766, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "55723:8:21", + "referencedDeclaration": 7748, + "src": "56687:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34728,42 +34982,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55699:33:21", + "src": "56663:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "55656:76:21" + "src": "56620:76:28" }, { "assignments": [ - 7155 + 7772 ], "declarations": [ { "constant": false, - "id": 7155, + "id": 7772, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55742:39:21", + "scope": 7863, + "src": "56706:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7154, + "id": 7771, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "55742:23:21", + "referencedDeclaration": 10646, + "src": "56706:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -34771,31 +35025,31 @@ "visibility": "internal" } ], - "id": 7159, + "id": 7776, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7156, + "id": 7773, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "55784:8:21", + "referencedDeclaration": 5152, + "src": "56748:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7158, + "id": 7775, "indexExpression": { "argumentTypes": null, - "id": 7157, + "id": 7774, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "55793:8:21", + "referencedDeclaration": 7748, + "src": "56757:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34806,42 +35060,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55784:18:21", + "src": "56748:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "55742:60:21" + "src": "56706:60:28" }, { "assignments": [ - 7163 + 7780 ], "declarations": [ { "constant": false, - "id": 7163, + "id": 7780, "name": "newMode", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55813:36:21", + "scope": 7863, + "src": "56777:36:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7162, + "id": 7779, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55813:28:21", + "referencedDeclaration": 10589, + "src": "56777:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -34849,39 +35103,39 @@ "visibility": "internal" } ], - "id": 7167, + "id": 7784, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7164, + "id": 7781, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "55852:11:21", + "referencedDeclaration": 11332, + "src": "56816:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7165, + "id": 7782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "55852:28:21", + "referencedDeclaration": 10589, + "src": "56816:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7166, + "id": 7783, "isConstant": false, "isLValue": false, "isPure": true, @@ -34889,37 +35143,37 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "55852:33:21", + "src": "56816:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "55813:72:21" + "src": "56777:72:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7172, + "id": 7789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7168, + "id": 7785, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "55900:16:21", + "referencedDeclaration": 7754, + "src": "56864:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -34931,32 +35185,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7169, + "id": 7786, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "55920:11:21", + "referencedDeclaration": 11332, + "src": "56884:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7170, + "id": 7787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "55920:28:21", + "referencedDeclaration": 10589, + "src": "56884:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7171, + "id": 7788, "isConstant": false, "isLValue": false, "isPure": true, @@ -34964,13 +35218,13 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "55920:37:21", + "src": "56884:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "55900:57:21", + "src": "56864:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -34980,24 +35234,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7197, + "id": 7814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7193, + "id": 7810, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "56195:16:21", + "referencedDeclaration": 7754, + "src": "57159:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -35009,32 +35263,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7194, + "id": 7811, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56215:11:21", + "referencedDeclaration": 11332, + "src": "57179:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7195, + "id": 7812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56215:28:21", + "referencedDeclaration": 10589, + "src": "57179:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7196, + "id": 7813, "isConstant": false, "isLValue": false, "isPure": true, @@ -35042,22 +35296,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56215:35:21", + "src": "57179:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56195:55:21", + "src": "57159:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7222, + "id": 7839, "nodeType": "Block", - "src": "56465:70:21", + "src": "57429:70:28", "statements": [ { "expression": { @@ -35066,14 +35320,14 @@ { "argumentTypes": null, "hexValue": "496e76616c696420696e7465726573742072617465206d6f6465207265636569766564", - "id": 7219, + "id": 7836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "56486:37:21", + "src": "57450:37:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ddb4b1b31e811fede84f85e9b5ed1d56ae1791ba0b591de8e5f20548e15aed53", @@ -35089,21 +35343,21 @@ "typeString": "literal_string \"Invalid interest rate mode received\"" } ], - "id": 7218, + "id": 7835, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "56479:6:21", + "referencedDeclaration": 16133, + "src": "57443:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7220, + "id": 7837, "isConstant": false, "isLValue": false, "isPure": false, @@ -35111,44 +35365,44 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56479:45:21", + "src": "57443:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7221, + "id": 7838, "nodeType": "ExpressionStatement", - "src": "56479:45:21" + "src": "57443:45:28" } ] }, - "id": 7223, + "id": 7840, "nodeType": "IfStatement", - "src": "56191:344:21", + "src": "57155:344:28", "trueBody": { - "id": 7217, + "id": 7834, "nodeType": "Block", - "src": "56252:207:21", + "src": "57216:207:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7202, + "id": 7819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7198, + "id": 7815, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56266:7:21", + "referencedDeclaration": 7780, + "src": "57230:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -35160,32 +35414,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7199, + "id": 7816, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56276:11:21", + "referencedDeclaration": 11332, + "src": "57240:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7200, + "id": 7817, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56276:28:21", + "referencedDeclaration": 10589, + "src": "57240:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7201, + "id": 7818, "isConstant": false, "isLValue": false, "isPure": true, @@ -35193,26 +35447,26 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56276:37:21", + "src": "57240:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56266:47:21", + "src": "57230:47:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 7203, + "id": 7820, "nodeType": "ExpressionStatement", - "src": "56266:47:21" + "src": "57230:47:28" }, { "expression": { "argumentTypes": null, - "id": 7208, + "id": 7825, "isConstant": false, "isLValue": false, "isPure": false, @@ -35221,26 +35475,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7204, + "id": 7821, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56327:4:21", + "referencedDeclaration": 7762, + "src": "57291:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7206, + "id": 7823, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "56327:21:21", + "referencedDeclaration": 10600, + "src": "57291:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35251,14 +35505,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7207, + "id": 7824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "56351:1:21", + "src": "57315:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -35266,20 +35520,20 @@ }, "value": "0" }, - "src": "56327:25:21", + "src": "57291:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7209, + "id": 7826, "nodeType": "ExpressionStatement", - "src": "56327:25:21" + "src": "57291:25:28" }, { "expression": { "argumentTypes": null, - "id": 7215, + "id": 7832, "isConstant": false, "isLValue": false, "isPure": false, @@ -35288,26 +35542,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7210, + "id": 7827, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56366:4:21", + "referencedDeclaration": 7762, + "src": "57330:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7212, + "id": 7829, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "56366:38:21", + "referencedDeclaration": 10596, + "src": "57330:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35319,70 +35573,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7213, + "id": 7830, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7155, - "src": "56407:7:21", + "referencedDeclaration": 7772, + "src": "57371:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7214, + "id": 7831, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "56407:41:21", + "referencedDeclaration": 10621, + "src": "57371:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56366:82:21", + "src": "57330:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7216, + "id": 7833, "nodeType": "ExpressionStatement", - "src": "56366:82:21" + "src": "57330:82:28" } ] } }, - "id": 7224, + "id": 7841, "nodeType": "IfStatement", - "src": "55896:639:21", + "src": "56860:639:28", "trueBody": { - "id": 7192, + "id": 7809, "nodeType": "Block", - "src": "55959:226:21", + "src": "56923:226:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7177, + "id": 7794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7173, + "id": 7790, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56004:7:21", + "referencedDeclaration": 7780, + "src": "56968:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -35394,32 +35648,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7174, + "id": 7791, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56014:11:21", + "referencedDeclaration": 11332, + "src": "56978:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7175, + "id": 7792, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56014:28:21", + "referencedDeclaration": 10589, + "src": "56978:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7176, + "id": 7793, "isConstant": false, "isLValue": false, "isPure": true, @@ -35427,26 +35681,26 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56014:35:21", + "src": "56978:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56004:45:21", + "src": "56968:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 7178, + "id": 7795, "nodeType": "ExpressionStatement", - "src": "56004:45:21" + "src": "56968:45:28" }, { "expression": { "argumentTypes": null, - "id": 7184, + "id": 7801, "isConstant": false, "isLValue": false, "isPure": false, @@ -35455,26 +35709,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7179, + "id": 7796, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56063:4:21", + "referencedDeclaration": 7762, + "src": "57027:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7181, + "id": 7798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "56063:21:21", + "referencedDeclaration": 10600, + "src": "57027:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35486,45 +35740,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7182, + "id": 7799, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7155, - "src": "56087:7:21", + "referencedDeclaration": 7772, + "src": "57051:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7183, + "id": 7800, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "56087:31:21", + "referencedDeclaration": 10617, + "src": "57051:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56063:55:21", + "src": "57027:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7185, + "id": 7802, "nodeType": "ExpressionStatement", - "src": "56063:55:21" + "src": "57027:55:28" }, { "expression": { "argumentTypes": null, - "id": 7190, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, @@ -35533,26 +35787,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7186, + "id": 7803, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56132:4:21", + "referencedDeclaration": 7762, + "src": "57096:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7188, + "id": 7805, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "56132:38:21", + "referencedDeclaration": 10596, + "src": "57096:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35563,14 +35817,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7189, + "id": 7806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "56173:1:21", + "src": "57137:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -35578,15 +35832,15 @@ }, "value": "0" }, - "src": "56132:42:21", + "src": "57096:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7191, + "id": 7808, "nodeType": "ExpressionStatement", - "src": "56132:42:21" + "src": "57096:42:28" } ] } @@ -35594,7 +35848,7 @@ { "expression": { "argumentTypes": null, - "id": 7233, + "id": 7850, "isConstant": false, "isLValue": false, "isPure": false, @@ -35603,26 +35857,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7225, + "id": 7842, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56585:4:21", + "referencedDeclaration": 7762, + "src": "57549:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7227, + "id": 7844, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "56585:27:21", + "referencedDeclaration": 10594, + "src": "57549:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35635,12 +35889,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7231, + "id": 7848, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7135, - "src": "56647:16:21", + "referencedDeclaration": 7752, + "src": "57611:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35658,46 +35912,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7228, + "id": 7845, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56615:4:21", + "referencedDeclaration": 7762, + "src": "57579:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7229, + "id": 7846, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "56615:27:21", + "referencedDeclaration": 10594, + "src": "57579:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7230, + "id": 7847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "56615:31:21", + "referencedDeclaration": 15070, + "src": "57579:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7232, + "id": 7849, "isConstant": false, "isLValue": false, "isPure": false, @@ -35705,26 +35959,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56615:49:21", + "src": "57579:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56585:79:21", + "src": "57549:79:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7234, + "id": 7851, "nodeType": "ExpressionStatement", - "src": "56585:79:21" + "src": "57549:79:28" }, { "expression": { "argumentTypes": null, - "id": 7242, + "id": 7859, "isConstant": false, "isLValue": false, "isPure": false, @@ -35733,26 +35987,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7235, + "id": 7852, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56709:4:21", + "referencedDeclaration": 7762, + "src": "57673:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7237, + "id": 7854, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "56709:24:21", + "referencedDeclaration": 10602, + "src": "57673:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -35767,18 +36021,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7239, + "id": 7856, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "56743:5:21", + "referencedDeclaration": 16117, + "src": "57707:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7240, + "id": 7857, "isConstant": false, "isLValue": false, "isPure": false, @@ -35786,7 +36040,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56743:15:21", + "src": "57707:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35800,20 +36054,20 @@ "typeString": "uint256" } ], - "id": 7238, + "id": 7855, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "56736:6:21", + "src": "57700:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7241, + "id": 7858, "isConstant": false, "isLValue": false, "isPure": false, @@ -35821,61 +36075,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56736:23:21", + "src": "57700:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "56709:50:21", + "src": "57673:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7243, + "id": 7860, "nodeType": "ExpressionStatement", - "src": "56709:50:21" + "src": "57673:50:28" }, { "expression": { "argumentTypes": null, - "id": 7244, + "id": 7861, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56777:7:21", + "referencedDeclaration": 7780, + "src": "57741:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 7141, - "id": 7245, + "functionReturnParameters": 7758, + "id": 7862, "nodeType": "Return", - "src": "56770:14:21" + "src": "57734:14:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is performing the swap\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _currentRateMode the current rate mode of the user*", - "id": 7247, + "id": 7864, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnSwapRateInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7138, + "id": 7755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7131, + "id": 7748, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55463:16:21", + "scope": 7864, + "src": "56427:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35883,10 +36137,10 @@ "typeString": "address" }, "typeName": { - "id": 7130, + "id": 7747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55463:7:21", + "src": "56427:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35898,11 +36152,11 @@ }, { "constant": false, - "id": 7133, + "id": 7750, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55489:13:21", + "scope": 7864, + "src": "56453:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35910,10 +36164,10 @@ "typeString": "address" }, "typeName": { - "id": 7132, + "id": 7749, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55489:7:21", + "src": "56453:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -35925,11 +36179,11 @@ }, { "constant": false, - "id": 7135, + "id": 7752, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55512:24:21", + "scope": 7864, + "src": "56476:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -35937,10 +36191,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7134, + "id": 7751, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "55512:7:21", + "src": "56476:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35951,26 +36205,26 @@ }, { "constant": false, - "id": 7137, + "id": 7754, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55546:45:21", + "scope": 7864, + "src": "56510:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7136, + "id": 7753, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55546:28:21", + "referencedDeclaration": 10589, + "src": "56510:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -35978,34 +36232,34 @@ "visibility": "internal" } ], - "src": "55453:144:21" + "src": "56417:144:28" }, "returnParameters": { - "id": 7141, + "id": 7758, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7140, + "id": 7757, "name": "", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55616:28:21", + "scope": 7864, + "src": "56580:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7139, + "id": 7756, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55616:28:21", + "referencedDeclaration": 10589, + "src": "56580:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -36013,47 +36267,47 @@ "visibility": "internal" } ], - "src": "55615:30:21" + "src": "56579:30:28" }, - "scope": 7812, - "src": "55411:1380:21", + "scope": 8443, + "src": "56375:1380:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7326, + "id": 7943, "nodeType": "Block", - "src": "57395:1211:21", + "src": "58359:1211:28", "statements": [ { "assignments": [ - 7261 + 7878 ], "declarations": [ { "constant": false, - "id": 7261, + "id": 7878, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57405:39:21", + "scope": 7943, + "src": "58369:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7260, + "id": 7877, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "57405:23:21", + "referencedDeclaration": 10646, + "src": "58369:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -36061,31 +36315,31 @@ "visibility": "internal" } ], - "id": 7265, + "id": 7882, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7262, + "id": 7879, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "57447:8:21", + "referencedDeclaration": 5152, + "src": "58411:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7264, + "id": 7881, "indexExpression": { "argumentTypes": null, - "id": 7263, + "id": 7880, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57456:17:21", + "referencedDeclaration": 7866, + "src": "58420:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36096,42 +36350,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57447:27:21", + "src": "58411:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "57405:69:21" + "src": "58369:69:28" }, { "assignments": [ - 7269 + 7886 ], "declarations": [ { "constant": false, - "id": 7269, + "id": 7886, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57484:40:21", + "scope": 7943, + "src": "58448:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7268, + "id": 7885, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "57484:27:21", + "referencedDeclaration": 10605, + "src": "58448:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -36139,33 +36393,33 @@ "visibility": "internal" } ], - "id": 7275, + "id": 7892, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7270, + "id": 7887, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "57527:16:21", + "referencedDeclaration": 5158, + "src": "58491:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7272, + "id": 7889, "indexExpression": { "argumentTypes": null, - "id": 7271, + "id": 7888, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7251, - "src": "57544:5:21", + "referencedDeclaration": 7868, + "src": "58508:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36176,21 +36430,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57527:23:21", + "src": "58491:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7274, + "id": 7891, "indexExpression": { "argumentTypes": null, - "id": 7273, + "id": 7890, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57551:17:21", + "referencedDeclaration": 7866, + "src": "58515:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36201,14 +36455,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57527:42:21", + "src": "58491:42:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "57484:85:21" + "src": "58448:85:28" }, { "expression": { @@ -36218,32 +36472,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7276, + "id": 7893, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "57620:7:21", + "referencedDeclaration": 7878, + "src": "58584:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7278, + "id": 7895, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "57620:31:21", + "referencedDeclaration": 10724, + "src": "58584:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7279, + "id": 7896, "isConstant": false, "isLValue": false, "isPure": false, @@ -36251,43 +36505,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57620:33:21", + "src": "58584:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7280, + "id": 7897, "nodeType": "ExpressionStatement", - "src": "57620:33:21" + "src": "58584:33:28" }, { "assignments": [ - 7284 + 7901 ], "declarations": [ { "constant": false, - "id": 7284, + "id": 7901, "name": "borrowRateMode", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57664:43:21", + "scope": 7943, + "src": "58628:43:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7283, + "id": 7900, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "57664:28:21", + "referencedDeclaration": 10589, + "src": "58628:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -36295,18 +36549,18 @@ "visibility": "internal" } ], - "id": 7289, + "id": 7906, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7286, + "id": 7903, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57752:17:21", + "referencedDeclaration": 7866, + "src": "58716:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36314,12 +36568,12 @@ }, { "argumentTypes": null, - "id": 7287, + "id": 7904, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7251, - "src": "57783:5:21", + "referencedDeclaration": 7868, + "src": "58747:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36337,18 +36591,18 @@ "typeString": "address" } ], - "id": 7285, + "id": 7902, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "57710:28:21", + "referencedDeclaration": 6688, + "src": "58674:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7288, + "id": 7905, "isConstant": false, "isLValue": false, "isPure": false, @@ -36356,37 +36610,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57710:88:21", + "src": "58674:88:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "57664:134:21" + "src": "58628:134:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7294, + "id": 7911, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7290, + "id": 7907, "name": "borrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "57813:14:21", + "referencedDeclaration": 7901, + "src": "58777:14:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -36398,32 +36652,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7291, + "id": 7908, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "57831:11:21", + "referencedDeclaration": 11332, + "src": "58795:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7292, + "id": 7909, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "57831:28:21", + "referencedDeclaration": 10589, + "src": "58795:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7293, + "id": 7910, "isConstant": false, "isLValue": false, "isPure": true, @@ -36431,22 +36685,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "57831:35:21", + "src": "58795:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "57813:53:21", + "src": "58777:53:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7324, + "id": 7941, "nodeType": "Block", - "src": "58324:275:21", + "src": "59288:275:28", "statements": [ { "expression": { @@ -36454,12 +36708,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7315, + "id": 7932, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7255, - "src": "58443:16:21", + "referencedDeclaration": 7872, + "src": "59407:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36475,32 +36729,32 @@ ], "expression": { "argumentTypes": null, - "id": 7312, + "id": 7929, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58406:7:21", + "referencedDeclaration": 7878, + "src": "59370:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7314, + "id": 7931, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "58406:36:21", + "referencedDeclaration": 11212, + "src": "59370:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7316, + "id": 7933, "isConstant": false, "isLValue": false, "isPure": false, @@ -36508,15 +36762,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58406:54:21", + "src": "59370:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7317, + "id": 7934, "nodeType": "ExpressionStatement", - "src": "58406:54:21" + "src": "59370:54:28" }, { "expression": { @@ -36524,12 +36778,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7321, + "id": 7938, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7253, - "src": "58569:18:21", + "referencedDeclaration": 7870, + "src": "59533:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36545,32 +36799,32 @@ ], "expression": { "argumentTypes": null, - "id": 7318, + "id": 7935, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58532:7:21", + "referencedDeclaration": 7878, + "src": "59496:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7320, + "id": 7937, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "58532:36:21", + "referencedDeclaration": 11238, + "src": "59496:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7322, + "id": 7939, "isConstant": false, "isLValue": false, "isPure": false, @@ -36578,25 +36832,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58532:56:21", + "src": "59496:56:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7323, + "id": 7940, "nodeType": "ExpressionStatement", - "src": "58532:56:21" + "src": "59496:56:28" } ] }, - "id": 7325, + "id": 7942, "nodeType": "IfStatement", - "src": "57809:790:21", + "src": "58773:790:28", "trueBody": { - "id": 7311, + "id": 7928, "nodeType": "Block", - "src": "57868:450:21", + "src": "58832:450:28", "statements": [ { "expression": { @@ -36604,12 +36858,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7298, + "id": 7915, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7255, - "src": "58022:16:21", + "referencedDeclaration": 7872, + "src": "58986:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36619,26 +36873,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7299, + "id": 7916, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7269, - "src": "58056:4:21", + "referencedDeclaration": 7886, + "src": "59020:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7300, + "id": 7917, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "58056:21:21", + "referencedDeclaration": 10600, + "src": "59020:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36658,32 +36912,32 @@ ], "expression": { "argumentTypes": null, - "id": 7295, + "id": 7912, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "57950:7:21", + "referencedDeclaration": 7878, + "src": "58914:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7297, + "id": 7914, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "57950:54:21", + "referencedDeclaration": 11107, + "src": "58914:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7301, + "id": 7918, "isConstant": false, "isLValue": false, "isPure": false, @@ -36691,15 +36945,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57950:141:21", + "src": "58914:141:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7302, + "id": 7919, "nodeType": "ExpressionStatement", - "src": "57950:141:21" + "src": "58914:141:28" }, { "expression": { @@ -36707,12 +36961,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7306, + "id": 7923, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7253, - "src": "58235:18:21", + "referencedDeclaration": 7870, + "src": "59199:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36722,26 +36976,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7307, + "id": 7924, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7269, - "src": "58271:4:21", + "referencedDeclaration": 7886, + "src": "59235:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7308, + "id": 7925, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "58271:21:21", + "referencedDeclaration": 10600, + "src": "59235:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36761,32 +37015,32 @@ ], "expression": { "argumentTypes": null, - "id": 7303, + "id": 7920, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58163:7:21", + "referencedDeclaration": 7878, + "src": "59127:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7305, + "id": 7922, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "58163:54:21", + "referencedDeclaration": 11194, + "src": "59127:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7309, + "id": 7926, "isConstant": false, "isLValue": false, "isPure": false, @@ -36794,15 +37048,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58163:143:21", + "src": "59127:143:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7310, + "id": 7927, "nodeType": "ExpressionStatement", - "src": "58163:143:21" + "src": "59127:143:28" } ] } @@ -36810,23 +37064,23 @@ ] }, "documentation": "@dev updates the state of the principal reserve as a consequence of a liquidation action.\n@param _principalReserve the address of the principal reserve that is being repaid\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7327, + "id": 7944, "implemented": true, "kind": "function", "modifiers": [], "name": "updatePrincipalReserveStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7256, + "id": 7873, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7249, + "id": 7866, "name": "_principalReserve", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57261:25:21", + "scope": 7944, + "src": "58225:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -36834,10 +37088,10 @@ "typeString": "address" }, "typeName": { - "id": 7248, + "id": 7865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57261:7:21", + "src": "58225:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36849,11 +37103,11 @@ }, { "constant": false, - "id": 7251, + "id": 7868, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57296:13:21", + "scope": 7944, + "src": "58260:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -36861,10 +37115,10 @@ "typeString": "address" }, "typeName": { - "id": 7250, + "id": 7867, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57296:7:21", + "src": "58260:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -36876,11 +37130,11 @@ }, { "constant": false, - "id": 7253, + "id": 7870, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57319:26:21", + "scope": 7944, + "src": "58283:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -36888,10 +37142,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7252, + "id": 7869, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "57319:7:21", + "src": "58283:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36902,11 +37156,11 @@ }, { "constant": false, - "id": 7255, + "id": 7872, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57355:24:21", + "scope": 7944, + "src": "58319:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -36914,10 +37168,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7254, + "id": 7871, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "57355:7:21", + "src": "58319:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -36927,25 +37181,25 @@ "visibility": "internal" } ], - "src": "57251:134:21" + "src": "58215:134:28" }, "returnParameters": { - "id": 7257, + "id": 7874, "nodeType": "ParameterList", "parameters": [], - "src": "57395:0:21" + "src": "58359:0:28" }, - "scope": 7812, - "src": "57194:1412:21", + "scope": 8443, + "src": "58158:1412:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7338, + "id": 7955, "nodeType": "Block", - "src": "58930:108:21", + "src": "59894:108:28", "statements": [ { "expression": { @@ -36957,26 +37211,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7332, + "id": 7949, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "58976:8:21", + "referencedDeclaration": 5152, + "src": "59940:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7334, + "id": 7951, "indexExpression": { "argumentTypes": null, - "id": 7333, + "id": 7950, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7329, - "src": "58985:18:21", + "referencedDeclaration": 7946, + "src": "59949:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -36987,27 +37241,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "58976:28:21", + "src": "59940:28:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 7335, + "id": 7952, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "58976:52:21", + "referencedDeclaration": 10724, + "src": "59940:52:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7336, + "id": 7953, "isConstant": false, "isLValue": false, "isPure": false, @@ -37015,36 +37269,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58976:54:21", + "src": "59940:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7337, + "id": 7954, "nodeType": "ExpressionStatement", - "src": "58976:54:21" + "src": "59940:54:28" } ] }, "documentation": "@dev updates the state of the collateral reserve as a consequence of a liquidation action.\n@param _collateralReserve the address of the collateral reserve that is being liquidated*", - "id": 7339, + "id": 7956, "implemented": true, "kind": "function", "modifiers": [], "name": "updateCollateralReserveStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7330, + "id": 7947, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7329, + "id": 7946, "name": "_collateralReserve", "nodeType": "VariableDeclaration", - "scope": 7339, - "src": "58888:26:21", + "scope": 7956, + "src": "59852:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37052,10 +37306,10 @@ "typeString": "address" }, "typeName": { - "id": 7328, + "id": 7945, "name": "address", "nodeType": "ElementaryTypeName", - "src": "58888:7:21", + "src": "59852:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -37066,53 +37320,53 @@ "visibility": "internal" } ], - "src": "58878:42:21" + "src": "59842:42:28" }, "returnParameters": { - "id": 7331, + "id": 7948, "nodeType": "ParameterList", "parameters": [], - "src": "58930:0:21" + "src": "59894:0:28" }, - "scope": 7812, - "src": "58820:218:21", + "scope": 8443, + "src": "59784:218:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7424, + "id": 8041, "nodeType": "Block", - "src": "59722:835:21", + "src": "60686:835:28", "statements": [ { "assignments": [ - 7355 + 7972 ], "declarations": [ { "constant": false, - "id": 7355, + "id": 7972, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "59732:40:21", + "scope": 8041, + "src": "60696:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7354, + "id": 7971, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "59732:27:21", + "referencedDeclaration": 10605, + "src": "60696:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -37120,33 +37374,33 @@ "visibility": "internal" } ], - "id": 7361, + "id": 7978, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7356, + "id": 7973, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "59775:16:21", + "referencedDeclaration": 5158, + "src": "60739:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7358, + "id": 7975, "indexExpression": { "argumentTypes": null, - "id": 7357, + "id": 7974, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, - "src": "59792:5:21", + "referencedDeclaration": 7960, + "src": "60756:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -37157,21 +37411,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59775:23:21", + "src": "60739:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7360, + "id": 7977, "indexExpression": { "argumentTypes": null, - "id": 7359, + "id": 7976, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "59799:8:21", + "referencedDeclaration": 7958, + "src": "60763:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -37182,42 +37436,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59775:33:21", + "src": "60739:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "59732:76:21" + "src": "60696:76:28" }, { "assignments": [ - 7365 + 7982 ], "declarations": [ { "constant": false, - "id": 7365, + "id": 7982, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "59818:39:21", + "scope": 8041, + "src": "60782:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7364, + "id": 7981, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "59818:23:21", + "referencedDeclaration": 10646, + "src": "60782:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -37225,31 +37479,31 @@ "visibility": "internal" } ], - "id": 7369, + "id": 7986, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7366, + "id": 7983, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "59860:8:21", + "referencedDeclaration": 5152, + "src": "60824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7368, + "id": 7985, "indexExpression": { "argumentTypes": null, - "id": 7367, + "id": 7984, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "59869:8:21", + "referencedDeclaration": 7958, + "src": "60833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -37260,19 +37514,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59860:18:21", + "src": "60824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "59818:60:21" + "src": "60782:60:28" }, { "expression": { "argumentTypes": null, - "id": 7381, + "id": 7998, "isConstant": false, "isLValue": false, "isPure": false, @@ -37281,26 +37535,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7370, + "id": 7987, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "59980:4:21", + "referencedDeclaration": 7972, + "src": "60944:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7372, + "id": 7989, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "59980:27:21", + "referencedDeclaration": 10594, + "src": "60944:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37313,12 +37567,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7379, + "id": 7996, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, - "src": "60077:18:21", + "referencedDeclaration": 7962, + "src": "61041:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37337,12 +37591,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7376, + "id": 7993, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7349, - "src": "60042:16:21", + "referencedDeclaration": 7966, + "src": "61006:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37360,46 +37614,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7373, + "id": 7990, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60010:4:21", + "referencedDeclaration": 7972, + "src": "60974:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7374, + "id": 7991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "60010:27:21", + "referencedDeclaration": 10594, + "src": "60974:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7375, + "id": 7992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "60010:31:21", + "referencedDeclaration": 15070, + "src": "60974:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7377, + "id": 7994, "isConstant": false, "isLValue": false, "isPure": false, @@ -37407,27 +37661,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60010:49:21", + "src": "60974:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7378, + "id": 7995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "60010:53:21", + "referencedDeclaration": 15095, + "src": "60974:53:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7380, + "id": 7997, "isConstant": false, "isLValue": false, "isPure": false, @@ -37435,30 +37689,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60010:95:21", + "src": "60974:95:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "59980:125:21", + "src": "60944:125:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7382, + "id": 7999, "nodeType": "ExpressionStatement", - "src": "59980:125:21" + "src": "60944:125:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7390, + "id": 8007, "isConstant": false, "isLValue": false, "isPure": false, @@ -37468,12 +37722,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7384, + "id": 8001, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "60162:8:21", + "referencedDeclaration": 7958, + "src": "61126:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -37481,12 +37735,12 @@ }, { "argumentTypes": null, - "id": 7385, + "id": 8002, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, - "src": "60172:5:21", + "referencedDeclaration": 7960, + "src": "61136:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -37504,18 +37758,18 @@ "typeString": "address" } ], - "id": 7383, + "id": 8000, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "60133:28:21", + "referencedDeclaration": 6688, + "src": "61097:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7386, + "id": 8003, "isConstant": false, "isLValue": false, "isPure": false, @@ -37523,9 +37777,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60133:45:21", + "src": "61097:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -37537,32 +37791,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7387, + "id": 8004, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "60182:11:21", + "referencedDeclaration": 11332, + "src": "61146:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7388, + "id": 8005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "60182:28:21", + "referencedDeclaration": 10589, + "src": "61146:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7389, + "id": 8006, "isConstant": false, "isLValue": false, "isPure": true, @@ -37570,31 +37824,31 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "60182:37:21", + "src": "61146:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "60133:86:21", + "src": "61097:86:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7399, + "id": 8016, "nodeType": "IfStatement", - "src": "60116:221:21", + "src": "61080:221:28", "trueBody": { - "id": 7398, + "id": 8015, "nodeType": "Block", - "src": "60230:107:21", + "src": "61194:107:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7396, + "id": 8013, "isConstant": false, "isLValue": false, "isPure": false, @@ -37603,26 +37857,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7391, + "id": 8008, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60244:4:21", + "referencedDeclaration": 7972, + "src": "61208:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7393, + "id": 8010, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "60244:38:21", + "referencedDeclaration": 10596, + "src": "61208:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37634,40 +37888,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7394, + "id": 8011, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "60285:7:21", + "referencedDeclaration": 7982, + "src": "61249:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7395, + "id": 8012, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "60285:41:21", + "referencedDeclaration": 10621, + "src": "61249:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "60244:82:21", + "src": "61208:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7397, + "id": 8014, "nodeType": "ExpressionStatement", - "src": "60244:82:21" + "src": "61208:82:28" } ] } @@ -37679,19 +37933,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7402, + "id": 8019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7400, + "id": 8017, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "60350:14:21", + "referencedDeclaration": 7964, + "src": "61314:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37702,14 +37956,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7401, + "id": 8018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "60367:1:21", + "src": "61331:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -37717,25 +37971,25 @@ }, "value": "0" }, - "src": "60350:18:21", + "src": "61314:18:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7414, + "id": 8031, "nodeType": "IfStatement", - "src": "60347:108:21", + "src": "61311:108:28", "trueBody": { - "id": 7413, + "id": 8030, "nodeType": "Block", - "src": "60369:86:21", + "src": "61333:86:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7411, + "id": 8028, "isConstant": false, "isLValue": false, "isPure": false, @@ -37744,26 +37998,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7403, + "id": 8020, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60383:4:21", + "referencedDeclaration": 7972, + "src": "61347:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7405, + "id": 8022, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "60383:19:21", + "referencedDeclaration": 10598, + "src": "61347:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37776,12 +38030,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7409, + "id": 8026, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "60429:14:21", + "referencedDeclaration": 7964, + "src": "61393:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37799,46 +38053,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7406, + "id": 8023, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60405:4:21", + "referencedDeclaration": 7972, + "src": "61369:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7407, + "id": 8024, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "60405:19:21", + "referencedDeclaration": 10598, + "src": "61369:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7408, + "id": 8025, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "60405:23:21", + "referencedDeclaration": 15095, + "src": "61369:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7410, + "id": 8027, "isConstant": false, "isLValue": false, "isPure": false, @@ -37846,21 +38100,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60405:39:21", + "src": "61369:39:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "60383:61:21", + "src": "61347:61:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7412, + "id": 8029, "nodeType": "ExpressionStatement", - "src": "60383:61:21" + "src": "61347:61:28" } ] } @@ -37868,7 +38122,7 @@ { "expression": { "argumentTypes": null, - "id": 7422, + "id": 8039, "isConstant": false, "isLValue": false, "isPure": false, @@ -37877,26 +38131,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7415, + "id": 8032, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60500:4:21", + "referencedDeclaration": 7972, + "src": "61464:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7417, + "id": 8034, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "60500:24:21", + "referencedDeclaration": 10602, + "src": "61464:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -37911,18 +38165,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7419, + "id": 8036, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "60534:5:21", + "referencedDeclaration": 16117, + "src": "61498:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7420, + "id": 8037, "isConstant": false, "isLValue": false, "isPure": false, @@ -37930,7 +38184,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "60534:15:21", + "src": "61498:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -37944,20 +38198,20 @@ "typeString": "uint256" } ], - "id": 7418, + "id": 8035, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "60527:6:21", + "src": "61491:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7421, + "id": 8038, "isConstant": false, "isLValue": false, "isPure": false, @@ -37965,42 +38219,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60527:23:21", + "src": "61491:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "60500:50:21", + "src": "61464:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7423, + "id": 8040, "nodeType": "ExpressionStatement", - "src": "60500:50:21" + "src": "61464:50:28" } ] }, "documentation": "@dev updates the state of the user being liquidated as a consequence of a liquidation action.\n@param _reserve the address of the principal reserve that is being repaid\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _feeLiquidated the amount of origination fee being liquidated\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7425, + "id": 8042, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7350, + "id": 7967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7341, + "id": 7958, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59565:16:21", + "scope": 8042, + "src": "60529:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38008,10 +38262,10 @@ "typeString": "address" }, "typeName": { - "id": 7340, + "id": 7957, "name": "address", "nodeType": "ElementaryTypeName", - "src": "59565:7:21", + "src": "60529:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38023,11 +38277,11 @@ }, { "constant": false, - "id": 7343, + "id": 7960, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59591:13:21", + "scope": 8042, + "src": "60555:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38035,10 +38289,10 @@ "typeString": "address" }, "typeName": { - "id": 7342, + "id": 7959, "name": "address", "nodeType": "ElementaryTypeName", - "src": "59591:7:21", + "src": "60555:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38050,11 +38304,11 @@ }, { "constant": false, - "id": 7345, + "id": 7962, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59614:26:21", + "scope": 8042, + "src": "60578:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38062,10 +38316,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7344, + "id": 7961, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59614:7:21", + "src": "60578:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38076,11 +38330,11 @@ }, { "constant": false, - "id": 7347, + "id": 7964, "name": "_feeLiquidated", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59650:22:21", + "scope": 8042, + "src": "60614:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38088,10 +38342,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7346, + "id": 7963, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59650:7:21", + "src": "60614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38102,11 +38356,11 @@ }, { "constant": false, - "id": 7349, + "id": 7966, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59682:24:21", + "scope": 8042, + "src": "60646:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38114,10 +38368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7348, + "id": 7965, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59682:7:21", + "src": "60646:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38127,53 +38381,53 @@ "visibility": "internal" } ], - "src": "59555:157:21" + "src": "60519:157:28" }, "returnParameters": { - "id": 7351, + "id": 7968, "nodeType": "ParameterList", "parameters": [], - "src": "59722:0:21" + "src": "60686:0:28" }, - "scope": 7812, - "src": "59510:1047:21", + "scope": 8443, + "src": "60474:1047:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7465, + "id": 8082, "nodeType": "Block", - "src": "61017:348:21", + "src": "61981:348:28", "statements": [ { "assignments": [ - 7437 + 8054 ], "declarations": [ { "constant": false, - "id": 7437, + "id": 8054, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7465, - "src": "61027:39:21", + "scope": 8082, + "src": "61991:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7436, + "id": 8053, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "61027:23:21", + "referencedDeclaration": 10646, + "src": "61991:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -38181,31 +38435,31 @@ "visibility": "internal" } ], - "id": 7441, + "id": 8058, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7438, + "id": 8055, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "61069:8:21", + "referencedDeclaration": 5152, + "src": "62033:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7440, + "id": 8057, "indexExpression": { "argumentTypes": null, - "id": 7439, + "id": 8056, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "61078:8:21", + "referencedDeclaration": 8044, + "src": "62042:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38216,42 +38470,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61069:18:21", + "src": "62033:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61027:60:21" + "src": "61991:60:28" }, { "assignments": [ - 7445 + 8062 ], "declarations": [ { "constant": false, - "id": 7445, + "id": 8062, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7465, - "src": "61097:40:21", + "scope": 8082, + "src": "62061:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7444, + "id": 8061, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "61097:27:21", + "referencedDeclaration": 10605, + "src": "62061:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -38259,33 +38513,33 @@ "visibility": "internal" } ], - "id": 7451, + "id": 8068, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7446, + "id": 8063, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "61140:16:21", + "referencedDeclaration": 5158, + "src": "62104:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7448, + "id": 8065, "indexExpression": { "argumentTypes": null, - "id": 7447, + "id": 8064, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7429, - "src": "61157:5:21", + "referencedDeclaration": 8046, + "src": "62121:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38296,21 +38550,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61140:23:21", + "src": "62104:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7450, + "id": 8067, "indexExpression": { "argumentTypes": null, - "id": 7449, + "id": 8066, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "61164:8:21", + "referencedDeclaration": 8044, + "src": "62128:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38321,14 +38575,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61140:33:21", + "src": "62104:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61097:76:21" + "src": "62061:76:28" }, { "expression": { @@ -38338,32 +38592,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7452, + "id": 8069, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "61184:7:21", + "referencedDeclaration": 8054, + "src": "62148:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7454, + "id": 8071, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "61184:31:21", + "referencedDeclaration": 10724, + "src": "62148:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7455, + "id": 8072, "isConstant": false, "isLValue": false, "isPure": false, @@ -38371,15 +38625,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "61184:33:21", + "src": "62148:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7456, + "id": 8073, "nodeType": "ExpressionStatement", - "src": "61184:33:21" + "src": "62148:33:28" }, { "expression": { @@ -38387,12 +38641,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7460, + "id": 8077, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7431, - "src": "61296:16:21", + "referencedDeclaration": 8048, + "src": "62260:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38402,26 +38656,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7461, + "id": 8078, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7445, - "src": "61326:4:21", + "referencedDeclaration": 8062, + "src": "62290:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7462, + "id": 8079, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "61326:21:21", + "referencedDeclaration": 10600, + "src": "62290:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38441,32 +38695,32 @@ ], "expression": { "argumentTypes": null, - "id": 7457, + "id": 8074, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "61228:7:21", + "referencedDeclaration": 8054, + "src": "62192:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7459, + "id": 8076, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "61228:54:21", + "referencedDeclaration": 11107, + "src": "62192:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7463, + "id": 8080, "isConstant": false, "isLValue": false, "isPure": false, @@ -38474,36 +38728,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "61228:129:21", + "src": "62192:129:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7464, + "id": 8081, "nodeType": "ExpressionStatement", - "src": "61228:129:21" + "src": "62192:129:28" } ] }, "documentation": "@dev updates the state of the reserve as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7466, + "id": 8083, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnRebalanceInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7432, + "id": 8049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7427, + "id": 8044, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60928:16:21", + "scope": 8083, + "src": "61892:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38511,10 +38765,10 @@ "typeString": "address" }, "typeName": { - "id": 7426, + "id": 8043, "name": "address", "nodeType": "ElementaryTypeName", - "src": "60928:7:21", + "src": "61892:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38526,11 +38780,11 @@ }, { "constant": false, - "id": 7429, + "id": 8046, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60954:13:21", + "scope": 8083, + "src": "61918:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38538,10 +38792,10 @@ "typeString": "address" }, "typeName": { - "id": 7428, + "id": 8045, "name": "address", "nodeType": "ElementaryTypeName", - "src": "60954:7:21", + "src": "61918:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38553,11 +38807,11 @@ }, { "constant": false, - "id": 7431, + "id": 8048, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60977:24:21", + "scope": 8083, + "src": "61941:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -38565,10 +38819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7430, + "id": 8047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "60977:7:21", + "src": "61941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38578,53 +38832,53 @@ "visibility": "internal" } ], - "src": "60918:89:21" + "src": "61882:89:28" }, "returnParameters": { - "id": 7433, + "id": 8050, "nodeType": "ParameterList", "parameters": [], - "src": "61017:0:21" + "src": "61981:0:28" }, - "scope": 7812, - "src": "60872:493:21", + "scope": 8443, + "src": "61836:493:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7519, + "id": 8136, "nodeType": "Block", - "src": "61819:414:21", + "src": "62783:414:28", "statements": [ { "assignments": [ - 7478 + 8095 ], "declarations": [ { "constant": false, - "id": 7478, + "id": 8095, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7519, - "src": "61829:40:21", + "scope": 8136, + "src": "62793:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7477, + "id": 8094, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "61829:27:21", + "referencedDeclaration": 10605, + "src": "62793:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -38632,33 +38886,33 @@ "visibility": "internal" } ], - "id": 7484, + "id": 8101, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7479, + "id": 8096, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "61872:16:21", + "referencedDeclaration": 5158, + "src": "62836:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7481, + "id": 8098, "indexExpression": { "argumentTypes": null, - "id": 7480, + "id": 8097, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, - "src": "61889:5:21", + "referencedDeclaration": 8087, + "src": "62853:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38669,21 +38923,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61872:23:21", + "src": "62836:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7483, + "id": 8100, "indexExpression": { "argumentTypes": null, - "id": 7482, + "id": 8099, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, - "src": "61896:8:21", + "referencedDeclaration": 8085, + "src": "62860:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38694,42 +38948,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61872:33:21", + "src": "62836:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61829:76:21" + "src": "62793:76:28" }, { "assignments": [ - 7488 + 8105 ], "declarations": [ { "constant": false, - "id": 7488, + "id": 8105, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7519, - "src": "61915:39:21", + "scope": 8136, + "src": "62879:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7487, + "id": 8104, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "61915:23:21", + "referencedDeclaration": 10646, + "src": "62879:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -38737,31 +38991,31 @@ "visibility": "internal" } ], - "id": 7492, + "id": 8109, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7489, + "id": 8106, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "61957:8:21", + "referencedDeclaration": 5152, + "src": "62921:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7491, + "id": 8108, "indexExpression": { "argumentTypes": null, - "id": 7490, + "id": 8107, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, - "src": "61966:8:21", + "referencedDeclaration": 8085, + "src": "62930:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -38772,19 +39026,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61957:18:21", + "src": "62921:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61915:60:21" + "src": "62879:60:28" }, { "expression": { "argumentTypes": null, - "id": 7501, + "id": 8118, "isConstant": false, "isLValue": false, "isPure": false, @@ -38793,26 +39047,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7493, + "id": 8110, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "61986:4:21", + "referencedDeclaration": 8095, + "src": "62950:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7495, + "id": 8112, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "61986:27:21", + "referencedDeclaration": 10594, + "src": "62950:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38825,12 +39079,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7499, + "id": 8116, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "62048:16:21", + "referencedDeclaration": 8089, + "src": "63012:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38848,46 +39102,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7496, + "id": 8113, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62016:4:21", + "referencedDeclaration": 8095, + "src": "62980:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7497, + "id": 8114, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "62016:27:21", + "referencedDeclaration": 10594, + "src": "62980:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7498, + "id": 8115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "62016:31:21", + "referencedDeclaration": 15070, + "src": "62980:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7500, + "id": 8117, "isConstant": false, "isLValue": false, "isPure": false, @@ -38895,26 +39149,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62016:49:21", + "src": "62980:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "61986:79:21", + "src": "62950:79:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7502, + "id": 8119, "nodeType": "ExpressionStatement", - "src": "61986:79:21" + "src": "62950:79:28" }, { "expression": { "argumentTypes": null, - "id": 7508, + "id": 8125, "isConstant": false, "isLValue": false, "isPure": false, @@ -38923,26 +39177,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7503, + "id": 8120, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62075:4:21", + "referencedDeclaration": 8095, + "src": "63039:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7505, + "id": 8122, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "62075:21:21", + "referencedDeclaration": 10600, + "src": "63039:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -38954,45 +39208,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7506, + "id": 8123, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "62099:7:21", + "referencedDeclaration": 8105, + "src": "63063:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7507, + "id": 8124, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "62099:31:21", + "referencedDeclaration": 10617, + "src": "63063:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "62075:55:21", + "src": "63039:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7509, + "id": 8126, "nodeType": "ExpressionStatement", - "src": "62075:55:21" + "src": "63039:55:28" }, { "expression": { "argumentTypes": null, - "id": 7517, + "id": 8134, "isConstant": false, "isLValue": false, "isPure": false, @@ -39001,26 +39255,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7510, + "id": 8127, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62176:4:21", + "referencedDeclaration": 8095, + "src": "63140:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7512, + "id": 8129, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "62176:24:21", + "referencedDeclaration": 10602, + "src": "63140:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -39035,18 +39289,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7514, + "id": 8131, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "62210:5:21", + "referencedDeclaration": 16117, + "src": "63174:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7515, + "id": 8132, "isConstant": false, "isLValue": false, "isPure": false, @@ -39054,7 +39308,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "62210:15:21", + "src": "63174:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39068,20 +39322,20 @@ "typeString": "uint256" } ], - "id": 7513, + "id": 8130, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "62203:6:21", + "src": "63167:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7516, + "id": 8133, "isConstant": false, "isLValue": false, "isPure": false, @@ -39089,42 +39343,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62203:23:21", + "src": "63167:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "62176:50:21", + "src": "63140:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7518, + "id": 8135, "nodeType": "ExpressionStatement", - "src": "62176:50:21" + "src": "63140:50:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7520, + "id": 8137, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnRebalanceInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7473, + "id": 8090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7468, + "id": 8085, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61730:16:21", + "scope": 8137, + "src": "62694:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -39132,10 +39386,10 @@ "typeString": "address" }, "typeName": { - "id": 7467, + "id": 8084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "61730:7:21", + "src": "62694:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39147,11 +39401,11 @@ }, { "constant": false, - "id": 7470, + "id": 8087, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61756:13:21", + "scope": 8137, + "src": "62720:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -39159,10 +39413,10 @@ "typeString": "address" }, "typeName": { - "id": 7469, + "id": 8086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "61756:7:21", + "src": "62720:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39174,11 +39428,11 @@ }, { "constant": false, - "id": 7472, + "id": 8089, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61779:24:21", + "scope": 8137, + "src": "62743:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -39186,10 +39440,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7471, + "id": 8088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "61779:7:21", + "src": "62743:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39199,53 +39453,53 @@ "visibility": "internal" } ], - "src": "61720:89:21" + "src": "62684:89:28" }, "returnParameters": { - "id": 7474, + "id": 8091, "nodeType": "ParameterList", "parameters": [], - "src": "61819:0:21" + "src": "62783:0:28" }, - "scope": 7812, - "src": "61677:556:21", + "scope": 8443, + "src": "62641:556:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7633, + "id": 8250, "nodeType": "Block", - "src": "62893:1262:21", + "src": "63857:1262:28", "statements": [ { "assignments": [ - 7538 + 8155 ], "declarations": [ { "constant": false, - "id": 7538, + "id": 8155, "name": "previousRateMode", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "62903:45:21", + "scope": 8250, + "src": "63867:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7537, + "id": 8154, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "62903:28:21", + "referencedDeclaration": 10589, + "src": "63867:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -39253,18 +39507,18 @@ "visibility": "internal" } ], - "id": 7543, + "id": 8160, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7540, + "id": 8157, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "62993:8:21", + "referencedDeclaration": 8139, + "src": "63957:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39272,12 +39526,12 @@ }, { "argumentTypes": null, - "id": 7541, + "id": 8158, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7524, - "src": "63015:5:21", + "referencedDeclaration": 8141, + "src": "63979:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39295,18 +39549,18 @@ "typeString": "address" } ], - "id": 7539, + "id": 8156, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "62951:28:21", + "referencedDeclaration": 6688, + "src": "63915:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7542, + "id": 8159, "isConstant": false, "isLValue": false, "isPure": false, @@ -39314,42 +39568,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62951:79:21", + "src": "63915:79:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "62903:127:21" + "src": "63867:127:28" }, { "assignments": [ - 7547 + 8164 ], "declarations": [ { "constant": false, - "id": 7547, + "id": 8164, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "63040:39:21", + "scope": 8250, + "src": "64004:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7546, + "id": 8163, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "63040:23:21", + "referencedDeclaration": 10646, + "src": "64004:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -39357,31 +39611,31 @@ "visibility": "internal" } ], - "id": 7551, + "id": 8168, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7548, + "id": 8165, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "63082:8:21", + "referencedDeclaration": 5152, + "src": "64046:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7550, + "id": 8167, "indexExpression": { "argumentTypes": null, - "id": 7549, + "id": 8166, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "63091:8:21", + "referencedDeclaration": 8139, + "src": "64055:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39392,37 +39646,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63082:18:21", + "src": "64046:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "63040:60:21" + "src": "64004:60:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7556, + "id": 8173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7552, + "id": 8169, "name": "previousRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "63115:16:21", + "referencedDeclaration": 8155, + "src": "64079:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -39434,32 +39688,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7553, + "id": 8170, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63135:11:21", + "referencedDeclaration": 11332, + "src": "64099:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7554, + "id": 8171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63135:28:21", + "referencedDeclaration": 10589, + "src": "64099:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7555, + "id": 8172, "isConstant": false, "isLValue": false, "isPure": true, @@ -39467,13 +39721,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63135:35:21", + "src": "64099:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63115:55:21", + "src": "64079:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -39483,24 +39737,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7580, + "id": 8197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7576, + "id": 8193, "name": "previousRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "63439:16:21", + "referencedDeclaration": 8155, + "src": "64403:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -39512,32 +39766,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7577, + "id": 8194, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63459:11:21", + "referencedDeclaration": 11332, + "src": "64423:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7578, + "id": 8195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63459:28:21", + "referencedDeclaration": 10589, + "src": "64423:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7579, + "id": 8196, "isConstant": false, "isLValue": false, "isPure": true, @@ -39545,26 +39799,26 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63459:37:21", + "src": "64423:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63439:57:21", + "src": "64403:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7588, + "id": 8205, "nodeType": "IfStatement", - "src": "63435:143:21", + "src": "64399:143:28", "trueBody": { - "id": 7587, + "id": 8204, "nodeType": "Block", - "src": "63498:80:21", + "src": "64462:80:28", "statements": [ { "expression": { @@ -39572,12 +39826,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7584, + "id": 8201, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63549:17:21", + "referencedDeclaration": 8143, + "src": "64513:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39593,32 +39847,32 @@ ], "expression": { "argumentTypes": null, - "id": 7581, + "id": 8198, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63512:7:21", + "referencedDeclaration": 8164, + "src": "64476:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7583, + "id": 8200, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "63512:36:21", + "referencedDeclaration": 11238, + "src": "64476:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7585, + "id": 8202, "isConstant": false, "isLValue": false, "isPure": false, @@ -39626,54 +39880,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63512:55:21", + "src": "64476:55:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7586, + "id": 8203, "nodeType": "ExpressionStatement", - "src": "63512:55:21" + "src": "64476:55:28" } ] } }, - "id": 7589, + "id": 8206, "nodeType": "IfStatement", - "src": "63111:467:21", + "src": "64075:467:28", "trueBody": { - "id": 7575, + "id": 8192, "nodeType": "Block", - "src": "63172:257:21", + "src": "64136:257:28", "statements": [ { "assignments": [ - 7560 + 8177 ], "declarations": [ { "constant": false, - "id": 7560, + "id": 8177, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7575, - "src": "63186:40:21", + "scope": 8192, + "src": "64150:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7559, + "id": 8176, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "63186:27:21", + "referencedDeclaration": 10605, + "src": "64150:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -39681,33 +39935,33 @@ "visibility": "internal" } ], - "id": 7566, + "id": 8183, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7561, + "id": 8178, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "63229:16:21", + "referencedDeclaration": 5158, + "src": "64193:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7563, + "id": 8180, "indexExpression": { "argumentTypes": null, - "id": 7562, + "id": 8179, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7524, - "src": "63246:5:21", + "referencedDeclaration": 8141, + "src": "64210:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39718,21 +39972,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63229:23:21", + "src": "64193:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7565, + "id": 8182, "indexExpression": { "argumentTypes": null, - "id": 7564, + "id": 8181, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "63253:8:21", + "referencedDeclaration": 8139, + "src": "64217:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -39743,14 +39997,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63229:33:21", + "src": "64193:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "63186:76:21" + "src": "64150:76:28" }, { "expression": { @@ -39758,12 +40012,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7570, + "id": 8187, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63348:17:21", + "referencedDeclaration": 8143, + "src": "64312:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39773,26 +40027,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7571, + "id": 8188, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7560, - "src": "63383:4:21", + "referencedDeclaration": 8177, + "src": "64347:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7572, + "id": 8189, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "63383:21:21", + "referencedDeclaration": 10600, + "src": "64347:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39812,32 +40066,32 @@ ], "expression": { "argumentTypes": null, - "id": 7567, + "id": 8184, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63276:7:21", + "referencedDeclaration": 8164, + "src": "64240:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7569, + "id": 8186, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "63276:54:21", + "referencedDeclaration": 11194, + "src": "64240:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7573, + "id": 8190, "isConstant": false, "isLValue": false, "isPure": false, @@ -39845,31 +40099,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63276:142:21", + "src": "64240:142:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7574, + "id": 8191, "nodeType": "ExpressionStatement", - "src": "63276:142:21" + "src": "64240:142:28" } ] } }, { "assignments": [ - 7591 + 8208 ], "declarations": [ { "constant": false, - "id": 7591, + "id": 8208, "name": "newPrincipalAmount", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "63588:26:21", + "scope": 8250, + "src": "64552:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -39877,10 +40131,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7590, + "id": 8207, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "63588:7:21", + "src": "64552:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39890,18 +40144,18 @@ "visibility": "internal" } ], - "id": 7599, + "id": 8216, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7597, + "id": 8214, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7530, - "src": "63661:15:21", + "referencedDeclaration": 8147, + "src": "64625:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39920,12 +40174,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7594, + "id": 8211, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "63639:16:21", + "referencedDeclaration": 8145, + "src": "64603:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -39941,32 +40195,32 @@ ], "expression": { "argumentTypes": null, - "id": 7592, + "id": 8209, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63617:17:21", + "referencedDeclaration": 8143, + "src": "64581:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7593, + "id": 8210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "63617:21:21", + "referencedDeclaration": 15070, + "src": "64581:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7595, + "id": 8212, "isConstant": false, "isLValue": false, "isPure": false, @@ -39974,27 +40228,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63617:39:21", + "src": "64581:39:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7596, + "id": 8213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "63617:43:21", + "referencedDeclaration": 15070, + "src": "64581:43:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7598, + "id": 8215, "isConstant": false, "isLValue": false, "isPure": false, @@ -40002,37 +40256,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63617:60:21", + "src": "64581:60:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "63588:89:21" + "src": "64552:89:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7604, + "id": 8221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7600, + "id": 8217, "name": "_newBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7532, - "src": "63691:18:21", + "referencedDeclaration": 8149, + "src": "64655:18:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -40044,32 +40298,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7601, + "id": 8218, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63713:11:21", + "referencedDeclaration": 11332, + "src": "64677:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7602, + "id": 8219, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63713:28:21", + "referencedDeclaration": 10589, + "src": "64677:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7603, + "id": 8220, "isConstant": false, "isLValue": false, "isPure": true, @@ -40077,13 +40331,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63713:35:21", + "src": "64677:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63691:57:21", + "src": "64655:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40093,24 +40347,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7618, + "id": 8235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7614, + "id": 8231, "name": "_newBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7532, - "src": "63938:18:21", + "referencedDeclaration": 8149, + "src": "64902:18:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -40122,32 +40376,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7615, + "id": 8232, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63960:11:21", + "referencedDeclaration": 11332, + "src": "64924:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7616, + "id": 8233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63960:28:21", + "referencedDeclaration": 10589, + "src": "64924:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7617, + "id": 8234, "isConstant": false, "isLValue": false, "isPure": true, @@ -40155,22 +40409,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63960:37:21", + "src": "64924:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63938:59:21", + "src": "64902:59:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7630, + "id": 8247, "nodeType": "Block", - "src": "64086:63:21", + "src": "65050:63:28", "statements": [ { "expression": { @@ -40179,14 +40433,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964206e657720626f72726f772072617465206d6f6465", - "id": 7627, + "id": 8244, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "64107:30:21", + "src": "65071:30:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d24c550e14a5a7931248372756216de03b37e128eed349b9738559a1cd913df0", @@ -40202,21 +40456,21 @@ "typeString": "literal_string \"Invalid new borrow rate mode\"" } ], - "id": 7626, + "id": 8243, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "64100:6:21", + "referencedDeclaration": 16133, + "src": "65064:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7628, + "id": 8245, "isConstant": false, "isLValue": false, "isPure": false, @@ -40224,25 +40478,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "64100:38:21", + "src": "65064:38:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7629, + "id": 8246, "nodeType": "ExpressionStatement", - "src": "64100:38:21" + "src": "65064:38:28" } ] }, - "id": 7631, + "id": 8248, "nodeType": "IfStatement", - "src": "63934:215:21", + "src": "64898:215:28", "trueBody": { - "id": 7625, + "id": 8242, "nodeType": "Block", - "src": "63999:81:21", + "src": "64963:81:28", "statements": [ { "expression": { @@ -40250,12 +40504,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7622, + "id": 8239, "name": "newPrincipalAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7591, - "src": "64050:18:21", + "referencedDeclaration": 8208, + "src": "65014:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40271,32 +40525,32 @@ ], "expression": { "argumentTypes": null, - "id": 7619, + "id": 8236, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "64013:7:21", + "referencedDeclaration": 8164, + "src": "64977:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7621, + "id": 8238, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "64013:36:21", + "referencedDeclaration": 11212, + "src": "64977:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7623, + "id": 8240, "isConstant": false, "isLValue": false, "isPure": false, @@ -40304,26 +40558,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "64013:56:21", + "src": "64977:56:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7624, + "id": 8241, "nodeType": "ExpressionStatement", - "src": "64013:56:21" + "src": "64977:56:28" } ] } }, - "id": 7632, + "id": 8249, "nodeType": "IfStatement", - "src": "63687:462:21", + "src": "64651:462:28", "trueBody": { - "id": 7613, + "id": 8230, "nodeType": "Block", - "src": "63750:178:21", + "src": "64714:178:28", "statements": [ { "expression": { @@ -40331,12 +40585,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7608, + "id": 8225, "name": "newPrincipalAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7591, - "src": "63836:18:21", + "referencedDeclaration": 8208, + "src": "64800:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40346,26 +40600,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7609, + "id": 8226, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63872:7:21", + "referencedDeclaration": 8164, + "src": "64836:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7610, + "id": 8227, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "63872:31:21", + "referencedDeclaration": 10617, + "src": "64836:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40385,32 +40639,32 @@ ], "expression": { "argumentTypes": null, - "id": 7605, + "id": 8222, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63764:7:21", + "referencedDeclaration": 8164, + "src": "64728:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7607, + "id": 8224, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "63764:54:21", + "referencedDeclaration": 11107, + "src": "64728:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7611, + "id": 8228, "isConstant": false, "isLValue": false, "isPure": false, @@ -40418,15 +40672,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63764:153:21", + "src": "64728:153:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7612, + "id": 8229, "nodeType": "ExpressionStatement", - "src": "63764:153:21" + "src": "64728:153:28" } ] } @@ -40434,23 +40688,23 @@ ] }, "documentation": "@dev updates the state of the user as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _amountBorrowed the accrued interest on the borrowed amount*", - "id": 7634, + "id": 8251, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveTotalBorrowsByRateModeInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7533, + "id": 8150, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7522, + "id": 8139, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62679:16:21", + "scope": 8251, + "src": "63643:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40458,10 +40712,10 @@ "typeString": "address" }, "typeName": { - "id": 7521, + "id": 8138, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62679:7:21", + "src": "63643:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40473,11 +40727,11 @@ }, { "constant": false, - "id": 7524, + "id": 8141, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62705:13:21", + "scope": 8251, + "src": "63669:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40485,10 +40739,10 @@ "typeString": "address" }, "typeName": { - "id": 7523, + "id": 8140, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62705:7:21", + "src": "63669:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40500,11 +40754,11 @@ }, { "constant": false, - "id": 7526, + "id": 8143, "name": "_principalBalance", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62728:25:21", + "scope": 8251, + "src": "63692:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40512,10 +40766,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7525, + "id": 8142, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62728:7:21", + "src": "63692:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40526,11 +40780,11 @@ }, { "constant": false, - "id": 7528, + "id": 8145, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62763:24:21", + "scope": 8251, + "src": "63727:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40538,10 +40792,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7527, + "id": 8144, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62763:7:21", + "src": "63727:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40552,11 +40806,11 @@ }, { "constant": false, - "id": 7530, + "id": 8147, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62797:23:21", + "scope": 8251, + "src": "63761:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40564,10 +40818,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7529, + "id": 8146, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62797:7:21", + "src": "63761:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40578,26 +40832,26 @@ }, { "constant": false, - "id": 7532, + "id": 8149, "name": "_newBorrowRateMode", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62830:47:21", + "scope": 8251, + "src": "63794:47:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7531, + "id": 8148, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "62830:28:21", + "referencedDeclaration": 10589, + "src": "63794:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -40605,53 +40859,53 @@ "visibility": "internal" } ], - "src": "62669:214:21" + "src": "63633:214:28" }, "returnParameters": { - "id": 7534, + "id": 8151, "nodeType": "ParameterList", "parameters": [], - "src": "62893:0:21" + "src": "63857:0:28" }, - "scope": 7812, - "src": "62617:1538:21", + "scope": 8443, + "src": "63581:1538:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7718, + "id": 8340, "nodeType": "Block", - "src": "64856:1092:21", + "src": "65820:1193:28", "statements": [ { "assignments": [ - 7646 + 8263 ], "declarations": [ { "constant": false, - "id": 7646, + "id": 8263, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64866:39:21", + "scope": 8340, + "src": "65830:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7645, + "id": 8262, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "64866:23:21", + "referencedDeclaration": 10646, + "src": "65830:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -40659,31 +40913,31 @@ "visibility": "internal" } ], - "id": 7650, + "id": 8267, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7647, + "id": 8264, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "64908:8:21", + "referencedDeclaration": 5152, + "src": "65872:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7649, + "id": 8266, "indexExpression": { "argumentTypes": null, - "id": 7648, + "id": 8265, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "64917:8:21", + "referencedDeclaration": 8253, + "src": "65881:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40694,29 +40948,94 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "64908:18:21", + "src": "65872:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "64866:60:21" + "src": "65830:60:28" }, { "assignments": [ - 7652, - 7654, - 7656 + 8269 ], "declarations": [ { "constant": false, - "id": 7652, + "id": 8269, + "name": "currentAvgStableRate", + "nodeType": "VariableDeclaration", + "scope": 8340, + "src": "65901:28:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "65901:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8272, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8270, + "name": "reserve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8263, + "src": "65932:7:28", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", + "typeString": "struct CoreLibrary.ReserveData storage pointer" + } + }, + "id": 8271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAverageStableBorrowRate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10619, + "src": "65932:38:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "65901:69:28" + }, + { + "assignments": [ + 8274, + 8276, + 8278 + ], + "declarations": [ + { + "constant": false, + "id": 8274, "name": "newLiquidityRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64937:24:21", + "scope": 8340, + "src": "65982:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40724,10 +41043,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7651, + "id": 8273, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64937:7:21", + "src": "65982:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40738,11 +41057,11 @@ }, { "constant": false, - "id": 7654, + "id": 8276, "name": "newStableRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64963:21:21", + "scope": 8340, + "src": "66008:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40750,10 +41069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7653, + "id": 8275, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64963:7:21", + "src": "66008:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40764,11 +41083,11 @@ }, { "constant": false, - "id": 7656, + "id": 8278, "name": "newVariableRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64986:23:21", + "scope": 8340, + "src": "66031:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40776,10 +41095,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7655, + "id": 8277, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64986:7:21", + "src": "66031:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40789,18 +41108,18 @@ "visibility": "internal" } ], - "id": 7679, + "id": 8300, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7662, + "id": 8284, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65167:8:21", + "referencedDeclaration": 8253, + "src": "66212:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40811,12 +41130,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7670, + "id": 8292, "name": "_liquidityTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7640, - "src": "65253:15:21", + "referencedDeclaration": 8257, + "src": "66298:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40835,12 +41154,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7667, + "id": 8289, "name": "_liquidityAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "65232:15:21", + "referencedDeclaration": 8255, + "src": "66277:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40859,12 +41178,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7664, + "id": 8286, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65218:8:21", + "referencedDeclaration": 8253, + "src": "66263:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40878,18 +41197,18 @@ "typeString": "address" } ], - "id": 7663, + "id": 8285, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "65189:28:21", + "referencedDeclaration": 6078, + "src": "66234:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 7665, + "id": 8287, "isConstant": false, "isLValue": false, "isPure": false, @@ -40897,27 +41216,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:38:21", + "src": "66234:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7666, + "id": 8288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "65189:42:21", + "referencedDeclaration": 15070, + "src": "66234:42:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7668, + "id": 8290, "isConstant": false, "isLValue": false, "isPure": false, @@ -40925,27 +41244,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:59:21", + "src": "66234:59:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7669, + "id": 8291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "65189:63:21", + "referencedDeclaration": 15095, + "src": "66234:63:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7671, + "id": 8293, "isConstant": false, "isLValue": false, "isPure": false, @@ -40953,7 +41272,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:80:21", + "src": "66234:80:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40963,26 +41282,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7672, + "id": 8294, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65283:7:21", + "referencedDeclaration": 8263, + "src": "66328:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7673, + "id": 8295, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsStable", "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "65283:26:21", + "referencedDeclaration": 10611, + "src": "66328:26:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40992,26 +41311,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7674, + "id": 8296, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65323:7:21", + "referencedDeclaration": 8263, + "src": "66368:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7675, + "id": 8297, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 9536, - "src": "65323:28:21", + "referencedDeclaration": 10613, + "src": "66368:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41019,28 +41338,12 @@ }, { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7676, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65365:7:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", - "typeString": "struct CoreLibrary.ReserveData storage pointer" - } - }, - "id": 7677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAverageStableBorrowRate", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "65365:38:21", + "id": 8298, + "name": "currentAvgStableRate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8269, + "src": "66410:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41077,26 +41380,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7658, + "id": 8280, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65055:7:21", + "referencedDeclaration": 8263, + "src": "66100:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7659, + "id": 8281, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "65055:52:21", + "referencedDeclaration": 10633, + "src": "66100:52:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41110,18 +41413,18 @@ "typeString": "address" } ], - "id": 7657, + "id": 8279, "name": "IReserveInterestRateStrategy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "65013:28:21", + "referencedDeclaration": 2519, + "src": "66058:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$1698_$", + "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$2519_$", "typeString": "type(contract IReserveInterestRateStrategy)" } }, - "id": 7660, + "id": 8282, "isConstant": false, "isLValue": false, "isPure": false, @@ -41129,27 +41432,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65013:104:21", + "src": "66058:104:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$1698", + "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$2519", "typeString": "contract IReserveInterestRateStrategy" } }, - "id": 7661, + "id": 8283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "calculateInterestRates", "nodeType": "MemberAccess", - "referencedDeclaration": 1697, - "src": "65013:140:21", + "referencedDeclaration": 2518, + "src": "66058:140:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,uint256) view external returns (uint256,uint256,uint256)" } }, - "id": 7678, + "id": 8299, "isConstant": false, "isLValue": false, "isPure": false, @@ -41157,19 +41460,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65013:400:21", + "src": "66058:382:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", - "src": "64936:477:21" + "src": "65981:459:28" }, { "expression": { "argumentTypes": null, - "id": 7684, + "id": 8305, "isConstant": false, "isLValue": false, "isPure": false, @@ -41178,26 +41481,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7680, + "id": 8301, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65424:7:21", + "referencedDeclaration": 8263, + "src": "66451:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7682, + "id": 8303, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentLiquidityRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "65424:28:21", + "referencedDeclaration": 10609, + "src": "66451:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41207,31 +41510,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7683, + "id": 8304, "name": "newLiquidityRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7652, - "src": "65455:16:21", + "referencedDeclaration": 8274, + "src": "66482:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65424:47:21", + "src": "66451:47:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7685, + "id": 8306, "nodeType": "ExpressionStatement", - "src": "65424:47:21" + "src": "66451:47:28" }, { "expression": { "argumentTypes": null, - "id": 7690, + "id": 8311, "isConstant": false, "isLValue": false, "isPure": false, @@ -41240,26 +41543,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7686, + "id": 8307, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65481:7:21", + "referencedDeclaration": 8263, + "src": "66508:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7688, + "id": 8309, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "65481:31:21", + "referencedDeclaration": 10617, + "src": "66508:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41269,31 +41572,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7689, + "id": 8310, "name": "newStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7654, - "src": "65515:13:21", + "referencedDeclaration": 8276, + "src": "66542:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65481:47:21", + "src": "66508:47:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7691, + "id": 8312, "nodeType": "ExpressionStatement", - "src": "65481:47:21" + "src": "66508:47:28" }, { "expression": { "argumentTypes": null, - "id": 7696, + "id": 8317, "isConstant": false, "isLValue": false, "isPure": false, @@ -41302,26 +41605,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7692, + "id": 8313, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65538:7:21", + "referencedDeclaration": 8263, + "src": "66565:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7694, + "id": 8315, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "65538:33:21", + "referencedDeclaration": 10615, + "src": "66565:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41331,31 +41634,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7695, + "id": 8316, "name": "newVariableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7656, - "src": "65574:15:21", + "referencedDeclaration": 8278, + "src": "66601:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65538:51:21", + "src": "66565:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7697, + "id": 8318, "nodeType": "ExpressionStatement", - "src": "65538:51:21" + "src": "66565:51:28" }, { "expression": { "argumentTypes": null, - "id": 7705, + "id": 8326, "isConstant": false, "isLValue": false, "isPure": false, @@ -41364,26 +41667,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7698, + "id": 8319, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65635:7:21", + "referencedDeclaration": 8263, + "src": "66662:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7700, + "id": 8321, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9558, - "src": "65635:27:21", + "referencedDeclaration": 10635, + "src": "66662:27:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -41398,18 +41701,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7702, + "id": 8323, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "65672:5:21", + "referencedDeclaration": 16117, + "src": "66699:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7703, + "id": 8324, "isConstant": false, "isLValue": false, "isPure": false, @@ -41417,7 +41720,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "65672:15:21", + "src": "66699:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41431,20 +41734,20 @@ "typeString": "uint256" } ], - "id": 7701, + "id": 8322, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "65665:6:21", + "src": "66692:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7704, + "id": 8325, "isConstant": false, "isLValue": false, "isPure": false, @@ -41452,21 +41755,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65665:23:21", + "src": "66692:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "65635:53:21", + "src": "66662:53:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7706, + "id": 8327, "nodeType": "ExpressionStatement", - "src": "65635:53:21" + "src": "66662:53:28" }, { "eventCall": { @@ -41474,12 +41777,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7708, + "id": 8329, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65732:8:21", + "referencedDeclaration": 8253, + "src": "66763:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41487,12 +41790,12 @@ }, { "argumentTypes": null, - "id": 7709, + "id": 8330, "name": "newLiquidityRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7652, - "src": "65754:16:21", + "referencedDeclaration": 8274, + "src": "66785:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41500,12 +41803,12 @@ }, { "argumentTypes": null, - "id": 7710, + "id": 8331, "name": "newStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7654, - "src": "65784:13:21", + "referencedDeclaration": 8276, + "src": "66815:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41513,12 +41816,25 @@ }, { "argumentTypes": null, - "id": 7711, + "id": 8332, + "name": "currentAvgStableRate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8269, + "src": "66842:20:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 8333, "name": "newVariableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7656, - "src": "65811:15:21", + "referencedDeclaration": 8278, + "src": "66876:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41528,26 +41844,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7712, + "id": 8334, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65840:7:21", + "referencedDeclaration": 8263, + "src": "66905:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7713, + "id": 8335, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "65840:36:21", + "referencedDeclaration": 10607, + "src": "66905:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41557,26 +41873,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7714, + "id": 8336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65890:7:21", + "referencedDeclaration": 8263, + "src": "66955:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7715, + "id": 8337, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "65890:41:21", + "referencedDeclaration": 10621, + "src": "66955:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41605,23 +41921,27 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 7707, - "name": "ReserveUpdated", + "id": 8328, + "name": "ReserveDataUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4501, - "src": "65704:14:21", + "referencedDeclaration": 5118, + "src": "66731:18:28", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "id": 7716, + "id": 8338, "isConstant": false, "isLValue": false, "isPure": false, @@ -41629,36 +41949,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65704:237:21", + "src": "66731:275:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7717, + "id": 8339, "nodeType": "EmitStatement", - "src": "65699:242:21" + "src": "66726:280:28" } ] }, "documentation": "@dev Updates the reserve current stable borrow rate Rf, the current variable borrow rate Rv and the current liquidity rate Rl.\nAlso updates the lastUpdateTimestamp value. Please refer to the whitepaper for further information.\n@param _reserve the address of the reserve to be updated\n@param _liquidityAdded the amount of liquidity added to the protocol (deposit or repay) in the previous action\n@param _liquidityTaken the amount of liquidity taken from the protocol (redeem or borrow)*", - "id": 7719, + "id": 8341, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7641, + "id": 8258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7636, + "id": 8253, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64758:16:21", + "scope": 8341, + "src": "65722:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41666,10 +41986,10 @@ "typeString": "address" }, "typeName": { - "id": 7635, + "id": 8252, "name": "address", "nodeType": "ElementaryTypeName", - "src": "64758:7:21", + "src": "65722:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41681,11 +42001,11 @@ }, { "constant": false, - "id": 7638, + "id": 8255, "name": "_liquidityAdded", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64784:23:21", + "scope": 8341, + "src": "65748:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41693,10 +42013,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7637, + "id": 8254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64784:7:21", + "src": "65748:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41707,11 +42027,11 @@ }, { "constant": false, - "id": 7640, + "id": 8257, "name": "_liquidityTaken", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64817:23:21", + "scope": 8341, + "src": "65781:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41719,10 +42039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7639, + "id": 8256, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64817:7:21", + "src": "65781:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41732,38 +42052,38 @@ "visibility": "internal" } ], - "src": "64748:98:21" + "src": "65712:98:28" }, "returnParameters": { - "id": 7642, + "id": 8259, "nodeType": "ParameterList", "parameters": [], - "src": "64856:0:21" + "src": "65820:0:28" }, - "scope": 7812, - "src": "64693:1255:21", + "scope": 8443, + "src": "65657:1356:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7758, + "id": 8389, "nodeType": "Block", - "src": "66260:280:21", + "src": "67325:412:28", "statements": [ { "assignments": [ - 7727 + 8349 ], "declarations": [ { "constant": false, - "id": 7727, + "id": 8349, "name": "receiver", "nodeType": "VariableDeclaration", - "scope": 7758, - "src": "66270:24:21", + "scope": 8389, + "src": "67335:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41771,10 +42091,10 @@ "typeString": "address payable" }, "typeName": { - "id": 7726, + "id": 8348, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66270:15:21", + "src": "67335:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -41785,7 +42105,7 @@ "visibility": "internal" } ], - "id": 7735, + "id": 8357, "initialValue": { "argumentTypes": null, "arguments": [ @@ -41799,18 +42119,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7730, + "id": 8352, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "66313:17:21", + "referencedDeclaration": 5122, + "src": "67378:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 7731, + "id": 8353, "isConstant": false, "isLValue": false, "isPure": false, @@ -41818,13 +42138,13 @@ "memberName": "getTokenDistributor", "nodeType": "MemberAccess", "referencedDeclaration": 485, - "src": "66313:37:21", + "src": "67378:37:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 7732, + "id": 8354, "isConstant": false, "isLValue": false, "isPure": false, @@ -41832,7 +42152,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66313:39:21", + "src": "67378:39:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41846,20 +42166,20 @@ "typeString": "address" } ], - "id": 7729, + "id": 8351, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "66305:7:21", + "src": "67370:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 7733, + "id": 8355, "isConstant": false, "isLValue": false, "isPure": false, @@ -41867,7 +42187,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66305:48:21", + "src": "67370:48:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -41881,20 +42201,20 @@ "typeString": "uint160" } ], - "id": 7728, + "id": 8350, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "66297:7:21", + "src": "67362:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 7734, + "id": 8356, "isConstant": false, "isLValue": false, "isPure": false, @@ -41902,14 +42222,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66297:57:21", + "src": "67362:57:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "66270:84:21" + "src": "67335:84:28" }, { "condition": { @@ -41918,19 +42238,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7740, + "id": 8362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7736, + "id": 8358, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "66369:6:21", + "referencedDeclaration": 8343, + "src": "67434:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41945,32 +42265,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7737, + "id": 8359, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "66379:13:21", + "referencedDeclaration": 11343, + "src": "67444:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 7738, + "id": 8360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "66379:24:21", + "referencedDeclaration": 11342, + "src": "67444:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 7739, + "id": 8361, "isConstant": false, "isLValue": false, "isPure": false, @@ -41978,76 +42298,245 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66379:26:21", + "src": "67444:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66369:36:21", + "src": "67434:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7756, + "id": 8387, "nodeType": "Block", - "src": "66483:51:21", + "src": "67548:183:28", "statements": [ { - "expression": { + "assignments": [ + 8373, + null + ], + "declarations": [ + { + "constant": false, + "id": 8373, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 8387, + "src": "67602:11:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "67602:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 8381, + "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7753, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7723, - "src": "66515:7:21", + "hexValue": "", + "id": 8379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67648:2:28", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { + "argumentTypes": null, + "id": 8377, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8345, + "src": "67639:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { - "argumentTypes": null, - "id": 7750, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7727, - "src": "66497:8:21", + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8374, + "name": "receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8349, + "src": "67619:8:28", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "67619:13:28", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "67619:19:28", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 7752, + "id": 8378, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "66497:17:21", + "names": [], + "nodeType": "FunctionCall", + "src": "67619:28:28", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "67619:32:28", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "67601:50:28" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8383, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "67673:6:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "5472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564", + "id": 8384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67681:38:28", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_92dff4247f7ac34d6cab679a9067917e131b3dbc0441a54d6f182042cf60d563", + "typeString": "literal_string \"Transfer to token distributor failed\"" + }, + "value": "Transfer to token distributor failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_92dff4247f7ac34d6cab679a9067917e131b3dbc0441a54d6f182042cf60d563", + "typeString": "literal_string \"Transfer to token distributor failed\"" + } + ], + "id": 8382, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 16130, + 16131 + ], + "referencedDeclaration": 16131, + "src": "67665:7:28", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 7754, + "id": 8385, "isConstant": false, "isLValue": false, "isPure": false, @@ -42055,25 +42544,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66497:26:21", + "src": "67665:55:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7755, + "id": 8386, "nodeType": "ExpressionStatement", - "src": "66497:26:21" + "src": "67665:55:28" } ] }, - "id": 7757, + "id": 8388, "nodeType": "IfStatement", - "src": "66365:169:21", + "src": "67430:301:28", "trueBody": { - "id": 7749, + "id": 8371, "nodeType": "Block", - "src": "66407:70:21", + "src": "67472:70:28", "statements": [ { "expression": { @@ -42081,12 +42570,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7745, + "id": 8367, "name": "receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7727, - "src": "66448:8:21", + "referencedDeclaration": 8349, + "src": "67513:8:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -42094,12 +42583,12 @@ }, { "argumentTypes": null, - "id": 7746, + "id": 8368, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7723, - "src": "66458:7:21", + "referencedDeclaration": 8345, + "src": "67523:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42122,12 +42611,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7742, + "id": 8364, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "66427:6:21", + "referencedDeclaration": 8343, + "src": "67492:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42141,18 +42630,18 @@ "typeString": "address" } ], - "id": 7741, + "id": 8363, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "66421:5:21", + "referencedDeclaration": 15684, + "src": "67486:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 7743, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, @@ -42160,27 +42649,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66421:13:21", + "src": "67486:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 7744, + "id": 8366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "66421:26:21", + "referencedDeclaration": 15875, + "src": "67486:26:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 7747, + "id": 8369, "isConstant": false, "isLValue": false, "isPure": false, @@ -42188,15 +42677,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66421:45:21", + "src": "67486:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7748, + "id": 8370, "nodeType": "ExpressionStatement", - "src": "66421:45:21" + "src": "67486:45:28" } ] } @@ -42204,23 +42693,23 @@ ] }, "documentation": "@dev transfers to the protocol fees of a flashloan to the fees collection address\n@param _token the address of the token being transferred\n@param _amount the amount being transferred*", - "id": 7759, + "id": 8390, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFlashLoanProtocolFeeInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7724, + "id": 8346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7721, + "id": 8343, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 7759, - "src": "66218:14:21", + "scope": 8390, + "src": "67283:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42228,10 +42717,10 @@ "typeString": "address" }, "typeName": { - "id": 7720, + "id": 8342, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66218:7:21", + "src": "67283:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42243,11 +42732,11 @@ }, { "constant": false, - "id": 7723, + "id": 8345, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 7759, - "src": "66234:15:21", + "scope": 8390, + "src": "67299:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42255,10 +42744,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7722, + "id": 8344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "66234:7:21", + "src": "67299:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42268,42 +42757,42 @@ "visibility": "internal" } ], - "src": "66217:33:21" + "src": "67282:33:28" }, "returnParameters": { - "id": 7725, + "id": 8347, "nodeType": "ParameterList", "parameters": [], - "src": "66260:0:21" + "src": "67325:0:28" }, - "scope": 7812, - "src": "66172:368:21", + "scope": 8443, + "src": "67237:500:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7768, + "id": 8399, "nodeType": "Block", - "src": "66662:72:21", + "src": "67859:72:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7766, + "id": 8397, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7762, + "id": 8393, "name": "lendingPoolAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "66672:18:21", + "referencedDeclaration": 5120, + "src": "67869:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42318,18 +42807,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7763, + "id": 8394, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "66693:17:21", + "referencedDeclaration": 5122, + "src": "67890:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 7764, + "id": 8395, "isConstant": false, "isLValue": false, "isPure": false, @@ -42337,13 +42826,13 @@ "memberName": "getLendingPool", "nodeType": "MemberAccess", "referencedDeclaration": 207, - "src": "66693:32:21", + "src": "67890:32:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 7765, + "id": 8396, "isConstant": false, "isLValue": false, "isPure": false, @@ -42351,67 +42840,67 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66693:34:21", + "src": "67890:34:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66672:55:21", + "src": "67869:55:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7767, + "id": 8398, "nodeType": "ExpressionStatement", - "src": "66672:55:21" + "src": "67869:55:28" } ] }, "documentation": "@dev updates the internal configuration of the core*", - "id": 7769, + "id": 8400, "implemented": true, "kind": "function", "modifiers": [], "name": "refreshConfigInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7760, + "id": 8391, "nodeType": "ParameterList", "parameters": [], - "src": "66650:2:21" + "src": "67847:2:28" }, "returnParameters": { - "id": 7761, + "id": 8392, "nodeType": "ParameterList", "parameters": [], - "src": "66662:0:21" + "src": "67859:0:28" }, - "scope": 7812, - "src": "66620:114:21", + "scope": 8443, + "src": "67817:114:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7810, + "id": 8441, "nodeType": "Block", - "src": "66880:275:21", + "src": "68077:275:28", "statements": [ { "assignments": [ - 7775 + 8406 ], "declarations": [ { "constant": false, - "id": 7775, + "id": 8406, "name": "reserveAlreadyAdded", "nodeType": "VariableDeclaration", - "scope": 7810, - "src": "66890:24:21", + "scope": 8441, + "src": "68087:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42419,10 +42908,10 @@ "typeString": "bool" }, "typeName": { - "id": 7774, + "id": 8405, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "66890:4:21", + "src": "68087:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42432,18 +42921,18 @@ "visibility": "internal" } ], - "id": 7777, + "id": 8408, "initialValue": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 7776, + "id": 8407, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "66917:5:21", + "src": "68114:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -42452,7 +42941,7 @@ "value": "false" }, "nodeType": "VariableDeclarationStatement", - "src": "66890:32:21" + "src": "68087:32:28" }, { "body": { @@ -42462,7 +42951,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7793, + "id": 8424, "isConstant": false, "isLValue": false, "isPure": false, @@ -42471,26 +42960,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7789, + "id": 8420, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "66998:12:21", + "referencedDeclaration": 5161, + "src": "68195:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7791, + "id": 8422, "indexExpression": { "argumentTypes": null, - "id": 7790, + "id": 8421, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "67011:1:21", + "referencedDeclaration": 8410, + "src": "68208:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42501,7 +42990,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "66998:15:21", + "src": "68195:15:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42511,48 +43000,48 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7792, + "id": 8423, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7771, - "src": "67017:8:21", + "referencedDeclaration": 8402, + "src": "68214:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66998:27:21", + "src": "68195:27:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7799, + "id": 8430, "nodeType": "IfStatement", - "src": "66994:92:21", + "src": "68191:92:28", "trueBody": { - "id": 7798, + "id": 8429, "nodeType": "Block", - "src": "67027:59:21", + "src": "68224:59:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7796, + "id": 8427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7794, + "id": 8425, "name": "reserveAlreadyAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "67045:19:21", + "referencedDeclaration": 8406, + "src": "68242:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42563,14 +43052,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 7795, + "id": 8426, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "67067:4:21", + "src": "68264:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -42578,15 +43067,15 @@ }, "value": "true" }, - "src": "67045:26:21", + "src": "68242:26:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7797, + "id": 8428, "nodeType": "ExpressionStatement", - "src": "67045:26:21" + "src": "68242:26:28" } ] } @@ -42597,19 +43086,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7785, + "id": 8416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7782, + "id": 8413, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "66952:1:21", + "referencedDeclaration": 8410, + "src": "68149:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42621,18 +43110,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7783, + "id": 8414, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "66956:12:21", + "referencedDeclaration": 5161, + "src": "68153:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7784, + "id": 8415, "isConstant": false, "isLValue": true, "isPure": false, @@ -42640,31 +43129,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "66956:19:21", + "src": "68153:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "66952:23:21", + "src": "68149:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7800, + "id": 8431, "initializationExpression": { "assignments": [ - 7779 + 8410 ], "declarations": [ { "constant": false, - "id": 7779, + "id": 8410, "name": "i", "nodeType": "VariableDeclaration", - "scope": 7800, - "src": "66937:9:21", + "scope": 8431, + "src": "68134:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42672,10 +43161,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7778, + "id": 8409, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "66937:7:21", + "src": "68134:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42685,18 +43174,18 @@ "visibility": "internal" } ], - "id": 7781, + "id": 8412, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 7780, + "id": 8411, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "66949:1:21", + "src": "68146:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -42705,12 +43194,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "66937:13:21" + "src": "68134:13:28" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 7787, + "id": 8418, "isConstant": false, "isLValue": false, "isPure": false, @@ -42718,15 +43207,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "66977:3:21", + "src": "68174:3:28", "subExpression": { "argumentTypes": null, - "id": 7786, + "id": 8417, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "66977:1:21", + "referencedDeclaration": 8410, + "src": "68174:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42737,17 +43226,17 @@ "typeString": "uint256" } }, - "id": 7788, + "id": 8419, "nodeType": "ExpressionStatement", - "src": "66977:3:21" + "src": "68174:3:28" }, "nodeType": "ForStatement", - "src": "66932:154:21" + "src": "68129:154:28" }, { "condition": { "argumentTypes": null, - "id": 7802, + "id": 8433, "isConstant": false, "isLValue": false, "isPure": false, @@ -42755,15 +43244,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "67099:20:21", + "src": "68296:20:28", "subExpression": { "argumentTypes": null, - "id": 7801, + "id": 8432, "name": "reserveAlreadyAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "67100:19:21", + "referencedDeclaration": 8406, + "src": "68297:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42775,21 +43264,21 @@ } }, "falseBody": null, - "id": 7809, + "id": 8440, "nodeType": "IfStatement", - "src": "67095:53:21", + "src": "68292:53:28", "trueBody": { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7806, + "id": 8437, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7771, - "src": "67139:8:21", + "referencedDeclaration": 8402, + "src": "68336:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42805,18 +43294,18 @@ ], "expression": { "argumentTypes": null, - "id": 7803, + "id": 8434, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "67121:12:21", + "referencedDeclaration": 5161, + "src": "68318:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7805, + "id": 8436, "isConstant": false, "isLValue": false, "isPure": false, @@ -42824,13 +43313,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "67121:17:21", + "src": "68318:17:28", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 7807, + "id": 8438, "isConstant": false, "isLValue": false, "isPure": false, @@ -42838,37 +43327,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "67121:27:21", + "src": "68318:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7808, + "id": 8439, "nodeType": "ExpressionStatement", - "src": "67121:27:21" + "src": "68318:27:28" } } ] }, "documentation": "@dev adds a reserve to the array of the reserves address*", - "id": 7811, + "id": 8442, "implemented": true, "kind": "function", "modifiers": [], "name": "addReserveToListInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7772, + "id": 8403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7771, + "id": 8402, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7811, - "src": "66853:16:21", + "scope": 8442, + "src": "68050:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42876,10 +43365,10 @@ "typeString": "address" }, "typeName": { - "id": 7770, + "id": 8401, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66853:7:21", + "src": "68050:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42890,39 +43379,39 @@ "visibility": "internal" } ], - "src": "66852:18:21" + "src": "68049:18:28" }, "returnParameters": { - "id": 7773, + "id": 8404, "nodeType": "ParameterList", "parameters": [], - "src": "66880:0:21" + "src": "68077:0:28" }, - "scope": 7812, - "src": "66819:336:21", + "scope": 8443, + "src": "68016:336:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 7813, - "src": "1071:66087:21" + "scope": 8444, + "src": "1071:67284:28" } ], - "src": "0:67159:21" + "src": "0:68356:28" }, "legacyAST": { "absolutePath": "/src/contracts/lendingpool/LendingPoolCore.sol", "exportedSymbols": { "LendingPoolCore": [ - 7812 + 8443 ] }, - "id": 7813, + "id": 8444, "nodeType": "SourceUnit", "nodes": [ { - "id": 4455, + "id": 5056, "literals": [ "solidity", "^", @@ -42930,137 +43419,137 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "0:23:21" + "src": "0:23:28" }, { "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", - "id": 4456, + "id": 5057, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 13597, - "src": "25:59:21", + "scope": 8444, + "sourceUnit": 15177, + "src": "25:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", - "id": 4457, + "id": 5058, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14482, - "src": "85:67:21", + "scope": 8444, + "sourceUnit": 16062, + "src": "85:67:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", - "id": 4458, + "id": 5059, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14105, - "src": "153:63:21", + "scope": 8444, + "sourceUnit": 15685, + "src": "153:63:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol", "file": "openzeppelin-solidity/contracts/utils/Address.sol", - "id": 4459, + "id": 5060, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 14501, - "src": "217:59:21", + "scope": 8444, + "sourceUnit": 16081, + "src": "217:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/openzeppelin-upgradeability/VersionedInitializable.sol", "file": "../libraries/openzeppelin-upgradeability/VersionedInitializable.sol", - "id": 4460, + "id": 5061, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 11101, - "src": "277:77:21", + "scope": 8444, + "sourceUnit": 12205, + "src": "277:77:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/CoreLibrary.sol", "file": "../libraries/CoreLibrary.sol", - "id": 4461, + "id": 5062, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10256, - "src": "356:38:21", + "scope": 8444, + "sourceUnit": 11333, + "src": "356:38:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/configuration/LendingPoolAddressesProvider.sol", "file": "../configuration/LendingPoolAddressesProvider.sol", - "id": 4462, + "id": 5063, "nodeType": "ImportDirective", - "scope": 7813, + "scope": 8444, "sourceUnit": 583, - "src": "395:59:21", + "src": "395:59:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/interfaces/ILendingRateOracle.sol", "file": "../interfaces/ILendingRateOracle.sol", - "id": 4463, + "id": 5064, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 1645, - "src": "455:46:21", + "scope": 8444, + "sourceUnit": 2365, + "src": "455:46:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/interfaces/IReserveInterestRateStrategy.sol", "file": "../interfaces/IReserveInterestRateStrategy.sol", - "id": 4464, + "id": 5065, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 1699, - "src": "502:56:21", + "scope": 8444, + "sourceUnit": 2520, + "src": "502:56:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/WadRayMath.sol", "file": "../libraries/WadRayMath.sol", - "id": 4465, + "id": 5066, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10511, - "src": "559:37:21", + "scope": 8444, + "sourceUnit": 11615, + "src": "559:37:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/tokenization/AToken.sol", "file": "../tokenization/AToken.sol", - "id": 4466, + "id": 5067, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 13464, - "src": "597:36:21", + "scope": 8444, + "sourceUnit": 15044, + "src": "597:36:28", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/src/contracts/libraries/EthAddressLib.sol", "file": "../libraries/EthAddressLib.sol", - "id": 4467, + "id": 5068, "nodeType": "ImportDirective", - "scope": 7813, - "sourceUnit": 10267, - "src": "634:40:21", + "scope": 8444, + "sourceUnit": 11344, + "src": "634:40:28", "symbolAliases": [], "unitAlias": "" }, @@ -43070,56 +43559,56 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 4468, + "id": 5069, "name": "VersionedInitializable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11100, - "src": "1099:22:21", + "referencedDeclaration": 12204, + "src": "1099:22:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_VersionedInitializable_$11100", + "typeIdentifier": "t_contract$_VersionedInitializable_$12204", "typeString": "contract VersionedInitializable" } }, - "id": 4469, + "id": 5070, "nodeType": "InheritanceSpecifier", - "src": "1099:22:21" + "src": "1099:22:28" } ], "contractDependencies": [ - 11100 + 12204 ], "contractKind": "contract", "documentation": "@title LendingPoolCore contract\n@author Aave\n@notice Holds the state of the lending pool and all the funds deposited\n@dev NOTE: The core does not enforce security checks on the update of the state\n(eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve).\nThe check that an action can be performed is a duty of the overlying LendingPool contract.*", "fullyImplemented": true, - "id": 7812, + "id": 8443, "linearizedBaseContracts": [ - 7812, - 11100 + 8443, + 12204 ], "name": "LendingPoolCore", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4472, + "id": 5073, "libraryName": { "contractScope": null, - "id": 4470, + "id": 5071, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 13596, - "src": "1134:8:21", + "referencedDeclaration": 15176, + "src": "1134:8:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$13596", + "typeIdentifier": "t_contract$_SafeMath_$15176", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1128:27:21", + "src": "1128:27:28", "typeName": { - "id": 4471, + "id": 5072, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1147:7:21", + "src": "1147:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43127,26 +43616,26 @@ } }, { - "id": 4475, + "id": 5076, "libraryName": { "contractScope": null, - "id": 4473, + "id": 5074, "name": "WadRayMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10510, - "src": "1166:10:21", + "referencedDeclaration": 11614, + "src": "1166:10:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_WadRayMath_$10510", + "typeIdentifier": "t_contract$_WadRayMath_$11614", "typeString": "library WadRayMath" } }, "nodeType": "UsingForDirective", - "src": "1160:29:21", + "src": "1160:29:28", "typeName": { - "id": 4474, + "id": 5075, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1181:7:21", + "src": "1181:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43154,113 +43643,113 @@ } }, { - "id": 4478, + "id": 5079, "libraryName": { "contractScope": null, - "id": 4476, + "id": 5077, "name": "CoreLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10255, - "src": "1200:11:21", + "referencedDeclaration": 11332, + "src": "1200:11:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_CoreLibrary_$10255", + "typeIdentifier": "t_contract$_CoreLibrary_$11332", "typeString": "library CoreLibrary" } }, "nodeType": "UsingForDirective", - "src": "1194:46:21", + "src": "1194:46:28", "typeName": { "contractScope": null, - "id": 4477, + "id": 5078, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "1216:23:21", + "referencedDeclaration": 10646, + "src": "1216:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } } }, { - "id": 4481, + "id": 5082, "libraryName": { "contractScope": null, - "id": 4479, + "id": 5080, "name": "CoreLibrary", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10255, - "src": "1251:11:21", + "referencedDeclaration": 11332, + "src": "1251:11:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_CoreLibrary_$10255", + "typeIdentifier": "t_contract$_CoreLibrary_$11332", "typeString": "library CoreLibrary" } }, "nodeType": "UsingForDirective", - "src": "1245:50:21", + "src": "1245:50:28", "typeName": { "contractScope": null, - "id": 4480, + "id": 5081, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "1267:27:21", + "referencedDeclaration": 10605, + "src": "1267:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } } }, { - "id": 4484, + "id": 5085, "libraryName": { "contractScope": null, - "id": 4482, + "id": 5083, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14481, - "src": "1306:9:21", + "referencedDeclaration": 16061, + "src": "1306:9:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$14481", + "typeIdentifier": "t_contract$_SafeERC20_$16061", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "1300:26:21", + "src": "1300:26:28", "typeName": { "contractScope": null, - "id": 4483, + "id": 5084, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14104, - "src": "1320:5:21", + "referencedDeclaration": 15684, + "src": "1320:5:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } } }, { - "id": 4487, + "id": 5088, "libraryName": { "contractScope": null, - "id": 4485, + "id": 5086, "name": "Address", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 14500, - "src": "1337:7:21", + "referencedDeclaration": 16080, + "src": "1337:7:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$14500", + "typeIdentifier": "t_contract$_Address_$16080", "typeString": "library Address" } }, "nodeType": "UsingForDirective", - "src": "1331:34:21", + "src": "1331:34:28", "typeName": { - "id": 4486, + "id": 5087, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1349:15:21", + "src": "1349:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -43270,22 +43759,22 @@ }, { "anonymous": false, - "documentation": "@dev Emitted when the state of a reserve is updated\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", - "id": 4501, + "documentation": "@dev DEPRECATED: This event was used in previous LendingPoolCore implementations, and it has been replaced by ReserveDataUpdated()\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", + "id": 5102, "name": "ReserveUpdated", "nodeType": "EventDefinition", "parameters": { - "id": 4500, + "id": 5101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4489, + "id": 5090, "indexed": true, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1806:23:21", + "scope": 5102, + "src": "1886:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43293,10 +43782,10 @@ "typeString": "address" }, "typeName": { - "id": 4488, + "id": 5089, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1806:7:21", + "src": "1886:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43308,12 +43797,12 @@ }, { "constant": false, - "id": 4491, + "id": 5092, "indexed": false, "name": "liquidityRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1839:21:21", + "scope": 5102, + "src": "1919:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43321,10 +43810,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4490, + "id": 5091, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1839:7:21", + "src": "1919:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43335,12 +43824,217 @@ }, { "constant": false, - "id": 4493, + "id": 5094, "indexed": false, "name": "stableBorrowRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1870:24:21", + "scope": 5102, + "src": "1950:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1950:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5096, + "indexed": false, + "name": "variableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "1984:26:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1984:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5098, + "indexed": false, + "name": "liquidityIndex", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "2020:22:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2020:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5100, + "indexed": false, + "name": "variableBorrowIndex", + "nodeType": "VariableDeclaration", + "scope": 5102, + "src": "2052:27:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2052:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1876:209:28" + }, + "src": "1856:230:28" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when the state of a reserve is updated\n@dev NOTE: This event replaces the Deprecated ReserveUpdated() event, which didn't emit the average stable borrow rate\n@param reserve the address of the reserve\n@param liquidityRate the new liquidity rate\n@param stableBorrowRate the new stable borrow rate\n@param averageStableBorrowRate the new average stable borrow rate\n@param variableBorrowRate the new variable borrow rate\n@param liquidityIndex the new liquidity index\n@param variableBorrowIndex the new variable borrow index*", + "id": 5118, + "name": "ReserveDataUpdated", + "nodeType": "EventDefinition", + "parameters": { + "id": 5117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5104, + "indexed": true, + "name": "reserve", + "nodeType": "VariableDeclaration", + "scope": 5118, + "src": "2729:23:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2729:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5106, + "indexed": false, + "name": "liquidityRate", + "nodeType": "VariableDeclaration", + "scope": 5118, + "src": "2762:21:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2762:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5108, + "indexed": false, + "name": "stableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5118, + "src": "2793:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2793:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5110, + "indexed": false, + "name": "averageStableBorrowRate", + "nodeType": "VariableDeclaration", + "scope": 5118, + "src": "2827:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43348,10 +44042,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4492, + "id": 5109, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1870:7:21", + "src": "2827:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43362,12 +44056,12 @@ }, { "constant": false, - "id": 4495, + "id": 5112, "indexed": false, "name": "variableBorrowRate", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1904:26:21", + "scope": 5118, + "src": "2868:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43375,10 +44069,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4494, + "id": 5111, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1904:7:21", + "src": "2868:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43389,12 +44083,12 @@ }, { "constant": false, - "id": 4497, + "id": 5114, "indexed": false, "name": "liquidityIndex", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1940:22:21", + "scope": 5118, + "src": "2904:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43402,10 +44096,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4496, + "id": 5113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1940:7:21", + "src": "2904:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43416,12 +44110,12 @@ }, { "constant": false, - "id": 4499, + "id": 5116, "indexed": false, "name": "variableBorrowIndex", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "1972:27:21", + "scope": 5118, + "src": "2936:27:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43429,10 +44123,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4498, + "id": 5115, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1972:7:21", + "src": "2936:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43442,17 +44136,17 @@ "visibility": "internal" } ], - "src": "1796:209:21" + "src": "2719:250:28" }, - "src": "1776:230:21" + "src": "2695:275:28" }, { "constant": false, - "id": 4503, + "id": 5120, "name": "lendingPoolAddress", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2012:33:21", + "scope": 8443, + "src": "2976:33:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -43460,10 +44154,10 @@ "typeString": "address" }, "typeName": { - "id": 4502, + "id": 5119, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2012:7:21", + "src": "2976:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43475,11 +44169,11 @@ }, { "constant": false, - "id": 4505, + "id": 5122, "name": "addressesProvider", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2052:53:21", + "scope": 8443, + "src": "3016:53:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -43488,11 +44182,11 @@ }, "typeName": { "contractScope": null, - "id": 4504, + "id": 5121, "name": "LendingPoolAddressesProvider", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 582, - "src": "2052:28:21", + "src": "3016:28:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -43503,9 +44197,9 @@ }, { "body": { - "id": 4516, + "id": 5133, "nodeType": "Block", - "src": "2227:115:21", + "src": "3191:115:28", "statements": [ { "expression": { @@ -43517,19 +44211,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4511, + "id": 5128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4508, + "id": 5125, "name": "lendingPoolAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "2245:18:21", + "referencedDeclaration": 5120, + "src": "3209:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43541,18 +44235,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4509, + "id": 5126, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "2267:3:21", + "referencedDeclaration": 16127, + "src": "3231:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4510, + "id": 5127, "isConstant": false, "isLValue": false, "isPure": false, @@ -43560,13 +44254,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2267:10:21", + "src": "3231:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2245:32:21", + "src": "3209:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43575,14 +44269,14 @@ { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e7472616374", - "id": 4512, + "id": 5129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2279:44:21", + "src": "3243:44:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a630c1f6937c43653bd3cbe824a9088f40dc120875fe6c5545d9a34152a6c2c1", @@ -43602,21 +44296,21 @@ "typeString": "literal_string \"The caller must be a lending pool contract\"" } ], - "id": 4507, + "id": 5124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "2237:7:21", + "referencedDeclaration": 16131, + "src": "3201:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4513, + "id": 5130, "isConstant": false, "isLValue": false, "isPure": false, @@ -43624,41 +44318,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2237:87:21", + "src": "3201:87:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4514, + "id": 5131, "nodeType": "ExpressionStatement", - "src": "2237:87:21" + "src": "3201:87:28" }, { - "id": 4515, + "id": 5132, "nodeType": "PlaceholderStatement", - "src": "2334:1:21" + "src": "3298:1:28" } ] }, "documentation": "@dev only lending pools can use functions affected by this modifier*", - "id": 4517, + "id": 5134, "name": "onlyLendingPool", "nodeType": "ModifierDefinition", "parameters": { - "id": 4506, + "id": 5123, "nodeType": "ParameterList", "parameters": [], - "src": "2227:0:21" + "src": "3191:0:28" }, - "src": "2202:140:21", + "src": "3166:140:28", "visibility": "internal" }, { "body": { - "id": 4530, + "id": 5147, "nodeType": "Block", - "src": "2488:190:21", + "src": "3452:190:28", "statements": [ { "expression": { @@ -43670,7 +44364,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4525, + "id": 5142, "isConstant": false, "isLValue": false, "isPure": false, @@ -43682,18 +44376,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4520, + "id": 5137, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "2519:17:21", + "referencedDeclaration": 5122, + "src": "3483:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 4521, + "id": 5138, "isConstant": false, "isLValue": false, "isPure": false, @@ -43701,13 +44395,13 @@ "memberName": "getLendingPoolConfigurator", "nodeType": "MemberAccess", "referencedDeclaration": 269, - "src": "2519:44:21", + "src": "3483:44:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 4522, + "id": 5139, "isConstant": false, "isLValue": false, "isPure": false, @@ -43715,7 +44409,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2519:46:21", + "src": "3483:46:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43727,18 +44421,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4523, + "id": 5140, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "2569:3:21", + "referencedDeclaration": 16127, + "src": "3533:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4524, + "id": 5141, "isConstant": false, "isLValue": false, "isPure": false, @@ -43746,13 +44440,13 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2569:10:21", + "src": "3533:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2519:60:21", + "src": "3483:60:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43761,14 +44455,14 @@ { "argumentTypes": null, "hexValue": "5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f6c20636f6e666967757261746f7220636f6e7472616374", - "id": 4526, + "id": 5143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2593:57:21", + "src": "3557:57:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8c7f0d16bf0dd67d21ca9dc67d55c2a427e32bd5c515428d66032bf648ff5ae2", @@ -43788,21 +44482,21 @@ "typeString": "literal_string \"The caller must be a lending pool configurator contract\"" } ], - "id": 4519, + "id": 5136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "2498:7:21", + "referencedDeclaration": 16131, + "src": "3462:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4527, + "id": 5144, "isConstant": false, "isLValue": false, "isPure": false, @@ -43810,76 +44504,76 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2498:162:21", + "src": "3462:162:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4528, + "id": 5145, "nodeType": "ExpressionStatement", - "src": "2498:162:21" + "src": "3462:162:28" }, { - "id": 4529, + "id": 5146, "nodeType": "PlaceholderStatement", - "src": "2670:1:21" + "src": "3634:1:28" } ] }, "documentation": "@dev only lending pools configurator can use functions affected by this modifier*", - "id": 4531, + "id": 5148, "name": "onlyLendingPoolConfigurator", "nodeType": "ModifierDefinition", "parameters": { - "id": 4518, + "id": 5135, "nodeType": "ParameterList", "parameters": [], - "src": "2488:0:21" + "src": "3452:0:28" }, - "src": "2451:227:21", + "src": "3415:227:28", "visibility": "internal" }, { "constant": false, - "id": 4535, + "id": 5152, "name": "reserves", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2684:61:21", + "scope": 8443, + "src": "3648:61:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData)" }, "typeName": { - "id": 4534, + "id": 5151, "keyType": { - "id": 4532, + "id": 5149, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2692:7:21", + "src": "3656:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2684:43:21", + "src": "3648:43:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData)" }, "valueType": { "contractScope": null, - "id": 4533, + "id": 5150, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "2703:23:21", + "referencedDeclaration": 10646, + "src": "3667:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } } @@ -43889,62 +44583,62 @@ }, { "constant": false, - "id": 4541, + "id": 5158, "name": "usersReserveData", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2751:93:21", + "scope": 8443, + "src": "3715:93:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData))" }, "typeName": { - "id": 4540, + "id": 5157, "keyType": { - "id": 4536, + "id": 5153, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2759:7:21", + "src": "3723:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2751:67:21", + "src": "3715:67:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData))" }, "valueType": { - "id": 4539, + "id": 5156, "keyType": { - "id": 4537, + "id": 5154, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2778:7:21", + "src": "3742:7:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2770:47:21", + "src": "3734:47:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData)" }, "valueType": { "contractScope": null, - "id": 4538, + "id": 5155, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "2789:27:21", + "referencedDeclaration": 10605, + "src": "3753:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } } @@ -43955,11 +44649,11 @@ }, { "constant": false, - "id": 4544, + "id": 5161, "name": "reservesList", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2851:29:21", + "scope": 8443, + "src": "3815:29:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -43968,20 +44662,20 @@ }, "typeName": { "baseType": { - "id": 4542, + "id": 5159, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2851:7:21", + "src": "3815:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4543, + "id": 5160, "length": null, "nodeType": "ArrayTypeName", - "src": "2851:9:21", + "src": "3815:9:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -43992,11 +44686,11 @@ }, { "constant": true, - "id": 4547, + "id": 5164, "name": "CORE_REVISION", "nodeType": "VariableDeclaration", - "scope": 7812, - "src": "2887:43:21", + "scope": 8443, + "src": "3851:43:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -44004,10 +44698,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4545, + "id": 5162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2887:7:21", + "src": "3851:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44015,75 +44709,75 @@ }, "value": { "argumentTypes": null, - "hexValue": "307834", - "id": 4546, + "hexValue": "307837", + "id": 5163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2927:3:21", + "src": "3891:3:28", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" }, - "value": "0x4" + "value": "0x7" }, "visibility": "public" }, { "body": { - "id": 4554, + "id": 5171, "nodeType": "Block", - "src": "3063:37:21", + "src": "4027:37:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 4552, + "id": 5169, "name": "CORE_REVISION", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "3080:13:21", + "referencedDeclaration": 5164, + "src": "4044:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4551, - "id": 4553, + "functionReturnParameters": 5168, + "id": 5170, "nodeType": "Return", - "src": "3073:20:21" + "src": "4037:20:28" } ] }, "documentation": "@dev returns the revision number of the contract*", - "id": 4555, + "id": 5172, "implemented": true, "kind": "function", "modifiers": [], "name": "getRevision", "nodeType": "FunctionDefinition", "parameters": { - "id": 4548, + "id": 5165, "nodeType": "ParameterList", "parameters": [], - "src": "3028:2:21" + "src": "3992:2:28" }, "returnParameters": { - "id": 4551, + "id": 5168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4550, + "id": 5167, "name": "", "nodeType": "VariableDeclaration", - "scope": 4555, - "src": "3054:7:21", + "scope": 5172, + "src": "4018:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44091,10 +44785,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4549, + "id": 5166, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3054:7:21", + "src": "4018:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44104,36 +44798,36 @@ "visibility": "internal" } ], - "src": "3053:9:21" + "src": "4017:9:28" }, - "scope": 7812, - "src": "3008:92:21", + "scope": 8443, + "src": "3972:92:28", "stateMutability": "pure", - "superFunction": 11081, + "superFunction": 12185, "visibility": "internal" }, { "body": { - "id": 4569, + "id": 5186, "nodeType": "Block", - "src": "3367:88:21", + "src": "4331:88:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 4564, + "id": 5181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 4562, + "id": 5179, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "3377:17:21", + "referencedDeclaration": 5122, + "src": "4341:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -44143,26 +44837,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4563, + "id": 5180, "name": "_addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4557, - "src": "3397:18:21", + "referencedDeclaration": 5174, + "src": "4361:18:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "src": "3377:38:21", + "src": "4341:38:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 4565, + "id": 5182, "nodeType": "ExpressionStatement", - "src": "3377:38:21" + "src": "4341:38:28" }, { "expression": { @@ -44170,18 +44864,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4566, + "id": 5183, "name": "refreshConfigInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "3425:21:21", + "referencedDeclaration": 8400, + "src": "4389:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 4567, + "id": 5184, "isConstant": false, "isLValue": false, "isPure": false, @@ -44189,56 +44883,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3425:23:21", + "src": "4389:23:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4568, + "id": 5185, "nodeType": "ExpressionStatement", - "src": "3425:23:21" + "src": "4389:23:28" } ] }, "documentation": "@dev initializes the Core contract, invoked upon registration on the AddressesProvider\n@param _addressesProvider the addressesProvider contract*", - "id": 4570, + "id": 5187, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4560, + "id": 5177, "modifierName": { "argumentTypes": null, - "id": 4559, + "id": 5176, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 11076, - "src": "3355:11:21", + "referencedDeclaration": 12180, + "src": "4319:11:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3355:11:21" + "src": "4319:11:28" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { - "id": 4558, + "id": 5175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4557, + "id": 5174, "name": "_addressesProvider", "nodeType": "VariableDeclaration", - "scope": 4570, - "src": "3299:47:21", + "scope": 5187, + "src": "4263:47:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44247,11 +44941,11 @@ }, "typeName": { "contractScope": null, - "id": 4556, + "id": 5173, "name": "LendingPoolAddressesProvider", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 582, - "src": "3299:28:21", + "src": "4263:28:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" @@ -44261,25 +44955,25 @@ "visibility": "internal" } ], - "src": "3298:49:21" + "src": "4262:49:28" }, "returnParameters": { - "id": 4561, + "id": 5178, "nodeType": "ParameterList", "parameters": [], - "src": "3367:0:21" + "src": "4331:0:28" }, - "scope": 7812, - "src": "3279:176:21", + "scope": 8443, + "src": "4243:176:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4604, + "id": 5221, "nodeType": "Block", - "src": "3984:364:21", + "src": "4948:364:28", "statements": [ { "expression": { @@ -44291,26 +44985,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4583, + "id": 5200, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "3994:8:21", + "referencedDeclaration": 5152, + "src": "4958:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4585, + "id": 5202, "indexExpression": { "argumentTypes": null, - "id": 4584, + "id": 5201, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4003:8:21", + "referencedDeclaration": 5189, + "src": "4967:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44321,27 +45015,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3994:18:21", + "src": "4958:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4586, + "id": 5203, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "3994:42:21", + "referencedDeclaration": 10724, + "src": "4958:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4587, + "id": 5204, "isConstant": false, "isLValue": false, "isPure": false, @@ -44349,15 +45043,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3994:44:21", + "src": "4958:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4588, + "id": 5205, "nodeType": "ExpressionStatement", - "src": "3994:44:21" + "src": "4958:44:28" }, { "expression": { @@ -44365,12 +45059,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4590, + "id": 5207, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4095:8:21", + "referencedDeclaration": 5189, + "src": "5059:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44378,12 +45072,12 @@ }, { "argumentTypes": null, - "id": 4591, + "id": 5208, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4576, - "src": "4105:7:21", + "referencedDeclaration": 5193, + "src": "5069:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44392,14 +45086,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4592, + "id": 5209, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4114:1:21", + "src": "5078:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -44423,18 +45117,18 @@ "typeString": "int_const 0" } ], - "id": 4589, + "id": 5206, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "4048:46:21", + "referencedDeclaration": 8341, + "src": "5012:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4593, + "id": 5210, "isConstant": false, "isLValue": false, "isPure": false, @@ -44442,38 +45136,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4048:68:21", + "src": "5012:68:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4594, + "id": 5211, "nodeType": "ExpressionStatement", - "src": "4048:68:21" + "src": "5012:68:28" }, { "condition": { "argumentTypes": null, - "id": 4595, + "id": 5212, "name": "_isFirstDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4578, - "src": "4131:15:21", + "referencedDeclaration": 5195, + "src": "5095:15:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4603, + "id": 5220, "nodeType": "IfStatement", - "src": "4127:215:21", + "src": "5091:215:28", "trueBody": { - "id": 4602, + "id": 5219, "nodeType": "Block", - "src": "4148:194:21", + "src": "5112:194:28", "statements": [ { "expression": { @@ -44481,12 +45175,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4597, + "id": 5214, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4572, - "src": "4309:8:21", + "referencedDeclaration": 5189, + "src": "5273:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44494,12 +45188,12 @@ }, { "argumentTypes": null, - "id": 4598, + "id": 5215, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "4319:5:21", + "referencedDeclaration": 5191, + "src": "5283:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44508,14 +45202,14 @@ { "argumentTypes": null, "hexValue": "74727565", - "id": 4599, + "id": 5216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4326:4:21", + "src": "5290:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -44539,18 +45233,18 @@ "typeString": "bool" } ], - "id": 4596, + "id": 5213, "name": "setUserUseReserveAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4971, - "src": "4279:29:21", + "referencedDeclaration": 5588, + "src": "5243:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 4600, + "id": 5217, "isConstant": false, "isLValue": false, "isPure": false, @@ -44558,15 +45252,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4279:52:21", + "src": "5243:52:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4601, + "id": 5218, "nodeType": "ExpressionStatement", - "src": "4279:52:21" + "src": "5243:52:28" } ] } @@ -44574,43 +45268,43 @@ ] }, "documentation": "@dev updates the state of the core as a result of a deposit action\n@param _reserve the address of the reserve in which the deposit is happening\n@param _user the address of the the user depositing\n@param _amount the amount being deposited\n@param _isFirstDeposit true if the user is depositing for the first time*", - "id": 4605, + "id": 5222, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4581, + "id": 5198, "modifierName": { "argumentTypes": null, - "id": 4580, + "id": 5197, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "3968:15:21", + "referencedDeclaration": 5134, + "src": "4932:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3968:15:21" + "src": "4932:15:28" } ], "name": "updateStateOnDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 4579, + "id": 5196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4572, + "id": 5189, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3858:16:21", + "scope": 5222, + "src": "4822:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44618,10 +45312,10 @@ "typeString": "address" }, "typeName": { - "id": 4571, + "id": 5188, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3858:7:21", + "src": "4822:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44633,11 +45327,11 @@ }, { "constant": false, - "id": 4574, + "id": 5191, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3884:13:21", + "scope": 5222, + "src": "4848:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44645,10 +45339,10 @@ "typeString": "address" }, "typeName": { - "id": 4573, + "id": 5190, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3884:7:21", + "src": "4848:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44660,11 +45354,11 @@ }, { "constant": false, - "id": 4576, + "id": 5193, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3907:15:21", + "scope": 5222, + "src": "4871:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44672,10 +45366,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4575, + "id": 5192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3907:7:21", + "src": "4871:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44686,11 +45380,11 @@ }, { "constant": false, - "id": 4578, + "id": 5195, "name": "_isFirstDeposit", "nodeType": "VariableDeclaration", - "scope": 4605, - "src": "3932:20:21", + "scope": 5222, + "src": "4896:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44698,10 +45392,10 @@ "typeString": "bool" }, "typeName": { - "id": 4577, + "id": 5194, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3932:4:21", + "src": "4896:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -44711,25 +45405,25 @@ "visibility": "internal" } ], - "src": "3848:110:21" + "src": "4812:110:28" }, "returnParameters": { - "id": 4582, + "id": 5199, "nodeType": "ParameterList", "parameters": [], - "src": "3984:0:21" + "src": "4948:0:28" }, - "scope": 7812, - "src": "3819:529:21", + "scope": 8443, + "src": "4783:529:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4639, + "id": 5256, "nodeType": "Block", - "src": "4894:402:21", + "src": "5858:402:28", "statements": [ { "expression": { @@ -44741,26 +45435,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4618, + "id": 5235, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "4963:8:21", + "referencedDeclaration": 5152, + "src": "5927:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4620, + "id": 5237, "indexExpression": { "argumentTypes": null, - "id": 4619, + "id": 5236, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "4972:8:21", + "referencedDeclaration": 5224, + "src": "5936:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44771,27 +45465,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4963:18:21", + "src": "5927:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4621, + "id": 5238, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "4963:42:21", + "referencedDeclaration": 10724, + "src": "5927:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4622, + "id": 5239, "isConstant": false, "isLValue": false, "isPure": false, @@ -44799,15 +45493,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4963:44:21", + "src": "5927:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4623, + "id": 5240, "nodeType": "ExpressionStatement", - "src": "4963:44:21" + "src": "5927:44:28" }, { "expression": { @@ -44815,12 +45509,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4625, + "id": 5242, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5064:8:21", + "referencedDeclaration": 5224, + "src": "6028:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44829,14 +45523,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4626, + "id": 5243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5074:1:21", + "src": "6038:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -44846,12 +45540,12 @@ }, { "argumentTypes": null, - "id": 4627, + "id": 5244, "name": "_amountRedeemed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4611, - "src": "5077:15:21", + "referencedDeclaration": 5228, + "src": "6041:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44873,18 +45567,18 @@ "typeString": "uint256" } ], - "id": 4624, + "id": 5241, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "5017:46:21", + "referencedDeclaration": 8341, + "src": "5981:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4628, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": false, @@ -44892,38 +45586,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5017:76:21", + "src": "5981:76:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4629, + "id": 5246, "nodeType": "ExpressionStatement", - "src": "5017:76:21" + "src": "5981:76:28" }, { "condition": { "argumentTypes": null, - "id": 4630, + "id": 5247, "name": "_userRedeemedEverything", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4613, - "src": "5187:23:21", + "referencedDeclaration": 5230, + "src": "6151:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 4638, + "id": 5255, "nodeType": "IfStatement", - "src": "5183:107:21", + "src": "6147:107:28", "trueBody": { - "id": 4637, + "id": 5254, "nodeType": "Block", - "src": "5212:78:21", + "src": "6176:78:28", "statements": [ { "expression": { @@ -44931,12 +45625,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4632, + "id": 5249, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4607, - "src": "5256:8:21", + "referencedDeclaration": 5224, + "src": "6220:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44944,12 +45638,12 @@ }, { "argumentTypes": null, - "id": 4633, + "id": 5250, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4609, - "src": "5266:5:21", + "referencedDeclaration": 5226, + "src": "6230:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44958,14 +45652,14 @@ { "argumentTypes": null, "hexValue": "66616c7365", - "id": 4634, + "id": 5251, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5273:5:21", + "src": "6237:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -44989,18 +45683,18 @@ "typeString": "bool" } ], - "id": 4631, + "id": 5248, "name": "setUserUseReserveAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4971, - "src": "5226:29:21", + "referencedDeclaration": 5588, + "src": "6190:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,address,bool)" } }, - "id": 4635, + "id": 5252, "isConstant": false, "isLValue": false, "isPure": false, @@ -45008,15 +45702,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5226:53:21", + "src": "6190:53:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4636, + "id": 5253, "nodeType": "ExpressionStatement", - "src": "5226:53:21" + "src": "6190:53:28" } ] } @@ -45024,43 +45718,43 @@ ] }, "documentation": "@dev updates the state of the core as a result of a redeem action\n@param _reserve the address of the reserve in which the redeem is happening\n@param _user the address of the the user redeeming\n@param _amountRedeemed the amount being redeemed\n@param _userRedeemedEverything true if the user is redeeming everything*", - "id": 4640, + "id": 5257, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4616, + "id": 5233, "modifierName": { "argumentTypes": null, - "id": 4615, + "id": 5232, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "4878:15:21", + "referencedDeclaration": 5134, + "src": "5842:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4878:15:21" + "src": "5842:15:28" } ], "name": "updateStateOnRedeem", "nodeType": "FunctionDefinition", "parameters": { - "id": 4614, + "id": 5231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4607, + "id": 5224, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4752:16:21", + "scope": 5257, + "src": "5716:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45068,10 +45762,10 @@ "typeString": "address" }, "typeName": { - "id": 4606, + "id": 5223, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4752:7:21", + "src": "5716:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45083,11 +45777,11 @@ }, { "constant": false, - "id": 4609, + "id": 5226, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4778:13:21", + "scope": 5257, + "src": "5742:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45095,10 +45789,10 @@ "typeString": "address" }, "typeName": { - "id": 4608, + "id": 5225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4778:7:21", + "src": "5742:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45110,11 +45804,11 @@ }, { "constant": false, - "id": 4611, + "id": 5228, "name": "_amountRedeemed", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4801:23:21", + "scope": 5257, + "src": "5765:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45122,10 +45816,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4610, + "id": 5227, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4801:7:21", + "src": "5765:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45136,11 +45830,11 @@ }, { "constant": false, - "id": 4613, + "id": 5230, "name": "_userRedeemedEverything", "nodeType": "VariableDeclaration", - "scope": 4640, - "src": "4834:28:21", + "scope": 5257, + "src": "5798:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45148,10 +45842,10 @@ "typeString": "bool" }, "typeName": { - "id": 4612, + "id": 5229, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4834:4:21", + "src": "5798:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45161,25 +45855,25 @@ "visibility": "internal" } ], - "src": "4742:126:21" + "src": "5706:126:28" }, "returnParameters": { - "id": 4617, + "id": 5234, "nodeType": "ParameterList", "parameters": [], - "src": "4894:0:21" + "src": "5858:0:28" }, - "scope": 7812, - "src": "4714:582:21", + "scope": 8443, + "src": "5678:582:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4687, + "id": 5304, "nodeType": "Block", - "src": "5739:557:21", + "src": "6703:557:28", "statements": [ { "expression": { @@ -45187,12 +45881,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4654, + "id": 5271, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "5786:8:21", + "referencedDeclaration": 5259, + "src": "6750:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45200,12 +45894,12 @@ }, { "argumentTypes": null, - "id": 4655, + "id": 5272, "name": "_protocolFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4648, - "src": "5796:12:21", + "referencedDeclaration": 5265, + "src": "6760:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45223,18 +45917,18 @@ "typeString": "uint256" } ], - "id": 4653, + "id": 5270, "name": "transferFlashLoanProtocolFeeInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7759, - "src": "5749:36:21", + "referencedDeclaration": 8390, + "src": "6713:36:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4656, + "id": 5273, "isConstant": false, "isLValue": false, "isPure": false, @@ -45242,15 +45936,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5749:60:21", + "src": "6713:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4657, + "id": 5274, "nodeType": "ExpressionStatement", - "src": "5749:60:21" + "src": "6713:60:28" }, { "expression": { @@ -45262,26 +45956,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4658, + "id": 5275, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "5865:8:21", + "referencedDeclaration": 5152, + "src": "6829:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4660, + "id": 5277, "indexExpression": { "argumentTypes": null, - "id": 4659, + "id": 5276, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "5874:8:21", + "referencedDeclaration": 5259, + "src": "6838:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45292,27 +45986,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5865:18:21", + "src": "6829:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4661, + "id": 5278, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "5865:42:21", + "referencedDeclaration": 10724, + "src": "6829:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 4662, + "id": 5279, "isConstant": false, "isLValue": false, "isPure": false, @@ -45320,28 +46014,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5865:44:21", + "src": "6829:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4663, + "id": 5280, "nodeType": "ExpressionStatement", - "src": "5865:44:21" + "src": "6829:44:28" }, { "assignments": [ - 4665 + 5282 ], "declarations": [ { "constant": false, - "id": 4665, + "id": 5282, "name": "totalLiquidityBefore", "nodeType": "VariableDeclaration", - "scope": 4687, - "src": "5920:28:21", + "scope": 5304, + "src": "6884:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45349,10 +46043,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4664, + "id": 5281, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5920:7:21", + "src": "6884:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45362,7 +46056,7 @@ "visibility": "internal" } ], - "id": 4672, + "id": 5289, "initialValue": { "argumentTypes": null, "arguments": [ @@ -45371,12 +46065,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4669, + "id": 5286, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6017:8:21", + "referencedDeclaration": 5259, + "src": "6981:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45390,18 +46084,18 @@ "typeString": "address" } ], - "id": 4668, + "id": 5285, "name": "getReserveTotalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5520, - "src": "5994:22:21", + "referencedDeclaration": 6137, + "src": "6958:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 4670, + "id": 5287, "isConstant": false, "isLValue": false, "isPure": false, @@ -45409,7 +46103,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5994:32:21", + "src": "6958:32:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45425,32 +46119,32 @@ ], "expression": { "argumentTypes": null, - "id": 4666, + "id": 5283, "name": "_availableLiquidityBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4644, - "src": "5951:25:21", + "referencedDeclaration": 5261, + "src": "6915:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4667, + "id": 5284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "5951:29:21", + "referencedDeclaration": 15070, + "src": "6915:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4671, + "id": 5288, "isConstant": false, "isLValue": false, "isPure": false, @@ -45458,14 +46152,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5951:85:21", + "src": "6915:85:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "5920:116:21" + "src": "6884:116:28" }, { "expression": { @@ -45473,12 +46167,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4677, + "id": 5294, "name": "totalLiquidityBefore", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4665, - "src": "6147:20:21", + "referencedDeclaration": 5282, + "src": "7111:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45486,12 +46180,12 @@ }, { "argumentTypes": null, - "id": 4678, + "id": 5295, "name": "_income", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4646, - "src": "6169:7:21", + "referencedDeclaration": 5263, + "src": "7133:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45513,26 +46207,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4673, + "id": 5290, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "6103:8:21", + "referencedDeclaration": 5152, + "src": "7067:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 4675, + "id": 5292, "indexExpression": { "argumentTypes": null, - "id": 4674, + "id": 5291, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6112:8:21", + "referencedDeclaration": 5259, + "src": "7076:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45543,27 +46237,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6103:18:21", + "src": "7067:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 4676, + "id": 5293, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "cumulateToLiquidityIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9687, - "src": "6103:43:21", + "referencedDeclaration": 10764, + "src": "7067:43:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 4679, + "id": 5296, "isConstant": false, "isLValue": false, "isPure": false, @@ -45571,15 +46265,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6103:74:21", + "src": "7067:74:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4680, + "id": 5297, "nodeType": "ExpressionStatement", - "src": "6103:74:21" + "src": "7067:74:28" }, { "expression": { @@ -45587,12 +46281,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4682, + "id": 5299, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4642, - "src": "6268:8:21", + "referencedDeclaration": 5259, + "src": "7232:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45600,12 +46294,12 @@ }, { "argumentTypes": null, - "id": 4683, + "id": 5300, "name": "_income", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4646, - "src": "6278:7:21", + "referencedDeclaration": 5263, + "src": "7242:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45614,14 +46308,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4684, + "id": 5301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6287:1:21", + "src": "7251:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -45645,18 +46339,18 @@ "typeString": "int_const 0" } ], - "id": 4681, + "id": 5298, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "6221:46:21", + "referencedDeclaration": 8341, + "src": "7185:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4685, + "id": 5302, "isConstant": false, "isLValue": false, "isPure": false, @@ -45664,56 +46358,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6221:68:21", + "src": "7185:68:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4686, + "id": 5303, "nodeType": "ExpressionStatement", - "src": "6221:68:21" + "src": "7185:68:28" } ] }, "documentation": "@dev updates the state of the core as a result of a flashloan action\n@param _reserve the address of the reserve in which the flashloan is happening\n@param _income the income of the protocol as a result of the action*", - "id": 4688, + "id": 5305, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4651, + "id": 5268, "modifierName": { "argumentTypes": null, - "id": 4650, + "id": 5267, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "5723:15:21", + "referencedDeclaration": 5134, + "src": "6687:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5723:15:21" + "src": "6687:15:28" } ], "name": "updateStateOnFlashLoan", "nodeType": "FunctionDefinition", "parameters": { - "id": 4649, + "id": 5266, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4642, + "id": 5259, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5593:16:21", + "scope": 5305, + "src": "6557:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45721,10 +46415,10 @@ "typeString": "address" }, "typeName": { - "id": 4641, + "id": 5258, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5593:7:21", + "src": "6557:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45736,11 +46430,11 @@ }, { "constant": false, - "id": 4644, + "id": 5261, "name": "_availableLiquidityBefore", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5619:33:21", + "scope": 5305, + "src": "6583:33:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45748,10 +46442,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4643, + "id": 5260, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5619:7:21", + "src": "6583:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45762,11 +46456,11 @@ }, { "constant": false, - "id": 4646, + "id": 5263, "name": "_income", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5662:15:21", + "scope": 5305, + "src": "6626:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45774,10 +46468,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4645, + "id": 5262, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5662:7:21", + "src": "6626:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45788,11 +46482,11 @@ }, { "constant": false, - "id": 4648, + "id": 5265, "name": "_protocolFee", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "5687:20:21", + "scope": 5305, + "src": "6651:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45800,10 +46494,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4647, + "id": 5264, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5687:7:21", + "src": "6651:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45813,40 +46507,40 @@ "visibility": "internal" } ], - "src": "5583:130:21" + "src": "6547:130:28" }, "returnParameters": { - "id": 4652, + "id": 5269, "nodeType": "ParameterList", "parameters": [], - "src": "5739:0:21" + "src": "6703:0:28" }, - "scope": 7812, - "src": "5552:744:21", + "scope": 8443, + "src": "6516:744:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4747, + "id": 5364, "nodeType": "Block", - "src": "6986:783:21", + "src": "7950:783:28", "statements": [ { "assignments": [ - 4708, + 5325, null, - 4710 + 5327 ], "declarations": [ { "constant": false, - "id": 4708, + "id": 5325, "name": "principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4747, - "src": "7053:30:21", + "scope": 5364, + "src": "8017:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45854,10 +46548,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4707, + "id": 5324, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7053:7:21", + "src": "8017:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45869,11 +46563,11 @@ null, { "constant": false, - "id": 4710, + "id": 5327, "name": "balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4747, - "src": "7087:23:21", + "scope": 5364, + "src": "8051:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45881,10 +46575,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4709, + "id": 5326, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7087:7:21", + "src": "8051:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -45894,18 +46588,18 @@ "visibility": "internal" } ], - "id": 4715, + "id": 5332, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4712, + "id": 5329, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7149:8:21", + "referencedDeclaration": 5307, + "src": "8113:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45913,12 +46607,12 @@ }, { "argumentTypes": null, - "id": 4713, + "id": 5330, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7171:5:21", + "referencedDeclaration": 5309, + "src": "8135:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45936,18 +46630,18 @@ "typeString": "address" } ], - "id": 4711, + "id": 5328, "name": "getUserBorrowBalances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6197, - "src": "7114:21:21", + "referencedDeclaration": 6814, + "src": "8078:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (address,address) view returns (uint256,uint256,uint256)" } }, - "id": 4714, + "id": 5331, "isConstant": false, "isLValue": false, "isPure": false, @@ -45955,14 +46649,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7114:72:21", + "src": "8078:72:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", - "src": "7052:134:21" + "src": "8016:134:28" }, { "expression": { @@ -45970,12 +46664,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4717, + "id": 5334, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7245:8:21", + "referencedDeclaration": 5307, + "src": "8209:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45983,12 +46677,12 @@ }, { "argumentTypes": null, - "id": 4718, + "id": 5335, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7267:5:21", + "referencedDeclaration": 5309, + "src": "8231:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45996,12 +46690,12 @@ }, { "argumentTypes": null, - "id": 4719, + "id": 5336, "name": "principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, - "src": "7286:22:21", + "referencedDeclaration": 5325, + "src": "8250:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46009,12 +46703,12 @@ }, { "argumentTypes": null, - "id": 4720, + "id": 5337, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7322:15:21", + "referencedDeclaration": 5327, + "src": "8286:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46022,12 +46716,12 @@ }, { "argumentTypes": null, - "id": 4721, + "id": 5338, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7351:15:21", + "referencedDeclaration": 5311, + "src": "8315:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46035,14 +46729,14 @@ }, { "argumentTypes": null, - "id": 4722, + "id": 5339, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "7380:9:21", + "referencedDeclaration": 5315, + "src": "8344:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -46070,22 +46764,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4716, + "id": 5333, "name": "updateReserveStateOnBorrowInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6757, - "src": "7197:34:21", + "referencedDeclaration": 7374, + "src": "8161:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4723, + "id": 5340, "isConstant": false, "isLValue": false, "isPure": false, @@ -46093,15 +46787,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7197:202:21", + "src": "8161:202:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4724, + "id": 5341, "nodeType": "ExpressionStatement", - "src": "7197:202:21" + "src": "8161:202:28" }, { "expression": { @@ -46109,12 +46803,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4726, + "id": 5343, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7455:8:21", + "referencedDeclaration": 5307, + "src": "8419:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46122,12 +46816,12 @@ }, { "argumentTypes": null, - "id": 4727, + "id": 5344, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7477:5:21", + "referencedDeclaration": 5309, + "src": "8441:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46135,12 +46829,12 @@ }, { "argumentTypes": null, - "id": 4728, + "id": 5345, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7496:15:21", + "referencedDeclaration": 5311, + "src": "8460:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46148,12 +46842,12 @@ }, { "argumentTypes": null, - "id": 4729, + "id": 5346, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7525:15:21", + "referencedDeclaration": 5327, + "src": "8489:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46161,12 +46855,12 @@ }, { "argumentTypes": null, - "id": 4730, + "id": 5347, "name": "_borrowFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4696, - "src": "7554:10:21", + "referencedDeclaration": 5313, + "src": "8518:10:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46174,14 +46868,14 @@ }, { "argumentTypes": null, - "id": 4731, + "id": 5348, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "7578:9:21", + "referencedDeclaration": 5315, + "src": "8542:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -46209,22 +46903,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4725, + "id": 5342, "name": "updateUserStateOnBorrowInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6868, - "src": "7410:31:21", + "referencedDeclaration": 7485, + "src": "8374:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4732, + "id": 5349, "isConstant": false, "isLValue": false, "isPure": false, @@ -46232,15 +46926,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7410:187:21", + "src": "8374:187:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4733, + "id": 5350, "nodeType": "ExpressionStatement", - "src": "7410:187:21" + "src": "8374:187:28" }, { "expression": { @@ -46248,12 +46942,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4735, + "id": 5352, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7655:8:21", + "referencedDeclaration": 5307, + "src": "8619:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46262,14 +46956,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4736, + "id": 5353, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7665:1:21", + "src": "8629:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -46279,12 +46973,12 @@ }, { "argumentTypes": null, - "id": 4737, + "id": 5354, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "7668:15:21", + "referencedDeclaration": 5311, + "src": "8632:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46306,18 +47000,18 @@ "typeString": "uint256" } ], - "id": 4734, + "id": 5351, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "7608:46:21", + "referencedDeclaration": 8341, + "src": "8572:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4738, + "id": 5355, "isConstant": false, "isLValue": false, "isPure": false, @@ -46325,15 +47019,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7608:76:21", + "src": "8572:76:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4739, + "id": 5356, "nodeType": "ExpressionStatement", - "src": "7608:76:21" + "src": "8572:76:28" }, { "expression": { @@ -46344,12 +47038,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4741, + "id": 5358, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4690, - "src": "7728:8:21", + "referencedDeclaration": 5307, + "src": "8692:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46357,12 +47051,12 @@ }, { "argumentTypes": null, - "id": 4742, + "id": 5359, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "7738:5:21", + "referencedDeclaration": 5309, + "src": "8702:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46380,18 +47074,18 @@ "typeString": "address" } ], - "id": 4740, + "id": 5357, "name": "getUserCurrentBorrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6116, - "src": "7703:24:21", + "referencedDeclaration": 6733, + "src": "8667:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 4743, + "id": 5360, "isConstant": false, "isLValue": false, "isPure": false, @@ -46399,7 +47093,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7703:41:21", + "src": "8667:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46407,76 +47101,76 @@ }, { "argumentTypes": null, - "id": 4744, + "id": 5361, "name": "balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "7746:15:21", + "referencedDeclaration": 5327, + "src": "8710:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4745, + "id": 5362, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7702:60:21", + "src": "8666:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 4706, - "id": 4746, + "functionReturnParameters": 5323, + "id": 5363, "nodeType": "Return", - "src": "7695:67:21" + "src": "8659:67:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _amountBorrowed the new amount borrowed\n@param _borrowFee the fee on the amount borrowed\n@param _rateMode the borrow rate mode (stable, variable)\n@return the new borrow rate for the user*", - "id": 4748, + "id": 5365, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4701, + "id": 5318, "modifierName": { "argumentTypes": null, - "id": 4700, + "id": 5317, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "6943:15:21", + "referencedDeclaration": 5134, + "src": "7907:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "6943:15:21" + "src": "7907:15:28" } ], "name": "updateStateOnBorrow", "nodeType": "FunctionDefinition", "parameters": { - "id": 4699, + "id": 5316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4690, + "id": 5307, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6779:16:21", + "scope": 5365, + "src": "7743:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46484,10 +47178,10 @@ "typeString": "address" }, "typeName": { - "id": 4689, + "id": 5306, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6779:7:21", + "src": "7743:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46499,11 +47193,11 @@ }, { "constant": false, - "id": 4692, + "id": 5309, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6805:13:21", + "scope": 5365, + "src": "7769:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46511,10 +47205,10 @@ "typeString": "address" }, "typeName": { - "id": 4691, + "id": 5308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6805:7:21", + "src": "7769:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46526,11 +47220,11 @@ }, { "constant": false, - "id": 4694, + "id": 5311, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6828:23:21", + "scope": 5365, + "src": "7792:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46538,10 +47232,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4693, + "id": 5310, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6828:7:21", + "src": "7792:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46552,11 +47246,11 @@ }, { "constant": false, - "id": 4696, + "id": 5313, "name": "_borrowFee", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6861:18:21", + "scope": 5365, + "src": "7825:18:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46564,10 +47258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4695, + "id": 5312, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6861:7:21", + "src": "7825:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46578,26 +47272,26 @@ }, { "constant": false, - "id": 4698, + "id": 5315, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6889:38:21", + "scope": 5365, + "src": "7853:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4697, + "id": 5314, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "6889:28:21", + "referencedDeclaration": 10589, + "src": "7853:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -46605,19 +47299,19 @@ "visibility": "internal" } ], - "src": "6769:164:21" + "src": "7733:164:28" }, "returnParameters": { - "id": 4706, + "id": 5323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4703, + "id": 5320, "name": "", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6968:7:21", + "scope": 5365, + "src": "7932:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46625,10 +47319,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4702, + "id": 5319, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6968:7:21", + "src": "7932:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46639,11 +47333,11 @@ }, { "constant": false, - "id": 4705, + "id": 5322, "name": "", "nodeType": "VariableDeclaration", - "scope": 4748, - "src": "6977:7:21", + "scope": 5365, + "src": "7941:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46651,10 +47345,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4704, + "id": 5321, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6977:7:21", + "src": "7941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46664,19 +47358,19 @@ "visibility": "internal" } ], - "src": "6967:18:21" + "src": "7931:18:28" }, - "scope": 7812, - "src": "6741:1028:21", + "scope": 8443, + "src": "7705:1028:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4787, + "id": 5404, "nodeType": "Block", - "src": "8549:486:21", + "src": "9513:486:28", "statements": [ { "expression": { @@ -46684,12 +47378,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4766, + "id": 5383, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8606:8:21", + "referencedDeclaration": 5367, + "src": "9570:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46697,12 +47391,12 @@ }, { "argumentTypes": null, - "id": 4767, + "id": 5384, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4752, - "src": "8628:5:21", + "referencedDeclaration": 5369, + "src": "9592:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46710,12 +47404,12 @@ }, { "argumentTypes": null, - "id": 4768, + "id": 5385, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "8647:23:21", + "referencedDeclaration": 5371, + "src": "9611:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46723,12 +47417,12 @@ }, { "argumentTypes": null, - "id": 4769, + "id": 5386, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4758, - "src": "8684:16:21", + "referencedDeclaration": 5375, + "src": "9648:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46754,18 +47448,18 @@ "typeString": "uint256" } ], - "id": 4765, + "id": 5382, "name": "updateReserveStateOnRepayInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6949, - "src": "8559:33:21", + "referencedDeclaration": 7566, + "src": "9523:33:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 4770, + "id": 5387, "isConstant": false, "isLValue": false, "isPure": false, @@ -46773,15 +47467,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8559:151:21", + "src": "9523:151:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4771, + "id": 5388, "nodeType": "ExpressionStatement", - "src": "8559:151:21" + "src": "9523:151:28" }, { "expression": { @@ -46789,12 +47483,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4773, + "id": 5390, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8764:8:21", + "referencedDeclaration": 5367, + "src": "9728:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46802,12 +47496,12 @@ }, { "argumentTypes": null, - "id": 4774, + "id": 5391, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4752, - "src": "8786:5:21", + "referencedDeclaration": 5369, + "src": "9750:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46815,12 +47509,12 @@ }, { "argumentTypes": null, - "id": 4775, + "id": 5392, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "8805:23:21", + "referencedDeclaration": 5371, + "src": "9769:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46828,12 +47522,12 @@ }, { "argumentTypes": null, - "id": 4776, + "id": 5393, "name": "_originationFeeRepaid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4756, - "src": "8842:21:21", + "referencedDeclaration": 5373, + "src": "9806:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46841,12 +47535,12 @@ }, { "argumentTypes": null, - "id": 4777, + "id": 5394, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4758, - "src": "8877:16:21", + "referencedDeclaration": 5375, + "src": "9841:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46854,12 +47548,12 @@ }, { "argumentTypes": null, - "id": 4778, + "id": 5395, "name": "_repaidWholeLoan", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4760, - "src": "8907:16:21", + "referencedDeclaration": 5377, + "src": "9871:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46893,18 +47587,18 @@ "typeString": "bool" } ], - "id": 4772, + "id": 5389, "name": "updateUserStateOnRepayInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7037, - "src": "8720:30:21", + "referencedDeclaration": 7654, + "src": "9684:30:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,bool)" } }, - "id": 4779, + "id": 5396, "isConstant": false, "isLValue": false, "isPure": false, @@ -46912,15 +47606,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8720:213:21", + "src": "9684:213:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4780, + "id": 5397, "nodeType": "ExpressionStatement", - "src": "8720:213:21" + "src": "9684:213:28" }, { "expression": { @@ -46928,12 +47622,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4782, + "id": 5399, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "8991:8:21", + "referencedDeclaration": 5367, + "src": "9955:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46941,12 +47635,12 @@ }, { "argumentTypes": null, - "id": 4783, + "id": 5400, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4754, - "src": "9001:23:21", + "referencedDeclaration": 5371, + "src": "9965:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46955,14 +47649,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4784, + "id": 5401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9026:1:21", + "src": "9990:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -46986,18 +47680,18 @@ "typeString": "int_const 0" } ], - "id": 4781, + "id": 5398, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "8944:46:21", + "referencedDeclaration": 8341, + "src": "9908:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4785, + "id": 5402, "isConstant": false, "isLValue": false, "isPure": false, @@ -47005,56 +47699,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8944:84:21", + "src": "9908:84:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4786, + "id": 5403, "nodeType": "ExpressionStatement", - "src": "8944:84:21" + "src": "9908:84:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _originationFeeRepaid the fee on the amount that is being repaid\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _repaidWholeLoan true if the user is repaying the whole loan*", - "id": 4788, + "id": 5405, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4763, + "id": 5380, "modifierName": { "argumentTypes": null, - "id": 4762, + "id": 5379, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "8533:15:21", + "referencedDeclaration": 5134, + "src": "9497:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8533:15:21" + "src": "9497:15:28" } ], "name": "updateStateOnRepay", "nodeType": "FunctionDefinition", "parameters": { - "id": 4761, + "id": 5378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4750, + "id": 5367, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8333:16:21", + "scope": 5405, + "src": "9297:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47062,10 +47756,10 @@ "typeString": "address" }, "typeName": { - "id": 4749, + "id": 5366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8333:7:21", + "src": "9297:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47077,11 +47771,11 @@ }, { "constant": false, - "id": 4752, + "id": 5369, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8359:13:21", + "scope": 5405, + "src": "9323:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47089,10 +47783,10 @@ "typeString": "address" }, "typeName": { - "id": 4751, + "id": 5368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8359:7:21", + "src": "9323:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47104,11 +47798,11 @@ }, { "constant": false, - "id": 4754, + "id": 5371, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8382:31:21", + "scope": 5405, + "src": "9346:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47116,10 +47810,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4753, + "id": 5370, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8382:7:21", + "src": "9346:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47130,11 +47824,11 @@ }, { "constant": false, - "id": 4756, + "id": 5373, "name": "_originationFeeRepaid", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8423:29:21", + "scope": 5405, + "src": "9387:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47142,10 +47836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4755, + "id": 5372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8423:7:21", + "src": "9387:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47156,11 +47850,11 @@ }, { "constant": false, - "id": 4758, + "id": 5375, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8462:24:21", + "scope": 5405, + "src": "9426:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47168,10 +47862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4757, + "id": 5374, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8462:7:21", + "src": "9426:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47182,11 +47876,11 @@ }, { "constant": false, - "id": 4760, + "id": 5377, "name": "_repaidWholeLoan", "nodeType": "VariableDeclaration", - "scope": 4788, - "src": "8496:21:21", + "scope": 5405, + "src": "9460:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47194,10 +47888,10 @@ "typeString": "bool" }, "typeName": { - "id": 4759, + "id": 5376, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8496:4:21", + "src": "9460:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -47207,25 +47901,25 @@ "visibility": "internal" } ], - "src": "8323:200:21" + "src": "9287:200:28" }, "returnParameters": { - "id": 4764, + "id": 5381, "nodeType": "ParameterList", "parameters": [], - "src": "8549:0:21" + "src": "9513:0:28" }, - "scope": 7812, - "src": "8296:739:21", + "scope": 8443, + "src": "9260:739:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4841, + "id": 5458, "nodeType": "Block", - "src": "9892:554:21", + "src": "10856:554:28", "statements": [ { "expression": { @@ -47233,12 +47927,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4810, + "id": 5427, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "9952:8:21", + "referencedDeclaration": 5407, + "src": "10916:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47246,12 +47940,12 @@ }, { "argumentTypes": null, - "id": 4811, + "id": 5428, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "9974:5:21", + "referencedDeclaration": 5409, + "src": "10938:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47259,12 +47953,12 @@ }, { "argumentTypes": null, - "id": 4812, + "id": 5429, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "9993:23:21", + "referencedDeclaration": 5411, + "src": "10957:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47272,12 +47966,12 @@ }, { "argumentTypes": null, - "id": 4813, + "id": 5430, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "10030:24:21", + "referencedDeclaration": 5413, + "src": "10994:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47285,14 +47979,14 @@ }, { "argumentTypes": null, - "id": 4814, + "id": 5431, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "10068:16:21", + "referencedDeclaration": 5417, + "src": "11032:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -47316,22 +48010,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4809, + "id": 5426, "name": "updateReserveStateOnSwapRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7129, - "src": "9902:36:21", + "referencedDeclaration": 7746, + "src": "10866:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 4815, + "id": 5432, "isConstant": false, "isLValue": false, "isPure": false, @@ -47339,43 +48033,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9902:192:21", + "src": "10866:192:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4816, + "id": 5433, "nodeType": "ExpressionStatement", - "src": "9902:192:21" + "src": "10866:192:28" }, { "assignments": [ - 4820 + 5437 ], "declarations": [ { "constant": false, - "id": 4820, + "id": 5437, "name": "newRateMode", "nodeType": "VariableDeclaration", - "scope": 4841, - "src": "10105:40:21", + "scope": 5458, + "src": "11069:40:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4819, + "id": 5436, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "10105:28:21", + "referencedDeclaration": 10589, + "src": "11069:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -47383,18 +48077,18 @@ "visibility": "internal" } ], - "id": 4827, + "id": 5444, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 4822, + "id": 5439, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10195:8:21", + "referencedDeclaration": 5407, + "src": "11159:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47402,12 +48096,12 @@ }, { "argumentTypes": null, - "id": 4823, + "id": 5440, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "10217:5:21", + "referencedDeclaration": 5409, + "src": "11181:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47415,12 +48109,12 @@ }, { "argumentTypes": null, - "id": 4824, + "id": 5441, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "10236:16:21", + "referencedDeclaration": 5415, + "src": "11200:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47428,14 +48122,14 @@ }, { "argumentTypes": null, - "id": 4825, + "id": 5442, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4800, - "src": "10266:16:21", + "referencedDeclaration": 5417, + "src": "11230:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -47455,22 +48149,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 4821, + "id": 5438, "name": "updateUserStateOnSwapRateInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7247, - "src": "10148:33:21", + "referencedDeclaration": 7864, + "src": "11112:33:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address,uint256,enum CoreLibrary.InterestRateMode) returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 4826, + "id": 5443, "isConstant": false, "isLValue": false, "isPure": false, @@ -47478,14 +48172,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10148:144:21", + "src": "11112:144:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "10105:187:21" + "src": "11069:187:28" }, { "expression": { @@ -47493,12 +48187,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4829, + "id": 5446, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10350:8:21", + "referencedDeclaration": 5407, + "src": "11314:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47507,14 +48201,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4830, + "id": 5447, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10360:1:21", + "src": "11324:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -47525,14 +48219,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4831, + "id": 5448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10363:1:21", + "src": "11327:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -47556,18 +48250,18 @@ "typeString": "int_const 0" } ], - "id": 4828, + "id": 5445, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "10303:46:21", + "referencedDeclaration": 8341, + "src": "11267:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4832, + "id": 5449, "isConstant": false, "isLValue": false, "isPure": false, @@ -47575,15 +48269,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10303:62:21", + "src": "11267:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4833, + "id": 5450, "nodeType": "ExpressionStatement", - "src": "10303:62:21" + "src": "11267:62:28" }, { "expression": { @@ -47591,14 +48285,14 @@ "components": [ { "argumentTypes": null, - "id": 4834, + "id": 5451, "name": "newRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4820, - "src": "10384:11:21", + "referencedDeclaration": 5437, + "src": "11348:11:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -47607,12 +48301,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4836, + "id": 5453, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "10422:8:21", + "referencedDeclaration": 5407, + "src": "11386:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47620,12 +48314,12 @@ }, { "argumentTypes": null, - "id": 4837, + "id": 5454, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "10432:5:21", + "referencedDeclaration": 5409, + "src": "11396:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47643,18 +48337,18 @@ "typeString": "address" } ], - "id": 4835, + "id": 5452, "name": "getUserCurrentBorrowRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6116, - "src": "10397:24:21", + "referencedDeclaration": 6733, + "src": "11361:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 4838, + "id": 5455, "isConstant": false, "isLValue": false, "isPure": false, @@ -47662,71 +48356,71 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10397:41:21", + "src": "11361:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 4839, + "id": 5456, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "10383:56:21", + "src": "11347:56:28", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_InterestRateMode_$9512_$_t_uint256_$", + "typeIdentifier": "t_tuple$_t_enum$_InterestRateMode_$10589_$_t_uint256_$", "typeString": "tuple(enum CoreLibrary.InterestRateMode,uint256)" } }, - "functionReturnParameters": 4808, - "id": 4840, + "functionReturnParameters": 5425, + "id": 5457, "nodeType": "Return", - "src": "10376:63:21" + "src": "11340:63:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _principalBorrowBalance the amount borrowed by the user\n@param _compoundedBorrowBalance the amount borrowed plus accrued interest\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _currentRateMode the current interest rate mode for the user*", - "id": 4842, + "id": 5459, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4803, + "id": 5420, "modifierName": { "argumentTypes": null, - "id": 4802, + "id": 5419, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "9828:15:21", + "referencedDeclaration": 5134, + "src": "10792:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "9828:15:21" + "src": "10792:15:28" } ], "name": "updateStateOnSwapRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 4801, + "id": 5418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4790, + "id": 5407, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9601:16:21", + "scope": 5459, + "src": "10565:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47734,10 +48428,10 @@ "typeString": "address" }, "typeName": { - "id": 4789, + "id": 5406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9601:7:21", + "src": "10565:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47749,11 +48443,11 @@ }, { "constant": false, - "id": 4792, + "id": 5409, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9627:13:21", + "scope": 5459, + "src": "10591:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47761,10 +48455,10 @@ "typeString": "address" }, "typeName": { - "id": 4791, + "id": 5408, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9627:7:21", + "src": "10591:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47776,11 +48470,11 @@ }, { "constant": false, - "id": 4794, + "id": 5411, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9650:31:21", + "scope": 5459, + "src": "10614:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47788,10 +48482,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4793, + "id": 5410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9650:7:21", + "src": "10614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47802,11 +48496,11 @@ }, { "constant": false, - "id": 4796, + "id": 5413, "name": "_compoundedBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9691:32:21", + "scope": 5459, + "src": "10655:32:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47814,10 +48508,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4795, + "id": 5412, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9691:7:21", + "src": "10655:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47828,11 +48522,11 @@ }, { "constant": false, - "id": 4798, + "id": 5415, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9733:24:21", + "scope": 5459, + "src": "10697:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47840,10 +48534,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4797, + "id": 5414, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9733:7:21", + "src": "10697:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47854,26 +48548,26 @@ }, { "constant": false, - "id": 4800, + "id": 5417, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9767:45:21", + "scope": 5459, + "src": "10731:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4799, + "id": 5416, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "9767:28:21", + "referencedDeclaration": 10589, + "src": "10731:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -47881,34 +48575,34 @@ "visibility": "internal" } ], - "src": "9591:227:21" + "src": "10555:227:28" }, "returnParameters": { - "id": 4808, + "id": 5425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4805, + "id": 5422, "name": "", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9853:28:21", + "scope": 5459, + "src": "10817:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 4804, + "id": 5421, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "9853:28:21", + "referencedDeclaration": 10589, + "src": "10817:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -47917,11 +48611,11 @@ }, { "constant": false, - "id": 4807, + "id": 5424, "name": "", "nodeType": "VariableDeclaration", - "scope": 4842, - "src": "9883:7:21", + "scope": 5459, + "src": "10847:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47929,10 +48623,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4806, + "id": 5423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9883:7:21", + "src": "10847:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47942,19 +48636,19 @@ "visibility": "internal" } ], - "src": "9852:39:21" + "src": "10816:39:28" }, - "scope": 7812, - "src": "9561:885:21", + "scope": 8443, + "src": "10525:885:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4903, + "id": 5520, "nodeType": "Block", - "src": "11677:841:21", + "src": "12641:841:28", "statements": [ { "expression": { @@ -47962,12 +48656,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4866, + "id": 5483, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "11749:17:21", + "referencedDeclaration": 5461, + "src": "12713:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47975,12 +48669,12 @@ }, { "argumentTypes": null, - "id": 4867, + "id": 5484, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "11780:5:21", + "referencedDeclaration": 5465, + "src": "12744:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47988,12 +48682,12 @@ }, { "argumentTypes": null, - "id": 4868, + "id": 5485, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "11799:18:21", + "referencedDeclaration": 5467, + "src": "12763:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48001,12 +48695,12 @@ }, { "argumentTypes": null, - "id": 4869, + "id": 5486, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "11831:16:21", + "referencedDeclaration": 5475, + "src": "12795:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48032,18 +48726,18 @@ "typeString": "uint256" } ], - "id": 4865, + "id": 5482, "name": "updatePrincipalReserveStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7327, - "src": "11687:48:21", + "referencedDeclaration": 7944, + "src": "12651:48:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256)" } }, - "id": 4870, + "id": 5487, "isConstant": false, "isLValue": false, "isPure": false, @@ -48051,15 +48745,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11687:170:21", + "src": "12651:170:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4871, + "id": 5488, "nodeType": "ExpressionStatement", - "src": "11687:170:21" + "src": "12651:170:28" }, { "expression": { @@ -48067,12 +48761,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4873, + "id": 5490, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "11931:18:21", + "referencedDeclaration": 5463, + "src": "12895:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48086,18 +48780,18 @@ "typeString": "address" } ], - "id": 4872, + "id": 5489, "name": "updateCollateralReserveStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7339, - "src": "11868:49:21", + "referencedDeclaration": 7956, + "src": "12832:49:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4874, + "id": 5491, "isConstant": false, "isLValue": false, "isPure": false, @@ -48105,15 +48799,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11868:91:21", + "src": "12832:91:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4875, + "id": 5492, "nodeType": "ExpressionStatement", - "src": "11868:91:21" + "src": "12832:91:28" }, { "expression": { @@ -48121,12 +48815,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4877, + "id": 5494, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12020:17:21", + "referencedDeclaration": 5461, + "src": "12984:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48134,12 +48828,12 @@ }, { "argumentTypes": null, - "id": 4878, + "id": 5495, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "12051:5:21", + "referencedDeclaration": 5465, + "src": "13015:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48147,12 +48841,12 @@ }, { "argumentTypes": null, - "id": 4879, + "id": 5496, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "12070:18:21", + "referencedDeclaration": 5467, + "src": "13034:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48160,12 +48854,12 @@ }, { "argumentTypes": null, - "id": 4880, + "id": 5497, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "12102:14:21", + "referencedDeclaration": 5471, + "src": "13066:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48173,12 +48867,12 @@ }, { "argumentTypes": null, - "id": 4881, + "id": 5498, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4858, - "src": "12130:16:21", + "referencedDeclaration": 5475, + "src": "13094:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48208,18 +48902,18 @@ "typeString": "uint256" } ], - "id": 4876, + "id": 5493, "name": "updateUserStateOnLiquidationInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7425, - "src": "11970:36:21", + "referencedDeclaration": 8042, + "src": "12934:36:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256)" } }, - "id": 4882, + "id": 5499, "isConstant": false, "isLValue": false, "isPure": false, @@ -48227,15 +48921,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11970:186:21", + "src": "12934:186:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4883, + "id": 5500, "nodeType": "ExpressionStatement", - "src": "11970:186:21" + "src": "12934:186:28" }, { "expression": { @@ -48243,12 +48937,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4885, + "id": 5502, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4844, - "src": "12214:17:21", + "referencedDeclaration": 5461, + "src": "13178:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48256,12 +48950,12 @@ }, { "argumentTypes": null, - "id": 4886, + "id": 5503, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "12233:18:21", + "referencedDeclaration": 5467, + "src": "13197:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48270,14 +48964,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4887, + "id": 5504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12253:1:21", + "src": "13217:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -48301,18 +48995,18 @@ "typeString": "int_const 0" } ], - "id": 4884, + "id": 5501, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "12167:46:21", + "referencedDeclaration": 8341, + "src": "13131:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4888, + "id": 5505, "isConstant": false, "isLValue": false, "isPure": false, @@ -48320,20 +49014,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12167:88:21", + "src": "13131:88:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4889, + "id": 5506, "nodeType": "ExpressionStatement", - "src": "12167:88:21" + "src": "13131:88:28" }, { "condition": { "argumentTypes": null, - "id": 4891, + "id": 5508, "isConstant": false, "isLValue": false, "isPure": false, @@ -48341,15 +49035,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "12270:26:21", + "src": "13234:26:28", "subExpression": { "argumentTypes": null, - "id": 4890, + "id": 5507, "name": "_liquidatorReceivesAToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "src": "12271:25:21", + "referencedDeclaration": 5477, + "src": "13235:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48361,13 +49055,13 @@ } }, "falseBody": null, - "id": 4902, + "id": 5519, "nodeType": "IfStatement", - "src": "12266:245:21", + "src": "13230:245:28", "trueBody": { - "id": 4901, + "id": 5518, "nodeType": "Block", - "src": "12298:213:21", + "src": "13262:213:28", "statements": [ { "expression": { @@ -48375,12 +49069,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4893, + "id": 5510, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4846, - "src": "12376:18:21", + "referencedDeclaration": 5463, + "src": "13340:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48389,14 +49083,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4894, + "id": 5511, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12412:1:21", + "src": "13376:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -48409,12 +49103,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4897, + "id": 5514, "name": "_liquidatedCollateralForFee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4856, - "src": "12458:27:21", + "referencedDeclaration": 5473, + "src": "13422:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48430,32 +49124,32 @@ ], "expression": { "argumentTypes": null, - "id": 4895, + "id": 5512, "name": "_collateralToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "12431:22:21", + "referencedDeclaration": 5469, + "src": "13395:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4896, + "id": 5513, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "12431:26:21", + "referencedDeclaration": 15070, + "src": "13395:26:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 4898, + "id": 5515, "isConstant": false, "isLValue": false, "isPure": false, @@ -48463,7 +49157,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12431:55:21", + "src": "13395:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48485,18 +49179,18 @@ "typeString": "uint256" } ], - "id": 4892, + "id": 5509, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "12312:46:21", + "referencedDeclaration": 8341, + "src": "13276:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4899, + "id": 5516, "isConstant": false, "isLValue": false, "isPure": false, @@ -48504,15 +49198,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12312:188:21", + "src": "13276:188:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4900, + "id": 5517, "nodeType": "ExpressionStatement", - "src": "12312:188:21" + "src": "13276:188:28" } ] } @@ -48520,43 +49214,43 @@ ] }, "documentation": "@dev updates the state of the core as a consequence of a liquidation action.\n@param _principalReserve the address of the principal reserve that is being repaid\n@param _collateralReserve the address of the collateral reserve that is being liquidated\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _collateralToLiquidate the amount of collateral being liquidated\n@param _feeLiquidated the amount of origination fee being liquidated\n@param _liquidatedCollateralForFee the amount of collateral equivalent to the origination fee + bonus\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _liquidatorReceivesAToken true if the liquidator will receive aTokens, false otherwise*", - "id": 4904, + "id": 5521, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4863, + "id": 5480, "modifierName": { "argumentTypes": null, - "id": 4862, + "id": 5479, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "11661:15:21", + "referencedDeclaration": 5134, + "src": "12625:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "11661:15:21" + "src": "12625:15:28" } ], "name": "updateStateOnLiquidation", "nodeType": "FunctionDefinition", "parameters": { - "id": 4861, + "id": 5478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4844, + "id": 5461, "name": "_principalReserve", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11334:25:21", + "scope": 5521, + "src": "12298:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48564,10 +49258,10 @@ "typeString": "address" }, "typeName": { - "id": 4843, + "id": 5460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11334:7:21", + "src": "12298:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48579,11 +49273,11 @@ }, { "constant": false, - "id": 4846, + "id": 5463, "name": "_collateralReserve", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11369:26:21", + "scope": 5521, + "src": "12333:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48591,10 +49285,10 @@ "typeString": "address" }, "typeName": { - "id": 4845, + "id": 5462, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11369:7:21", + "src": "12333:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48606,11 +49300,11 @@ }, { "constant": false, - "id": 4848, + "id": 5465, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11405:13:21", + "scope": 5521, + "src": "12369:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48618,10 +49312,10 @@ "typeString": "address" }, "typeName": { - "id": 4847, + "id": 5464, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11405:7:21", + "src": "12369:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48633,11 +49327,11 @@ }, { "constant": false, - "id": 4850, + "id": 5467, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11428:26:21", + "scope": 5521, + "src": "12392:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48645,10 +49339,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4849, + "id": 5466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11428:7:21", + "src": "12392:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48659,11 +49353,11 @@ }, { "constant": false, - "id": 4852, + "id": 5469, "name": "_collateralToLiquidate", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11464:30:21", + "scope": 5521, + "src": "12428:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48671,10 +49365,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4851, + "id": 5468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11464:7:21", + "src": "12428:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48685,11 +49379,11 @@ }, { "constant": false, - "id": 4854, + "id": 5471, "name": "_feeLiquidated", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11504:22:21", + "scope": 5521, + "src": "12468:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48697,10 +49391,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4853, + "id": 5470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11504:7:21", + "src": "12468:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48711,11 +49405,11 @@ }, { "constant": false, - "id": 4856, + "id": 5473, "name": "_liquidatedCollateralForFee", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11536:35:21", + "scope": 5521, + "src": "12500:35:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48723,10 +49417,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4855, + "id": 5472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11536:7:21", + "src": "12500:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48737,11 +49431,11 @@ }, { "constant": false, - "id": 4858, + "id": 5475, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11581:24:21", + "scope": 5521, + "src": "12545:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48749,10 +49443,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4857, + "id": 5474, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11581:7:21", + "src": "12545:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48763,11 +49457,11 @@ }, { "constant": false, - "id": 4860, + "id": 5477, "name": "_liquidatorReceivesAToken", "nodeType": "VariableDeclaration", - "scope": 4904, - "src": "11615:30:21", + "scope": 5521, + "src": "12579:30:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48775,10 +49469,10 @@ "typeString": "bool" }, "typeName": { - "id": 4859, + "id": 5476, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11615:4:21", + "src": "12579:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48788,25 +49482,25 @@ "visibility": "internal" } ], - "src": "11324:327:21" + "src": "12288:327:28" }, "returnParameters": { - "id": 4864, + "id": 5481, "nodeType": "ParameterList", "parameters": [], - "src": "11677:0:21" + "src": "12641:0:28" }, - "scope": 7812, - "src": "11291:1227:21", + "scope": 8443, + "src": "12255:1227:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4942, + "id": 5559, "nodeType": "Block", - "src": "13038:358:21", + "src": "14002:358:28", "statements": [ { "expression": { @@ -48814,12 +49508,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4918, + "id": 5535, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13086:8:21", + "referencedDeclaration": 5523, + "src": "14050:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48827,12 +49521,12 @@ }, { "argumentTypes": null, - "id": 4919, + "id": 5536, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13096:5:21", + "referencedDeclaration": 5525, + "src": "14060:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48840,12 +49534,12 @@ }, { "argumentTypes": null, - "id": 4920, + "id": 5537, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4910, - "src": "13103:16:21", + "referencedDeclaration": 5527, + "src": "14067:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48867,18 +49561,18 @@ "typeString": "uint256" } ], - "id": 4917, + "id": 5534, "name": "updateReserveStateOnRebalanceInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7466, - "src": "13048:37:21", + "referencedDeclaration": 8083, + "src": "14012:37:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4921, + "id": 5538, "isConstant": false, "isLValue": false, "isPure": false, @@ -48886,15 +49580,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13048:72:21", + "src": "14012:72:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4922, + "id": 5539, "nodeType": "ExpressionStatement", - "src": "13048:72:21" + "src": "14012:72:28" }, { "expression": { @@ -48902,12 +49596,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4924, + "id": 5541, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13216:8:21", + "referencedDeclaration": 5523, + "src": "14180:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48915,12 +49609,12 @@ }, { "argumentTypes": null, - "id": 4925, + "id": 5542, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13226:5:21", + "referencedDeclaration": 5525, + "src": "14190:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48928,12 +49622,12 @@ }, { "argumentTypes": null, - "id": 4926, + "id": 5543, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4910, - "src": "13233:16:21", + "referencedDeclaration": 5527, + "src": "14197:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48955,18 +49649,18 @@ "typeString": "uint256" } ], - "id": 4923, + "id": 5540, "name": "updateUserStateOnRebalanceInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7520, - "src": "13181:34:21", + "referencedDeclaration": 8137, + "src": "14145:34:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4927, + "id": 5544, "isConstant": false, "isLValue": false, "isPure": false, @@ -48974,15 +49668,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13181:69:21", + "src": "14145:69:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4928, + "id": 5545, "nodeType": "ExpressionStatement", - "src": "13181:69:21" + "src": "14145:69:28" }, { "expression": { @@ -48990,12 +49684,12 @@ "arguments": [ { "argumentTypes": null, - "id": 4930, + "id": 5547, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13307:8:21", + "referencedDeclaration": 5523, + "src": "14271:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49004,14 +49698,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4931, + "id": 5548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13317:1:21", + "src": "14281:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -49022,14 +49716,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 4932, + "id": 5549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13320:1:21", + "src": "14284:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -49053,18 +49747,18 @@ "typeString": "int_const 0" } ], - "id": 4929, + "id": 5546, "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "13260:46:21", + "referencedDeclaration": 8341, + "src": "14224:46:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, - "id": 4933, + "id": 5550, "isConstant": false, "isLValue": false, "isPure": false, @@ -49072,15 +49766,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13260:62:21", + "src": "14224:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4934, + "id": 5551, "nodeType": "ExpressionStatement", - "src": "13260:62:21" + "src": "14224:62:28" }, { "expression": { @@ -49091,26 +49785,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4935, + "id": 5552, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "13339:16:21", + "referencedDeclaration": 5158, + "src": "14303:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 4937, + "id": 5554, "indexExpression": { "argumentTypes": null, - "id": 4936, + "id": 5553, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4908, - "src": "13356:5:21", + "referencedDeclaration": 5525, + "src": "14320:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49121,21 +49815,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13339:23:21", + "src": "14303:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 4939, + "id": 5556, "indexExpression": { "argumentTypes": null, - "id": 4938, + "id": 5555, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "13363:8:21", + "referencedDeclaration": 5523, + "src": "14327:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49146,71 +49840,71 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13339:33:21", + "src": "14303:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, - "id": 4940, + "id": 5557, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "13339:50:21", + "referencedDeclaration": 10600, + "src": "14303:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 4916, - "id": 4941, + "functionReturnParameters": 5533, + "id": 5558, "nodeType": "Return", - "src": "13332:57:21" + "src": "14296:57:28" } ] }, "documentation": "@dev updates the state of the core as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@return the new stable rate for the user*", - "id": 4943, + "id": 5560, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4913, + "id": 5530, "modifierName": { "argumentTypes": null, - "id": 4912, + "id": 5529, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "12992:15:21", + "referencedDeclaration": 5134, + "src": "13956:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "12992:15:21" + "src": "13956:15:28" } ], "name": "updateStateOnRebalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 4911, + "id": 5528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4906, + "id": 5523, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12908:16:21", + "scope": 5560, + "src": "13872:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49218,10 +49912,10 @@ "typeString": "address" }, "typeName": { - "id": 4905, + "id": 5522, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12908:7:21", + "src": "13872:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49233,11 +49927,11 @@ }, { "constant": false, - "id": 4908, + "id": 5525, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12926:13:21", + "scope": 5560, + "src": "13890:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49245,10 +49939,10 @@ "typeString": "address" }, "typeName": { - "id": 4907, + "id": 5524, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12926:7:21", + "src": "13890:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49260,11 +49954,11 @@ }, { "constant": false, - "id": 4910, + "id": 5527, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "12941:24:21", + "scope": 5560, + "src": "13905:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49272,10 +49966,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4909, + "id": 5526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12941:7:21", + "src": "13905:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49285,19 +49979,19 @@ "visibility": "internal" } ], - "src": "12907:59:21" + "src": "13871:59:28" }, "returnParameters": { - "id": 4916, + "id": 5533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4915, + "id": 5532, "name": "", "nodeType": "VariableDeclaration", - "scope": 4943, - "src": "13025:7:21", + "scope": 5560, + "src": "13989:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49305,10 +49999,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4914, + "id": 5531, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13025:7:21", + "src": "13989:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49318,47 +50012,47 @@ "visibility": "internal" } ], - "src": "13024:9:21" + "src": "13988:9:28" }, - "scope": 7812, - "src": "12876:520:21", + "scope": 8443, + "src": "13840:520:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 4970, + "id": 5587, "nodeType": "Block", - "src": "13834:142:21", + "src": "14798:142:28", "statements": [ { "assignments": [ - 4957 + 5574 ], "declarations": [ { "constant": false, - "id": 4957, + "id": 5574, "name": "user", "nodeType": "VariableDeclaration", - "scope": 4970, - "src": "13844:40:21", + "scope": 5587, + "src": "14808:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 4956, + "id": 5573, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "13844:27:21", + "referencedDeclaration": 10605, + "src": "14808:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -49366,33 +50060,33 @@ "visibility": "internal" } ], - "id": 4963, + "id": 5580, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 4958, + "id": 5575, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "13887:16:21", + "referencedDeclaration": 5158, + "src": "14851:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 4960, + "id": 5577, "indexExpression": { "argumentTypes": null, - "id": 4959, + "id": 5576, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4947, - "src": "13904:5:21", + "referencedDeclaration": 5564, + "src": "14868:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49403,21 +50097,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13887:23:21", + "src": "14851:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 4962, + "id": 5579, "indexExpression": { "argumentTypes": null, - "id": 4961, + "id": 5578, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "13911:8:21", + "referencedDeclaration": 5562, + "src": "14875:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49428,19 +50122,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13887:33:21", + "src": "14851:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "13844:76:21" + "src": "14808:76:28" }, { "expression": { "argumentTypes": null, - "id": 4968, + "id": 5585, "isConstant": false, "isLValue": false, "isPure": false, @@ -49449,26 +50143,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4964, + "id": 5581, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4957, - "src": "13930:4:21", + "referencedDeclaration": 5574, + "src": "14894:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 4966, + "id": 5583, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "13930:20:21", + "referencedDeclaration": 10604, + "src": "14894:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -49478,67 +50172,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 4967, + "id": 5584, "name": "_useAsCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4949, - "src": "13953:16:21", + "referencedDeclaration": 5566, + "src": "14917:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13930:39:21", + "src": "14894:39:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 4969, + "id": 5586, "nodeType": "ExpressionStatement", - "src": "13930:39:21" + "src": "14894:39:28" } ] }, "documentation": "@dev enables or disables a reserve as collateral\n@param _reserve the address of the principal reserve where the user deposited\n@param _user the address of the depositor\n@param _useAsCollateral true if the depositor wants to use the reserve as collateral*", - "id": 4971, + "id": 5588, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4952, + "id": 5569, "modifierName": { "argumentTypes": null, - "id": 4951, + "id": 5568, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "13814:15:21", + "referencedDeclaration": 5134, + "src": "14778:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "13814:15:21" + "src": "14778:15:28" } ], "name": "setUserUseReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 4950, + "id": 5567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4945, + "id": 5562, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13735:16:21", + "scope": 5588, + "src": "14699:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49546,10 +50240,10 @@ "typeString": "address" }, "typeName": { - "id": 4944, + "id": 5561, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13735:7:21", + "src": "14699:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49561,11 +50255,11 @@ }, { "constant": false, - "id": 4947, + "id": 5564, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13753:13:21", + "scope": 5588, + "src": "14717:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49573,10 +50267,10 @@ "typeString": "address" }, "typeName": { - "id": 4946, + "id": 5563, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13753:7:21", + "src": "14717:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49588,11 +50282,11 @@ }, { "constant": false, - "id": 4949, + "id": 5566, "name": "_useAsCollateral", "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "13768:21:21", + "scope": 5588, + "src": "14732:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49600,10 +50294,10 @@ "typeString": "bool" }, "typeName": { - "id": 4948, + "id": 5565, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13768:4:21", + "src": "14732:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -49613,25 +50307,25 @@ "visibility": "internal" } ], - "src": "13734:56:21" + "src": "14698:56:28" }, "returnParameters": { - "id": 4953, + "id": 5570, "nodeType": "ParameterList", "parameters": [], - "src": "13834:0:21" + "src": "14798:0:28" }, - "scope": 7812, - "src": "13696:280:21", + "scope": 8443, + "src": "14660:280:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 4982, + "id": 5599, "nodeType": "Block", - "src": "14186:158:21", + "src": "15150:158:28", "statements": [ { "expression": { @@ -49646,18 +50340,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 4975, + "id": 5592, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "14254:3:21", + "referencedDeclaration": 16127, + "src": "15218:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4976, + "id": 5593, "isConstant": false, "isLValue": false, "isPure": false, @@ -49665,27 +50359,27 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14254:10:21", + "src": "15218:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 4977, + "id": 5594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isContract", "nodeType": "MemberAccess", - "referencedDeclaration": 14499, - "src": "14254:21:21", + "referencedDeclaration": 16079, + "src": "15218:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", "typeString": "function (address) view returns (bool)" } }, - "id": 4978, + "id": 5595, "isConstant": false, "isLValue": false, "isPure": false, @@ -49693,7 +50387,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14254:23:21", + "src": "15218:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -49702,14 +50396,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c7920636f6e7472616374732063616e2073656e6420657468657220746f20746865204c656e64696e6720706f6f6c20636f7265", - "id": 4979, + "id": 5596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14279:56:21", + "src": "15243:56:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3fd12f4b5399ab92a8b412386ed256004469c08240f717e3bc9c0c1108d4c226", @@ -49729,21 +50423,21 @@ "typeString": "literal_string \"Only contracts can send ether to the Lending pool core\"" } ], - "id": 4974, + "id": 5591, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "14246:7:21", + "referencedDeclaration": 16131, + "src": "15210:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4980, + "id": 5597, "isConstant": false, "isLValue": false, "isPure": false, @@ -49751,48 +50445,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14246:90:21", + "src": "15210:90:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4981, + "id": 5598, "nodeType": "ExpressionStatement", - "src": "14246:90:21" + "src": "15210:90:28" } ] }, "documentation": "@dev fallback function enforces that the caller is a contract, to support flashloan transfers*", - "id": 4983, + "id": 5600, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 4972, + "id": 5589, "nodeType": "ParameterList", "parameters": [], - "src": "14166:2:21" + "src": "15130:2:28" }, "returnParameters": { - "id": 4973, + "id": 5590, "nodeType": "ParameterList", "parameters": [], - "src": "14186:0:21" + "src": "15150:0:28" }, - "scope": 7812, - "src": "14158:186:21", + "scope": 8443, + "src": "15122:186:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5028, + "id": 5645, "nodeType": "Block", - "src": "14759:312:21", + "src": "15723:312:28", "statements": [ { "condition": { @@ -49801,19 +50495,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4998, + "id": 5615, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 4994, + "id": 5611, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "14773:8:21", + "referencedDeclaration": 5602, + "src": "15737:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -49828,32 +50522,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 4995, + "id": 5612, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "14785:13:21", + "referencedDeclaration": 11343, + "src": "15749:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 4996, + "id": 5613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "14785:24:21", + "referencedDeclaration": 11342, + "src": "15749:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 4997, + "id": 5614, "isConstant": false, "isLValue": false, "isPure": false, @@ -49861,36 +50555,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14785:26:21", + "src": "15749:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14773:38:21", + "src": "15737:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5026, + "id": 5643, "nodeType": "Block", - "src": "14888:177:21", + "src": "15852:177:28", "statements": [ { "assignments": [ - 5009, + 5626, null ], "declarations": [ { "constant": false, - "id": 5009, + "id": 5626, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5026, - "src": "14942:11:21", + "scope": 5643, + "src": "15906:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49898,10 +50592,10 @@ "typeString": "bool" }, "typeName": { - "id": 5008, + "id": 5625, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14942:4:21", + "src": "15906:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -49912,21 +50606,21 @@ }, null ], - "id": 5020, + "id": 5637, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5018, + "id": 5635, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14996:2:21", + "src": "15960:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -49946,14 +50640,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5016, + "id": 5633, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14989:5:21", + "src": "15953:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -49974,12 +50668,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5013, + "id": 5630, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "14976:7:21", + "referencedDeclaration": 5606, + "src": "15940:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49997,18 +50691,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5010, + "id": 5627, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "14959:5:21", + "referencedDeclaration": 5604, + "src": "15923:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5011, + "id": 5628, "isConstant": false, "isLValue": false, "isPure": false, @@ -50016,13 +50710,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:10:21", + "src": "15923:10:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5012, + "id": 5629, "isConstant": false, "isLValue": false, "isPure": false, @@ -50030,13 +50724,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:16:21", + "src": "15923:16:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5014, + "id": 5631, "isConstant": false, "isLValue": false, "isPure": false, @@ -50044,13 +50738,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:25:21", + "src": "15923:25:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5015, + "id": 5632, "isConstant": false, "isLValue": false, "isPure": false, @@ -50058,13 +50752,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14959:29:21", + "src": "15923:29:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5017, + "id": 5634, "isConstant": false, "isLValue": false, "isPure": false, @@ -50072,13 +50766,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:36:21", + "src": "15923:36:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5019, + "id": 5636, "isConstant": false, "isLValue": false, "isPure": false, @@ -50086,14 +50780,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14959:40:21", + "src": "15923:40:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "14941:58:21" + "src": "15905:58:28" }, { "expression": { @@ -50101,12 +50795,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5022, + "id": 5639, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5009, - "src": "15021:6:21", + "referencedDeclaration": 5626, + "src": "15985:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -50115,14 +50809,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5023, + "id": 5640, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15029:24:21", + "src": "15993:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -50142,21 +50836,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5021, + "id": 5638, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "15013:7:21", + "referencedDeclaration": 16131, + "src": "15977:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5024, + "id": 5641, "isConstant": false, "isLValue": false, "isPure": false, @@ -50164,25 +50858,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15013:41:21", + "src": "15977:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5025, + "id": 5642, "nodeType": "ExpressionStatement", - "src": "15013:41:21" + "src": "15977:41:28" } ] }, - "id": 5027, + "id": 5644, "nodeType": "IfStatement", - "src": "14769:296:21", + "src": "15733:296:28", "trueBody": { - "id": 5007, + "id": 5624, "nodeType": "Block", - "src": "14813:69:21", + "src": "15777:69:28", "statements": [ { "expression": { @@ -50190,12 +50884,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5003, + "id": 5620, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "14856:5:21", + "referencedDeclaration": 5604, + "src": "15820:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -50203,12 +50897,12 @@ }, { "argumentTypes": null, - "id": 5004, + "id": 5621, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "14863:7:21", + "referencedDeclaration": 5606, + "src": "15827:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50231,12 +50925,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5000, + "id": 5617, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "14833:8:21", + "referencedDeclaration": 5602, + "src": "15797:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -50250,18 +50944,18 @@ "typeString": "address" } ], - "id": 4999, + "id": 5616, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "14827:5:21", + "referencedDeclaration": 15684, + "src": "15791:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5001, + "id": 5618, "isConstant": false, "isLValue": false, "isPure": false, @@ -50269,27 +50963,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14827:15:21", + "src": "15791:15:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5002, + "id": 5619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "14827:28:21", + "referencedDeclaration": 15875, + "src": "15791:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 5005, + "id": 5622, "isConstant": false, "isLValue": false, "isPure": false, @@ -50297,15 +50991,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14827:44:21", + "src": "15791:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5006, + "id": 5623, "nodeType": "ExpressionStatement", - "src": "14827:44:21" + "src": "15791:44:28" } ] } @@ -50313,43 +51007,43 @@ ] }, "documentation": "@dev transfers to the user a specific amount from the reserve.\n@param _reserve the address of the reserve where the transfer is happening\n@param _user the address of the user receiving the transfer\n@param _amount the amount being transferred*", - "id": 5029, + "id": 5646, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 4992, + "id": 5609, "modifierName": { "argumentTypes": null, - "id": 4991, + "id": 5608, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "14739:15:21", + "referencedDeclaration": 5134, + "src": "15703:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "14739:15:21" + "src": "15703:15:28" } ], "name": "transferToUser", "nodeType": "FunctionDefinition", "parameters": { - "id": 4990, + "id": 5607, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4985, + "id": 5602, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14656:16:21", + "scope": 5646, + "src": "15620:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50357,10 +51051,10 @@ "typeString": "address" }, "typeName": { - "id": 4984, + "id": 5601, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14656:7:21", + "src": "15620:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50372,11 +51066,11 @@ }, { "constant": false, - "id": 4987, + "id": 5604, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14674:21:21", + "scope": 5646, + "src": "15638:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50384,10 +51078,10 @@ "typeString": "address payable" }, "typeName": { - "id": 4986, + "id": 5603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14674:15:21", + "src": "15638:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -50399,11 +51093,11 @@ }, { "constant": false, - "id": 4989, + "id": 5606, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5029, - "src": "14697:15:21", + "scope": 5646, + "src": "15661:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50411,10 +51105,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4988, + "id": 5605, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14697:7:21", + "src": "15661:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50424,38 +51118,38 @@ "visibility": "internal" } ], - "src": "14655:58:21" + "src": "15619:58:28" }, "returnParameters": { - "id": 4993, + "id": 5610, "nodeType": "ParameterList", "parameters": [], - "src": "14759:0:21" + "src": "15723:0:28" }, - "scope": 7812, - "src": "14632:439:21", + "scope": 8443, + "src": "15596:439:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5101, + "id": 5718, "nodeType": "Block", - "src": "15589:711:21", + "src": "16553:711:28", "statements": [ { "assignments": [ - 5043 + 5660 ], "declarations": [ { "constant": false, - "id": 5043, + "id": 5660, "name": "feeAddress", "nodeType": "VariableDeclaration", - "scope": 5101, - "src": "15599:26:21", + "scope": 5718, + "src": "16563:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50463,10 +51157,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5042, + "id": 5659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15599:15:21", + "src": "16563:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -50477,7 +51171,7 @@ "visibility": "internal" } ], - "id": 5049, + "id": 5666, "initialValue": { "argumentTypes": null, "arguments": [ @@ -50486,12 +51180,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5046, + "id": 5663, "name": "_destination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5037, - "src": "15644:12:21", + "referencedDeclaration": 5654, + "src": "16608:12:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -50505,20 +51199,20 @@ "typeString": "address" } ], - "id": 5045, + "id": 5662, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15636:7:21", + "src": "16600:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 5047, + "id": 5664, "isConstant": false, "isLValue": false, "isPure": false, @@ -50526,7 +51220,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15636:21:21", + "src": "16600:21:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -50540,20 +51234,20 @@ "typeString": "uint160" } ], - "id": 5044, + "id": 5661, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15628:7:21", + "src": "16592:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5048, + "id": 5665, "isConstant": false, "isLValue": false, "isPure": false, @@ -50561,14 +51255,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15628:30:21", + "src": "16592:30:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "15599:59:21" + "src": "16563:59:28" }, { "condition": { @@ -50577,19 +51271,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5054, + "id": 5671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5050, + "id": 5667, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5031, - "src": "15703:6:21", + "referencedDeclaration": 5648, + "src": "16667:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -50604,32 +51298,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5051, + "id": 5668, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "15713:13:21", + "referencedDeclaration": 11343, + "src": "16677:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5052, + "id": 5669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "15713:24:21", + "referencedDeclaration": 11342, + "src": "16677:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5053, + "id": 5670, "isConstant": false, "isLValue": false, "isPure": false, @@ -50637,22 +51331,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15713:26:21", + "src": "16677:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15703:36:21", + "src": "16667:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5099, + "id": 5716, "nodeType": "Block", - "src": "16012:282:21", + "src": "16976:282:28", "statements": [ { "expression": { @@ -50664,7 +51358,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5077, + "id": 5694, "isConstant": false, "isLValue": false, "isPure": false, @@ -50673,18 +51367,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5074, + "id": 5691, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "16034:3:21", + "referencedDeclaration": 16127, + "src": "16998:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5075, + "id": 5692, "isConstant": false, "isLValue": false, "isPure": false, @@ -50692,7 +51386,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16034:9:21", + "src": "16998:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50702,18 +51396,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5076, + "id": 5693, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "16047:7:21", + "referencedDeclaration": 5652, + "src": "17011:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16034:20:21", + "src": "16998:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -50722,14 +51416,14 @@ { "argumentTypes": null, "hexValue": "54686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368", - "id": 5078, + "id": 5695, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16056:55:21", + "src": "17020:55:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3ae30f23ff7837445ce2686dd35a110a057a45b669d9773b552977a0705cedbe", @@ -50749,21 +51443,21 @@ "typeString": "literal_string \"The amount and the value sent to deposit do not match\"" } ], - "id": 5073, + "id": 5690, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16026:7:21", + "referencedDeclaration": 16131, + "src": "16990:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5079, + "id": 5696, "isConstant": false, "isLValue": false, "isPure": false, @@ -50771,29 +51465,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16026:86:21", + "src": "16990:86:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5080, + "id": 5697, "nodeType": "ExpressionStatement", - "src": "16026:86:21" + "src": "16990:86:28" }, { "assignments": [ - 5082, + 5699, null ], "declarations": [ { "constant": false, - "id": 5082, + "id": 5699, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5099, - "src": "16166:11:21", + "scope": 5716, + "src": "17130:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -50801,10 +51495,10 @@ "typeString": "bool" }, "typeName": { - "id": 5081, + "id": 5698, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "16166:4:21", + "src": "17130:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -50815,21 +51509,21 @@ }, null ], - "id": 5093, + "id": 5710, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5091, + "id": 5708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16225:2:21", + "src": "17189:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -50849,14 +51543,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5089, + "id": 5706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16218:5:21", + "src": "17182:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -50877,12 +51571,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5086, + "id": 5703, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "16205:7:21", + "referencedDeclaration": 5652, + "src": "17169:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -50900,18 +51594,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5083, + "id": 5700, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "16183:10:21", + "referencedDeclaration": 5660, + "src": "17147:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5084, + "id": 5701, "isConstant": false, "isLValue": false, "isPure": false, @@ -50919,13 +51613,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:15:21", + "src": "17147:15:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5085, + "id": 5702, "isConstant": false, "isLValue": false, "isPure": false, @@ -50933,13 +51627,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:21:21", + "src": "17147:21:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5087, + "id": 5704, "isConstant": false, "isLValue": false, "isPure": false, @@ -50947,13 +51641,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:30:21", + "src": "17147:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5088, + "id": 5705, "isConstant": false, "isLValue": false, "isPure": false, @@ -50961,13 +51655,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16183:34:21", + "src": "17147:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5090, + "id": 5707, "isConstant": false, "isLValue": false, "isPure": false, @@ -50975,13 +51669,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:41:21", + "src": "17147:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5092, + "id": 5709, "isConstant": false, "isLValue": false, "isPure": false, @@ -50989,14 +51683,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16183:45:21", + "src": "17147:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "16165:63:21" + "src": "17129:63:28" }, { "expression": { @@ -51004,12 +51698,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5095, + "id": 5712, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "16250:6:21", + "referencedDeclaration": 5699, + "src": "17214:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -51018,14 +51712,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5096, + "id": 5713, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16258:24:21", + "src": "17222:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -51045,21 +51739,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5094, + "id": 5711, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16242:7:21", + "referencedDeclaration": 16131, + "src": "17206:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5097, + "id": 5714, "isConstant": false, "isLValue": false, "isPure": false, @@ -51067,25 +51761,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16242:41:21", + "src": "17206:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5098, + "id": 5715, "nodeType": "ExpressionStatement", - "src": "16242:41:21" + "src": "17206:41:28" } ] }, - "id": 5100, + "id": 5717, "nodeType": "IfStatement", - "src": "15699:595:21", + "src": "16663:595:28", "trueBody": { - "id": 5072, + "id": 5689, "nodeType": "Block", - "src": "15741:265:21", + "src": "16705:265:28", "statements": [ { "expression": { @@ -51097,7 +51791,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5059, + "id": 5676, "isConstant": false, "isLValue": false, "isPure": false, @@ -51106,18 +51800,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5056, + "id": 5673, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "15780:3:21", + "referencedDeclaration": 16127, + "src": "16744:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5057, + "id": 5674, "isConstant": false, "isLValue": false, "isPure": false, @@ -51125,7 +51819,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15780:9:21", + "src": "16744:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51136,14 +51830,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5058, + "id": 5675, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15793:1:21", + "src": "16757:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -51151,7 +51845,7 @@ }, "value": "0" }, - "src": "15780:14:21", + "src": "16744:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -51160,14 +51854,14 @@ { "argumentTypes": null, "hexValue": "557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e20436865636b207468652076616c756520617474726962757465206f6620746865207472616e73616374696f6e", - "id": 5060, + "id": 5677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15812:97:21", + "src": "16776:97:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_654c972fc326fcc5abc552221a5fd44bbee538da2cd9225ba1a47bbe69da9e08", @@ -51187,21 +51881,21 @@ "typeString": "literal_string \"User is sending ETH along with the ERC20 transfer. Check the value attribute of the transaction\"" } ], - "id": 5055, + "id": 5672, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "15755:7:21", + "referencedDeclaration": 16131, + "src": "16719:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5061, + "id": 5678, "isConstant": false, "isLValue": false, "isPure": false, @@ -51209,15 +51903,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15755:168:21", + "src": "16719:168:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5062, + "id": 5679, "nodeType": "ExpressionStatement", - "src": "15755:168:21" + "src": "16719:168:28" }, { "expression": { @@ -51225,12 +51919,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5067, + "id": 5684, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5033, - "src": "15968:5:21", + "referencedDeclaration": 5650, + "src": "16932:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -51238,12 +51932,12 @@ }, { "argumentTypes": null, - "id": 5068, + "id": 5685, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5043, - "src": "15975:10:21", + "referencedDeclaration": 5660, + "src": "16939:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -51251,12 +51945,12 @@ }, { "argumentTypes": null, - "id": 5069, + "id": 5686, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "15987:7:21", + "referencedDeclaration": 5652, + "src": "16951:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51283,12 +51977,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5064, + "id": 5681, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5031, - "src": "15943:6:21", + "referencedDeclaration": 5648, + "src": "16907:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -51302,18 +51996,18 @@ "typeString": "address" } ], - "id": 5063, + "id": 5680, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "15937:5:21", + "referencedDeclaration": 15684, + "src": "16901:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5065, + "id": 5682, "isConstant": false, "isLValue": false, "isPure": false, @@ -51321,27 +52015,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15937:13:21", + "src": "16901:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5066, + "id": 5683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 14320, - "src": "15937:30:21", + "referencedDeclaration": 15900, + "src": "16901:30:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 5070, + "id": 5687, "isConstant": false, "isLValue": false, "isPure": false, @@ -51349,15 +52043,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15937:58:21", + "src": "16901:58:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5071, + "id": 5688, "nodeType": "ExpressionStatement", - "src": "15937:58:21" + "src": "16901:58:28" } ] } @@ -51365,43 +52059,43 @@ ] }, "documentation": "@dev transfers the protocol fees to the fees collection address\n@param _token the address of the token being transferred\n@param _user the address of the user from where the transfer is happening\n@param _amount the amount being transferred\n@param _destination the fee receiver address*", - "id": 5102, + "id": 5719, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5040, + "id": 5657, "modifierName": { "argumentTypes": null, - "id": 5039, + "id": 5656, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "15573:15:21", + "referencedDeclaration": 5134, + "src": "16537:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "15573:15:21" + "src": "16537:15:28" } ], "name": "transferToFeeCollectionAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5038, + "id": 5655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5031, + "id": 5648, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15457:14:21", + "scope": 5719, + "src": "16421:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51409,10 +52103,10 @@ "typeString": "address" }, "typeName": { - "id": 5030, + "id": 5647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15457:7:21", + "src": "16421:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51424,11 +52118,11 @@ }, { "constant": false, - "id": 5033, + "id": 5650, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15481:13:21", + "scope": 5719, + "src": "16445:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51436,10 +52130,10 @@ "typeString": "address" }, "typeName": { - "id": 5032, + "id": 5649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15481:7:21", + "src": "16445:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51451,11 +52145,11 @@ }, { "constant": false, - "id": 5035, + "id": 5652, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15504:15:21", + "scope": 5719, + "src": "16468:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51463,10 +52157,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5034, + "id": 5651, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15504:7:21", + "src": "16468:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51477,11 +52171,11 @@ }, { "constant": false, - "id": 5037, + "id": 5654, "name": "_destination", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "15529:20:21", + "scope": 5719, + "src": "16493:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51489,10 +52183,10 @@ "typeString": "address" }, "typeName": { - "id": 5036, + "id": 5653, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15529:7:21", + "src": "16493:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51503,38 +52197,38 @@ "visibility": "internal" } ], - "src": "15447:108:21" + "src": "16411:108:28" }, "returnParameters": { - "id": 5041, + "id": 5658, "nodeType": "ParameterList", "parameters": [], - "src": "15589:0:21" + "src": "16553:0:28" }, - "scope": 7812, - "src": "15408:892:21", + "scope": 8443, + "src": "16372:892:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5163, + "id": 5780, "nodeType": "Block", - "src": "16714:543:21", + "src": "17678:543:28", "statements": [ { "assignments": [ - 5114 + 5731 ], "declarations": [ { "constant": false, - "id": 5114, + "id": 5731, "name": "feeAddress", "nodeType": "VariableDeclaration", - "scope": 5163, - "src": "16724:26:21", + "scope": 5780, + "src": "17688:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51542,10 +52236,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5113, + "id": 5730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16724:15:21", + "src": "17688:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -51556,7 +52250,7 @@ "visibility": "internal" } ], - "id": 5120, + "id": 5737, "initialValue": { "argumentTypes": null, "arguments": [ @@ -51565,12 +52259,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5117, + "id": 5734, "name": "_destination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5108, - "src": "16769:12:21", + "referencedDeclaration": 5725, + "src": "17733:12:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -51584,20 +52278,20 @@ "typeString": "address" } ], - "id": 5116, + "id": 5733, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16761:7:21", + "src": "17725:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 5118, + "id": 5735, "isConstant": false, "isLValue": false, "isPure": false, @@ -51605,7 +52299,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16761:21:21", + "src": "17725:21:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -51619,20 +52313,20 @@ "typeString": "uint160" } ], - "id": 5115, + "id": 5732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16753:7:21", + "src": "17717:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5119, + "id": 5736, "isConstant": false, "isLValue": false, "isPure": false, @@ -51640,14 +52334,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16753:30:21", + "src": "17717:30:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "16724:59:21" + "src": "17688:59:28" }, { "expression": { @@ -51659,7 +52353,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5125, + "id": 5742, "isConstant": false, "isLValue": false, "isPure": false, @@ -51668,18 +52362,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5122, + "id": 5739, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "16844:3:21", + "referencedDeclaration": 16127, + "src": "17808:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5123, + "id": 5740, "isConstant": false, "isLValue": false, "isPure": false, @@ -51687,7 +52381,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16844:9:21", + "src": "17808:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51698,14 +52392,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5124, + "id": 5741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16857:1:21", + "src": "17821:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -51713,7 +52407,7 @@ }, "value": "0" }, - "src": "16844:14:21", + "src": "17808:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -51722,14 +52416,14 @@ { "argumentTypes": null, "hexValue": "466565206c69717569646174696f6e20646f6573206e6f74207265717569726520616e79207472616e73666572206f662076616c7565", - "id": 5126, + "id": 5743, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16872:56:21", + "src": "17836:56:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_1217de2b91093fd71756aa7f086820bda98975a99edb89c5a503064289f854cf", @@ -51749,21 +52443,21 @@ "typeString": "literal_string \"Fee liquidation does not require any transfer of value\"" } ], - "id": 5121, + "id": 5738, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "16823:7:21", + "referencedDeclaration": 16131, + "src": "17787:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5127, + "id": 5744, "isConstant": false, "isLValue": false, "isPure": false, @@ -51771,15 +52465,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16823:115:21", + "src": "17787:115:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5128, + "id": 5745, "nodeType": "ExpressionStatement", - "src": "16823:115:21" + "src": "17787:115:28" }, { "condition": { @@ -51788,19 +52482,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5133, + "id": 5750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5129, + "id": 5746, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5104, - "src": "16953:6:21", + "referencedDeclaration": 5721, + "src": "17917:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -51815,32 +52509,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5130, + "id": 5747, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "16963:13:21", + "referencedDeclaration": 11343, + "src": "17927:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5131, + "id": 5748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "16963:24:21", + "referencedDeclaration": 11342, + "src": "17927:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5132, + "id": 5749, "isConstant": false, "isLValue": false, "isPure": false, @@ -51848,36 +52542,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16963:26:21", + "src": "17927:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "16953:36:21", + "src": "17917:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5161, + "id": 5778, "nodeType": "Block", - "src": "17069:182:21", + "src": "18033:182:28", "statements": [ { "assignments": [ - 5144, + 5761, null ], "declarations": [ { "constant": false, - "id": 5144, + "id": 5761, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5161, - "src": "17123:11:21", + "scope": 5778, + "src": "18087:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -51885,10 +52579,10 @@ "typeString": "bool" }, "typeName": { - "id": 5143, + "id": 5760, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17123:4:21", + "src": "18087:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -51899,21 +52593,21 @@ }, null ], - "id": 5155, + "id": 5772, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5153, + "id": 5770, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17182:2:21", + "src": "18146:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -51933,14 +52627,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5151, + "id": 5768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17175:5:21", + "src": "18139:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -51961,12 +52655,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5148, + "id": 5765, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5106, - "src": "17162:7:21", + "referencedDeclaration": 5723, + "src": "18126:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -51984,18 +52678,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5145, + "id": 5762, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5114, - "src": "17140:10:21", + "referencedDeclaration": 5731, + "src": "18104:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5146, + "id": 5763, "isConstant": false, "isLValue": false, "isPure": false, @@ -52003,13 +52697,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:15:21", + "src": "18104:15:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5147, + "id": 5764, "isConstant": false, "isLValue": false, "isPure": false, @@ -52017,13 +52711,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:21:21", + "src": "18104:21:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5149, + "id": 5766, "isConstant": false, "isLValue": false, "isPure": false, @@ -52031,13 +52725,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:30:21", + "src": "18104:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5150, + "id": 5767, "isConstant": false, "isLValue": false, "isPure": false, @@ -52045,13 +52739,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17140:34:21", + "src": "18104:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5152, + "id": 5769, "isConstant": false, "isLValue": false, "isPure": false, @@ -52059,13 +52753,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:41:21", + "src": "18104:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5154, + "id": 5771, "isConstant": false, "isLValue": false, "isPure": false, @@ -52073,14 +52767,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:45:21", + "src": "18104:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "17122:63:21" + "src": "18086:63:28" }, { "expression": { @@ -52088,12 +52782,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5157, + "id": 5774, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5144, - "src": "17207:6:21", + "referencedDeclaration": 5761, + "src": "18171:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -52102,14 +52796,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5158, + "id": 5775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17215:24:21", + "src": "18179:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -52129,21 +52823,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5156, + "id": 5773, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17199:7:21", + "referencedDeclaration": 16131, + "src": "18163:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5159, + "id": 5776, "isConstant": false, "isLValue": false, "isPure": false, @@ -52151,25 +52845,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17199:41:21", + "src": "18163:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5160, + "id": 5777, "nodeType": "ExpressionStatement", - "src": "17199:41:21" + "src": "18163:41:28" } ] }, - "id": 5162, + "id": 5779, "nodeType": "IfStatement", - "src": "16949:302:21", + "src": "17913:302:28", "trueBody": { - "id": 5142, + "id": 5759, "nodeType": "Block", - "src": "16991:72:21", + "src": "17955:72:28", "statements": [ { "expression": { @@ -52177,12 +52871,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5138, + "id": 5755, "name": "feeAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5114, - "src": "17032:10:21", + "referencedDeclaration": 5731, + "src": "17996:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -52190,12 +52884,12 @@ }, { "argumentTypes": null, - "id": 5139, + "id": 5756, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5106, - "src": "17044:7:21", + "referencedDeclaration": 5723, + "src": "18008:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52218,12 +52912,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5135, + "id": 5752, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5104, - "src": "17011:6:21", + "referencedDeclaration": 5721, + "src": "17975:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -52237,18 +52931,18 @@ "typeString": "address" } ], - "id": 5134, + "id": 5751, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "17005:5:21", + "referencedDeclaration": 15684, + "src": "17969:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5136, + "id": 5753, "isConstant": false, "isLValue": false, "isPure": false, @@ -52256,27 +52950,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17005:13:21", + "src": "17969:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5137, + "id": 5754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "17005:26:21", + "referencedDeclaration": 15875, + "src": "17969:26:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 5140, + "id": 5757, "isConstant": false, "isLValue": false, "isPure": false, @@ -52284,15 +52978,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17005:47:21", + "src": "17969:47:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5141, + "id": 5758, "nodeType": "ExpressionStatement", - "src": "17005:47:21" + "src": "17969:47:28" } ] } @@ -52300,43 +52994,43 @@ ] }, "documentation": "@dev transfers the fees to the fees collection address in the case of liquidation\n@param _token the address of the token being transferred\n@param _amount the amount being transferred\n@param _destination the fee receiver address*", - "id": 5164, + "id": 5781, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5111, + "id": 5728, "modifierName": { "argumentTypes": null, - "id": 5110, + "id": 5727, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "16698:15:21", + "referencedDeclaration": 5134, + "src": "17662:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "16698:15:21" + "src": "17662:15:28" } ], "name": "liquidateFee", "nodeType": "FunctionDefinition", "parameters": { - "id": 5109, + "id": 5726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5104, + "id": 5721, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16605:14:21", + "scope": 5781, + "src": "17569:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -52344,10 +53038,10 @@ "typeString": "address" }, "typeName": { - "id": 5103, + "id": 5720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16605:7:21", + "src": "17569:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52359,11 +53053,11 @@ }, { "constant": false, - "id": 5106, + "id": 5723, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16629:15:21", + "scope": 5781, + "src": "17593:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -52371,10 +53065,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5105, + "id": 5722, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16629:7:21", + "src": "17593:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52385,11 +53079,11 @@ }, { "constant": false, - "id": 5108, + "id": 5725, "name": "_destination", "nodeType": "VariableDeclaration", - "scope": 5164, - "src": "16654:20:21", + "scope": 5781, + "src": "17618:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -52397,10 +53091,10 @@ "typeString": "address" }, "typeName": { - "id": 5107, + "id": 5724, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16654:7:21", + "src": "17618:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52411,25 +53105,25 @@ "visibility": "internal" } ], - "src": "16595:85:21" + "src": "17559:85:28" }, "returnParameters": { - "id": 5112, + "id": 5729, "nodeType": "ParameterList", "parameters": [], - "src": "16714:0:21" + "src": "17678:0:28" }, - "scope": 7812, - "src": "16574:683:21", + "scope": 8443, + "src": "17538:683:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5242, + "id": 5859, "nodeType": "Block", - "src": "17712:696:21", + "src": "18676:696:28", "statements": [ { "condition": { @@ -52438,19 +53132,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5179, + "id": 5796, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5175, + "id": 5792, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "17726:8:21", + "referencedDeclaration": 5783, + "src": "18690:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -52465,32 +53159,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5176, + "id": 5793, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "17738:13:21", + "referencedDeclaration": 11343, + "src": "18702:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5177, + "id": 5794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "17738:24:21", + "referencedDeclaration": 11342, + "src": "18702:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5178, + "id": 5795, "isConstant": false, "isLValue": false, "isPure": false, @@ -52498,22 +53192,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17738:26:21", + "src": "18702:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17726:38:21", + "src": "18690:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5240, + "id": 5857, "nodeType": "Block", - "src": "17952:450:21", + "src": "18916:450:28", "statements": [ { "expression": { @@ -52525,7 +53219,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5204, + "id": 5821, "isConstant": false, "isLValue": false, "isPure": false, @@ -52534,18 +53228,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5201, + "id": 5818, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "17974:3:21", + "referencedDeclaration": 16127, + "src": "18938:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5202, + "id": 5819, "isConstant": false, "isLValue": false, "isPure": false, @@ -52553,7 +53247,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17974:9:21", + "src": "18938:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52563,18 +53257,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 5203, + "id": 5820, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "17987:7:21", + "referencedDeclaration": 5787, + "src": "18951:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17974:20:21", + "src": "18938:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -52583,14 +53277,14 @@ { "argumentTypes": null, "hexValue": "54686520616d6f756e7420616e64207468652076616c75652073656e7420746f206465706f73697420646f206e6f74206d61746368", - "id": 5205, + "id": 5822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17996:55:21", + "src": "18960:55:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3ae30f23ff7837445ce2686dd35a110a057a45b669d9773b552977a0705cedbe", @@ -52610,21 +53304,21 @@ "typeString": "literal_string \"The amount and the value sent to deposit do not match\"" } ], - "id": 5200, + "id": 5817, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17966:7:21", + "referencedDeclaration": 16131, + "src": "18930:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5206, + "id": 5823, "isConstant": false, "isLValue": false, "isPure": false, @@ -52632,15 +53326,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17966:86:21", + "src": "18930:86:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5207, + "id": 5824, "nodeType": "ExpressionStatement", - "src": "17966:86:21" + "src": "18930:86:28" }, { "condition": { @@ -52649,7 +53343,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5211, + "id": 5828, "isConstant": false, "isLValue": false, "isPure": false, @@ -52658,18 +53352,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5208, + "id": 5825, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "18071:3:21", + "referencedDeclaration": 16127, + "src": "19035:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5209, + "id": 5826, "isConstant": false, "isLValue": false, "isPure": false, @@ -52677,7 +53371,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18071:9:21", + "src": "19035:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52687,44 +53381,44 @@ "operator": ">", "rightExpression": { "argumentTypes": null, - "id": 5210, + "id": 5827, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "18083:7:21", + "referencedDeclaration": 5787, + "src": "19047:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18071:19:21", + "src": "19035:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5239, + "id": 5856, "nodeType": "IfStatement", - "src": "18067:325:21", + "src": "19031:325:28", "trueBody": { - "id": 5238, + "id": 5855, "nodeType": "Block", - "src": "18092:300:21", + "src": "19056:300:28", "statements": [ { "assignments": [ - 5213 + 5830 ], "declarations": [ { "constant": false, - "id": 5213, + "id": 5830, "name": "excessAmount", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "18149:20:21", + "scope": 5855, + "src": "19113:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -52732,10 +53426,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5212, + "id": 5829, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18149:7:21", + "src": "19113:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52745,18 +53439,18 @@ "visibility": "internal" } ], - "id": 5219, + "id": 5836, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5217, + "id": 5834, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "18186:7:21", + "referencedDeclaration": 5787, + "src": "19150:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52774,18 +53468,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5214, + "id": 5831, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "18172:3:21", + "referencedDeclaration": 16127, + "src": "19136:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5215, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": false, @@ -52793,27 +53487,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18172:9:21", + "src": "19136:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5216, + "id": 5833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "18172:13:21", + "referencedDeclaration": 15095, + "src": "19136:13:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5218, + "id": 5835, "isConstant": false, "isLValue": false, "isPure": false, @@ -52821,28 +53515,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18172:22:21", + "src": "19136:22:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18149:45:21" + "src": "19113:45:28" }, { "assignments": [ - 5221, + 5838, null ], "declarations": [ { "constant": false, - "id": 5221, + "id": 5838, "name": "result", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "18256:11:21", + "scope": 5855, + "src": "19220:11:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -52850,10 +53544,10 @@ "typeString": "bool" }, "typeName": { - "id": 5220, + "id": 5837, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18256:4:21", + "src": "19220:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -52864,21 +53558,21 @@ }, null ], - "id": 5232, + "id": 5849, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 5230, + "id": 5847, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18315:2:21", + "src": "19279:2:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -52898,14 +53592,14 @@ { "argumentTypes": null, "hexValue": "3530303030", - "id": 5228, + "id": 5845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18308:5:21", + "src": "19272:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50000_by_1", @@ -52926,12 +53620,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5225, + "id": 5842, "name": "excessAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "18290:12:21", + "referencedDeclaration": 5830, + "src": "19254:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -52949,18 +53643,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5222, + "id": 5839, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5168, - "src": "18273:5:21", + "referencedDeclaration": 5785, + "src": "19237:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5223, + "id": 5840, "isConstant": false, "isLValue": false, "isPure": false, @@ -52968,13 +53662,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:10:21", + "src": "19237:10:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5224, + "id": 5841, "isConstant": false, "isLValue": false, "isPure": false, @@ -52982,13 +53676,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:16:21", + "src": "19237:16:28", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5226, + "id": 5843, "isConstant": false, "isLValue": false, "isPure": false, @@ -52996,13 +53690,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:30:21", + "src": "19237:30:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5227, + "id": 5844, "isConstant": false, "isLValue": false, "isPure": false, @@ -53010,13 +53704,13 @@ "memberName": "gas", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "18273:34:21", + "src": "19237:34:28", "typeDescriptions": { "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue_$value", "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 5229, + "id": 5846, "isConstant": false, "isLValue": false, "isPure": false, @@ -53024,13 +53718,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:41:21", + "src": "19237:41:28", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5231, + "id": 5848, "isConstant": false, "isLValue": false, "isPure": false, @@ -53038,14 +53732,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18273:45:21", + "src": "19237:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "18255:63:21" + "src": "19219:63:28" }, { "expression": { @@ -53053,12 +53747,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5234, + "id": 5851, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5221, - "src": "18344:6:21", + "referencedDeclaration": 5838, + "src": "19308:6:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -53067,14 +53761,14 @@ { "argumentTypes": null, "hexValue": "5472616e73666572206f6620455448206661696c6564", - "id": 5235, + "id": 5852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18352:24:21", + "src": "19316:24:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_85385f267114cb3124379ecf152e31ec7b71b9e61feaea0a83085fe7773b5ea9", @@ -53094,21 +53788,21 @@ "typeString": "literal_string \"Transfer of ETH failed\"" } ], - "id": 5233, + "id": 5850, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "18336:7:21", + "referencedDeclaration": 16131, + "src": "19300:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5236, + "id": 5853, "isConstant": false, "isLValue": false, "isPure": false, @@ -53116,28 +53810,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18336:41:21", + "src": "19300:41:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5237, + "id": 5854, "nodeType": "ExpressionStatement", - "src": "18336:41:21" + "src": "19300:41:28" } ] } } ] }, - "id": 5241, + "id": 5858, "nodeType": "IfStatement", - "src": "17722:680:21", + "src": "18686:680:28", "trueBody": { - "id": 5199, + "id": 5816, "nodeType": "Block", - "src": "17766:180:21", + "src": "18730:180:28", "statements": [ { "expression": { @@ -53149,7 +53843,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5184, + "id": 5801, "isConstant": false, "isLValue": false, "isPure": false, @@ -53158,18 +53852,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5181, + "id": 5798, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14547, - "src": "17788:3:21", + "referencedDeclaration": 16127, + "src": "18752:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 5182, + "id": 5799, "isConstant": false, "isLValue": false, "isPure": false, @@ -53177,7 +53871,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17788:9:21", + "src": "18752:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53188,14 +53882,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5183, + "id": 5800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17801:1:21", + "src": "18765:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -53203,7 +53897,7 @@ }, "value": "0" }, - "src": "17788:14:21", + "src": "18752:14:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -53212,14 +53906,14 @@ { "argumentTypes": null, "hexValue": "557365722069732073656e64696e672045544820616c6f6e67207769746820746865204552433230207472616e736665722e", - "id": 5185, + "id": 5802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17804:52:21", + "src": "18768:52:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_520a50edddccc4068b81b585d86766a642c03a8ecf2e0736d8d50c4df1d2e380", @@ -53239,21 +53933,21 @@ "typeString": "literal_string \"User is sending ETH along with the ERC20 transfer.\"" } ], - "id": 5180, + "id": 5797, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "17780:7:21", + "referencedDeclaration": 16131, + "src": "18744:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5186, + "id": 5803, "isConstant": false, "isLValue": false, "isPure": false, @@ -53261,15 +53955,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:77:21", + "src": "18744:77:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5187, + "id": 5804, "nodeType": "ExpressionStatement", - "src": "17780:77:21" + "src": "18744:77:28" }, { "expression": { @@ -53277,12 +53971,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5192, + "id": 5809, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5168, - "src": "17904:5:21", + "referencedDeclaration": 5785, + "src": "18868:5:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -53293,14 +53987,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5194, + "id": 5811, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "17919:4:21", + "referencedDeclaration": 16243, + "src": "18883:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -53308,24 +54002,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5193, + "id": 5810, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17911:7:21", + "src": "18875:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5195, + "id": 5812, "isConstant": false, "isLValue": false, "isPure": false, @@ -53333,7 +54027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17911:13:21", + "src": "18875:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -53341,12 +54035,12 @@ }, { "argumentTypes": null, - "id": 5196, + "id": 5813, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5170, - "src": "17926:7:21", + "referencedDeclaration": 5787, + "src": "18890:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53373,12 +54067,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5189, + "id": 5806, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "17877:8:21", + "referencedDeclaration": 5783, + "src": "18841:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53392,18 +54086,18 @@ "typeString": "address" } ], - "id": 5188, + "id": 5805, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "17871:5:21", + "referencedDeclaration": 15684, + "src": "18835:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 5190, + "id": 5807, "isConstant": false, "isLValue": false, "isPure": false, @@ -53411,27 +54105,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17871:15:21", + "src": "18835:15:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 5191, + "id": 5808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 14320, - "src": "17871:32:21", + "referencedDeclaration": 15900, + "src": "18835:32:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,address,uint256)" } }, - "id": 5197, + "id": 5814, "isConstant": false, "isLValue": false, "isPure": false, @@ -53439,15 +54133,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17871:63:21", + "src": "18835:63:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5198, + "id": 5815, "nodeType": "ExpressionStatement", - "src": "17871:63:21" + "src": "18835:63:28" } ] } @@ -53455,43 +54149,43 @@ ] }, "documentation": "@dev transfers an amount from a user to the destination reserve\n@param _reserve the address of the reserve where the amount is being transferred\n@param _user the address of the user from where the transfer is happening\n@param _amount the amount being transferred*", - "id": 5243, + "id": 5860, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 5173, + "id": 5790, "modifierName": { "argumentTypes": null, - "id": 5172, + "id": 5789, "name": "onlyLendingPool", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4517, - "src": "17692:15:21", + "referencedDeclaration": 5134, + "src": "18656:15:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "17692:15:21" + "src": "18656:15:28" } ], "name": "transferToReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 5171, + "id": 5788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5166, + "id": 5783, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17593:16:21", + "scope": 5860, + "src": "18557:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53499,10 +54193,10 @@ "typeString": "address" }, "typeName": { - "id": 5165, + "id": 5782, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17593:7:21", + "src": "18557:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53514,11 +54208,11 @@ }, { "constant": false, - "id": 5168, + "id": 5785, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17611:21:21", + "scope": 5860, + "src": "18575:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53526,10 +54220,10 @@ "typeString": "address payable" }, "typeName": { - "id": 5167, + "id": 5784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17611:15:21", + "src": "18575:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -53541,11 +54235,11 @@ }, { "constant": false, - "id": 5170, + "id": 5787, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5243, - "src": "17634:15:21", + "scope": 5860, + "src": "18598:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53553,10 +54247,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5169, + "id": 5786, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17634:7:21", + "src": "18598:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53566,53 +54260,53 @@ "visibility": "internal" } ], - "src": "17592:58:21" + "src": "18556:58:28" }, "returnParameters": { - "id": 5174, + "id": 5791, "nodeType": "ParameterList", "parameters": [], - "src": "17712:0:21" + "src": "18676:0:28" }, - "scope": 7812, - "src": "17566:842:21", + "scope": 8443, + "src": "18530:842:28", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5307, + "id": 5924, "nodeType": "Block", - "src": "19036:555:21", + "src": "20000:555:28", "statements": [ { "assignments": [ - 5261 + 5878 ], "declarations": [ { "constant": false, - "id": 5261, + "id": 5878, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19046:39:21", + "scope": 5924, + "src": "20010:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5260, + "id": 5877, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "19046:23:21", + "referencedDeclaration": 10646, + "src": "20010:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -53620,31 +54314,31 @@ "visibility": "internal" } ], - "id": 5265, + "id": 5882, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5262, + "id": 5879, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "19088:8:21", + "referencedDeclaration": 5152, + "src": "20052:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5264, + "id": 5881, "indexExpression": { "argumentTypes": null, - "id": 5263, + "id": 5880, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19097:8:21", + "referencedDeclaration": 5862, + "src": "20061:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53655,42 +54349,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19088:18:21", + "src": "20052:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19046:60:21" + "src": "20010:60:28" }, { "assignments": [ - 5269 + 5886 ], "declarations": [ { "constant": false, - "id": 5269, + "id": 5886, "name": "user", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19116:40:21", + "scope": 5924, + "src": "20080:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5268, + "id": 5885, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "19116:27:21", + "referencedDeclaration": 10605, + "src": "20080:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -53698,33 +54392,33 @@ "visibility": "internal" } ], - "id": 5275, + "id": 5892, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5270, + "id": 5887, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "19159:16:21", + "referencedDeclaration": 5158, + "src": "20123:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5272, + "id": 5889, "indexExpression": { "argumentTypes": null, - "id": 5271, + "id": 5888, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "19176:5:21", + "referencedDeclaration": 5864, + "src": "20140:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53735,21 +54429,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19159:23:21", + "src": "20123:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 5274, + "id": 5891, "indexExpression": { "argumentTypes": null, - "id": 5273, + "id": 5890, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19183:8:21", + "referencedDeclaration": 5862, + "src": "20147:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53760,27 +54454,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19159:33:21", + "src": "20123:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "19116:76:21" + "src": "20080:76:28" }, { "assignments": [ - 5277 + 5894 ], "declarations": [ { "constant": false, - "id": 5277, + "id": 5894, "name": "underlyingBalance", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "19203:25:21", + "scope": 5924, + "src": "20167:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53788,10 +54482,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5276, + "id": 5893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19203:7:21", + "src": "20167:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53801,18 +54495,18 @@ "visibility": "internal" } ], - "id": 5282, + "id": 5899, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5279, + "id": 5896, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5245, - "src": "19261:8:21", + "referencedDeclaration": 5862, + "src": "20225:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53820,12 +54514,12 @@ }, { "argumentTypes": null, - "id": 5280, + "id": 5897, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "19271:5:21", + "referencedDeclaration": 5864, + "src": "20235:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -53843,18 +54537,18 @@ "typeString": "address" } ], - "id": 5278, + "id": 5895, "name": "getUserUnderlyingAssetBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "19231:29:21", + "referencedDeclaration": 6000, + "src": "20195:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 5281, + "id": 5898, "isConstant": false, "isLValue": false, "isPure": false, @@ -53862,14 +54556,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19231:46:21", + "src": "20195:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "19203:74:21" + "src": "20167:74:28" }, { "condition": { @@ -53878,7 +54572,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5286, + "id": 5903, "isConstant": false, "isLValue": false, "isPure": false, @@ -53887,26 +54581,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5283, + "id": 5900, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19292:4:21", + "referencedDeclaration": 5886, + "src": "20256:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5284, + "id": 5901, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "19292:27:21", + "referencedDeclaration": 10594, + "src": "20256:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53917,14 +54611,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5285, + "id": 5902, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19323:1:21", + "src": "20287:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -53932,20 +54626,20 @@ }, "value": "0" }, - "src": "19292:32:21", + "src": "20256:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5295, + "id": 5912, "nodeType": "IfStatement", - "src": "19288:117:21", + "src": "20252:117:28", "trueBody": { - "id": 5294, + "id": 5911, "nodeType": "Block", - "src": "19326:79:21", + "src": "20290:79:28", "statements": [ { "expression": { @@ -53953,12 +54647,12 @@ "components": [ { "argumentTypes": null, - "id": 5287, + "id": 5904, "name": "underlyingBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "19348:17:21", + "referencedDeclaration": 5894, + "src": "20312:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53967,14 +54661,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5288, + "id": 5905, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19367:1:21", + "src": "20331:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -53985,14 +54679,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 5289, + "id": 5906, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19370:1:21", + "src": "20334:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -54004,49 +54698,49 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5290, + "id": 5907, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19373:4:21", + "referencedDeclaration": 5886, + "src": "20337:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5291, + "id": 5908, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "19373:20:21", + "referencedDeclaration": 10604, + "src": "20337:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5292, + "id": 5909, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "19347:47:21", + "src": "20311:47:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_bool_$", "typeString": "tuple(uint256,int_const 0,int_const 0,bool)" } }, - "functionReturnParameters": 5257, - "id": 5293, + "functionReturnParameters": 5874, + "id": 5910, "nodeType": "Return", - "src": "19340:54:21" + "src": "20304:54:28" } ] } @@ -54057,12 +54751,12 @@ "components": [ { "argumentTypes": null, - "id": 5296, + "id": 5913, "name": "underlyingBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "19436:17:21", + "referencedDeclaration": 5894, + "src": "20400:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54073,14 +54767,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5299, + "id": 5916, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5261, - "src": "19499:7:21", + "referencedDeclaration": 5878, + "src": "20463:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } } @@ -54088,38 +54782,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } ], "expression": { "argumentTypes": null, - "id": 5297, + "id": 5914, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19467:4:21", + "referencedDeclaration": 5886, + "src": "20431:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5298, + "id": 5915, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getCompoundedBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9971, - "src": "19467:31:21", + "referencedDeclaration": 11048, + "src": "20431:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$9528_storage_ptr_$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UserReserveData_$9528_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$10605_storage_ptr_$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UserReserveData_$10605_storage_ptr_$", "typeString": "function (struct CoreLibrary.UserReserveData storage pointer,struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5300, + "id": 5917, "isConstant": false, "isLValue": false, "isPure": false, @@ -54127,7 +54821,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19467:40:21", + "src": "20431:40:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54137,26 +54831,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5301, + "id": 5918, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19521:4:21", + "referencedDeclaration": 5886, + "src": "20485:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5302, + "id": 5919, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "19521:19:21", + "referencedDeclaration": 10598, + "src": "20485:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54166,70 +54860,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5303, + "id": 5920, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5269, - "src": "19554:4:21", + "referencedDeclaration": 5886, + "src": "20518:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5304, + "id": 5921, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "19554:20:21", + "referencedDeclaration": 10604, + "src": "20518:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5305, + "id": 5922, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "19422:162:21", + "src": "20386:162:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$", "typeString": "tuple(uint256,uint256,uint256,bool)" } }, - "functionReturnParameters": 5257, - "id": 5306, + "functionReturnParameters": 5874, + "id": 5923, "nodeType": "Return", - "src": "19415:169:21" + "src": "20379:169:28" } ] }, "documentation": "@dev returns the basic data (balances, fee accrued, reserve enabled/disabled as collateral)\nneeded to calculate the global account data in the LendingPoolDataProvider\n@param _reserve the address of the reserve\n@param _user the address of the user\n@return the user deposited balance, the principal borrow balance, the fee, and if the reserve is enabled as collateral or not*", - "id": 5308, + "id": 5925, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserBasicReserveData", "nodeType": "FunctionDefinition", "parameters": { - "id": 5248, + "id": 5865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5245, + "id": 5862, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18919:16:21", + "scope": 5925, + "src": "19883:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54237,10 +54931,10 @@ "typeString": "address" }, "typeName": { - "id": 5244, + "id": 5861, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18919:7:21", + "src": "19883:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54252,11 +54946,11 @@ }, { "constant": false, - "id": 5247, + "id": 5864, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18937:13:21", + "scope": 5925, + "src": "19901:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54264,10 +54958,10 @@ "typeString": "address" }, "typeName": { - "id": 5246, + "id": 5863, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18937:7:21", + "src": "19901:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54278,19 +54972,19 @@ "visibility": "internal" } ], - "src": "18918:33:21" + "src": "19882:33:28" }, "returnParameters": { - "id": 5257, + "id": 5874, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5250, + "id": 5867, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "18999:7:21", + "scope": 5925, + "src": "19963:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54298,10 +54992,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5249, + "id": 5866, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18999:7:21", + "src": "19963:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54312,11 +55006,11 @@ }, { "constant": false, - "id": 5252, + "id": 5869, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19008:7:21", + "scope": 5925, + "src": "19972:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54324,10 +55018,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5251, + "id": 5868, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19008:7:21", + "src": "19972:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54338,11 +55032,11 @@ }, { "constant": false, - "id": 5254, + "id": 5871, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19017:7:21", + "scope": 5925, + "src": "19981:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54350,10 +55044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5253, + "id": 5870, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19017:7:21", + "src": "19981:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54364,11 +55058,11 @@ }, { "constant": false, - "id": 5256, + "id": 5873, "name": "", "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "19026:4:21", + "scope": 5925, + "src": "19990:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54376,10 +55070,10 @@ "typeString": "bool" }, "typeName": { - "id": 5255, + "id": 5872, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "19026:4:21", + "src": "19990:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54389,47 +55083,47 @@ "visibility": "internal" } ], - "src": "18998:33:21" + "src": "19962:33:28" }, - "scope": 7812, - "src": "18886:705:21", + "scope": 8443, + "src": "19850:705:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5358, + "id": 5975, "nodeType": "Block", - "src": "20043:398:21", + "src": "21007:398:28", "statements": [ { "assignments": [ - 5322 + 5939 ], "declarations": [ { "constant": false, - "id": 5322, + "id": 5939, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "20053:39:21", + "scope": 5975, + "src": "21017:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5321, + "id": 5938, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "20053:23:21", + "referencedDeclaration": 10646, + "src": "21017:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -54437,31 +55131,31 @@ "visibility": "internal" } ], - "id": 5326, + "id": 5943, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5323, + "id": 5940, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "20095:8:21", + "referencedDeclaration": 5152, + "src": "21059:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5325, + "id": 5942, "indexExpression": { "argumentTypes": null, - "id": 5324, + "id": 5941, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20104:8:21", + "referencedDeclaration": 5927, + "src": "21068:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -54472,42 +55166,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20095:18:21", + "src": "21059:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "20053:60:21" + "src": "21017:60:28" }, { "assignments": [ - 5330 + 5947 ], "declarations": [ { "constant": false, - "id": 5330, + "id": 5947, "name": "user", "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "20123:40:21", + "scope": 5975, + "src": "21087:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5329, + "id": 5946, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "20123:27:21", + "referencedDeclaration": 10605, + "src": "21087:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -54515,33 +55209,33 @@ "visibility": "internal" } ], - "id": 5336, + "id": 5953, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5331, + "id": 5948, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "20166:16:21", + "referencedDeclaration": 5158, + "src": "21130:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5333, + "id": 5950, "indexExpression": { "argumentTypes": null, - "id": 5332, + "id": 5949, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "20183:5:21", + "referencedDeclaration": 5929, + "src": "21147:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -54552,21 +55246,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20166:23:21", + "src": "21130:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 5335, + "id": 5952, "indexExpression": { "argumentTypes": null, - "id": 5334, + "id": 5951, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20190:8:21", + "referencedDeclaration": 5927, + "src": "21154:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -54577,19 +55271,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20166:33:21", + "src": "21130:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "20123:76:21" + "src": "21087:76:28" }, { "condition": { "argumentTypes": null, - "id": 5339, + "id": 5956, "isConstant": false, "isLValue": false, "isPure": false, @@ -54597,31 +55291,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20214:34:21", + "src": "21178:34:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5337, + "id": 5954, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "20215:7:21", + "referencedDeclaration": 5939, + "src": "21179:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5338, + "id": 5955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "20215:33:21", + "referencedDeclaration": 10641, + "src": "21179:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54633,21 +55327,21 @@ } }, "falseBody": null, - "id": 5342, + "id": 5959, "nodeType": "IfStatement", - "src": "20210:52:21", + "src": "21174:52:28", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 5340, + "id": 5957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20257:5:21", + "src": "21221:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -54655,10 +55349,10 @@ }, "value": "false" }, - "functionReturnParameters": 5318, - "id": 5341, + "functionReturnParameters": 5935, + "id": 5958, "nodeType": "Return", - "src": "20250:12:21" + "src": "21214:12:28" } }, { @@ -54668,7 +55362,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5356, + "id": 5973, "isConstant": false, "isLValue": false, "isPure": false, @@ -54679,14 +55373,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5349, + "id": 5966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5345, + "id": 5962, "isConstant": false, "isLValue": false, "isPure": false, @@ -54694,31 +55388,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20292:21:21", + "src": "21256:21:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5343, + "id": 5960, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "20293:4:21", + "referencedDeclaration": 5947, + "src": "21257:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 5344, + "id": 5961, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "20293:20:21", + "referencedDeclaration": 10604, + "src": "21257:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54733,7 +55427,7 @@ "operator": "||", "rightExpression": { "argumentTypes": null, - "id": 5348, + "id": 5965, "isConstant": false, "isLValue": false, "isPure": false, @@ -54741,31 +55435,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20329:33:21", + "src": "21293:33:28", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5346, + "id": 5963, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5322, - "src": "20330:7:21", + "referencedDeclaration": 5939, + "src": "21294:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5347, + "id": 5964, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "20330:32:21", + "referencedDeclaration": 10639, + "src": "21294:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54776,7 +55470,7 @@ "typeString": "bool" } }, - "src": "20292:70:21", + "src": "21256:70:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54790,19 +55484,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5355, + "id": 5972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5350, + "id": 5967, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5314, - "src": "20378:7:21", + "referencedDeclaration": 5931, + "src": "21342:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54815,12 +55509,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5352, + "id": 5969, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5310, - "src": "20418:8:21", + "referencedDeclaration": 5927, + "src": "21382:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -54828,12 +55522,12 @@ }, { "argumentTypes": null, - "id": 5353, + "id": 5970, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5312, - "src": "20428:5:21", + "referencedDeclaration": 5929, + "src": "21392:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -54851,18 +55545,18 @@ "typeString": "address" } ], - "id": 5351, + "id": 5968, "name": "getUserUnderlyingAssetBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "20388:29:21", + "referencedDeclaration": 6000, + "src": "21352:29:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 5354, + "id": 5971, "isConstant": false, "isLValue": false, "isPure": false, @@ -54870,49 +55564,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20388:46:21", + "src": "21352:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "20378:56:21", + "src": "21342:56:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "20292:142:21", + "src": "21256:142:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5318, - "id": 5357, + "functionReturnParameters": 5935, + "id": 5974, "nodeType": "Return", - "src": "20273:161:21" + "src": "21237:161:28" } ] }, "documentation": "@dev checks if a user is allowed to borrow at a stable rate\n@param _reserve the reserve address\n@param _user the user\n@param _amount the amount the the user wants to borrow\n@return true if the user is allowed to borrow at a stable rate, false otherwise*", - "id": 5359, + "id": 5976, "implemented": true, "kind": "function", "modifiers": [], "name": "isUserAllowedToBorrowAtStable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5315, + "id": 5932, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5310, + "id": 5927, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19936:16:21", + "scope": 5976, + "src": "20900:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54920,10 +55614,10 @@ "typeString": "address" }, "typeName": { - "id": 5309, + "id": 5926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19936:7:21", + "src": "20900:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54935,11 +55629,11 @@ }, { "constant": false, - "id": 5312, + "id": 5929, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19954:13:21", + "scope": 5976, + "src": "20918:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54947,10 +55641,10 @@ "typeString": "address" }, "typeName": { - "id": 5311, + "id": 5928, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19954:7:21", + "src": "20918:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -54962,11 +55656,11 @@ }, { "constant": false, - "id": 5314, + "id": 5931, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "19969:15:21", + "scope": 5976, + "src": "20933:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54974,10 +55668,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5313, + "id": 5930, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19969:7:21", + "src": "20933:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54987,19 +55681,19 @@ "visibility": "internal" } ], - "src": "19935:50:21" + "src": "20899:50:28" }, "returnParameters": { - "id": 5318, + "id": 5935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5317, + "id": 5934, "name": "", "nodeType": "VariableDeclaration", - "scope": 5359, - "src": "20033:4:21", + "scope": 5976, + "src": "20997:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55007,10 +55701,10 @@ "typeString": "bool" }, "typeName": { - "id": 5316, + "id": 5933, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "20033:4:21", + "src": "20997:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55020,47 +55714,47 @@ "visibility": "internal" } ], - "src": "20032:6:21" + "src": "20996:6:28" }, - "scope": 7812, - "src": "19897:544:21", + "scope": 8443, + "src": "20861:544:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5382, + "id": 5999, "nodeType": "Block", - "src": "20827:114:21", + "src": "21791:114:28", "statements": [ { "assignments": [ - 5369 + 5986 ], "declarations": [ { "constant": false, - "id": 5369, + "id": 5986, "name": "aToken", "nodeType": "VariableDeclaration", - "scope": 5382, - "src": "20837:13:21", + "scope": 5999, + "src": "21801:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" }, "typeName": { "contractScope": null, - "id": 5368, + "id": 5985, "name": "AToken", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 13463, - "src": "20837:6:21", + "referencedDeclaration": 15043, + "src": "21801:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, @@ -55068,7 +55762,7 @@ "visibility": "internal" } ], - "id": 5376, + "id": 5993, "initialValue": { "argumentTypes": null, "arguments": [ @@ -55078,26 +55772,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5371, + "id": 5988, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "20860:8:21", + "referencedDeclaration": 5152, + "src": "21824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5373, + "id": 5990, "indexExpression": { "argumentTypes": null, - "id": 5372, + "id": 5989, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5361, - "src": "20869:8:21", + "referencedDeclaration": 5978, + "src": "21833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55108,21 +55802,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:18:21", + "src": "21824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5374, + "id": 5991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "20860:32:21", + "referencedDeclaration": 10631, + "src": "21824:32:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55136,18 +55830,18 @@ "typeString": "address" } ], - "id": 5370, + "id": 5987, "name": "AToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 13463, - "src": "20853:6:21", + "referencedDeclaration": 15043, + "src": "21817:6:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AToken_$13463_$", + "typeIdentifier": "t_type$_t_contract$_AToken_$15043_$", "typeString": "type(contract AToken)" } }, - "id": 5375, + "id": 5992, "isConstant": false, "isLValue": false, "isPure": false, @@ -55155,14 +55849,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20853:40:21", + "src": "21817:40:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, "nodeType": "VariableDeclarationStatement", - "src": "20837:56:21" + "src": "21801:56:28" }, { "expression": { @@ -55170,12 +55864,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5379, + "id": 5996, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "20927:5:21", + "referencedDeclaration": 5980, + "src": "21891:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55191,32 +55885,32 @@ ], "expression": { "argumentTypes": null, - "id": 5377, + "id": 5994, "name": "aToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "20910:6:21", + "referencedDeclaration": 5986, + "src": "21874:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_AToken_$13463", + "typeIdentifier": "t_contract$_AToken_$15043", "typeString": "contract AToken" } }, - "id": 5378, + "id": 5995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 12975, - "src": "20910:16:21", + "referencedDeclaration": 14555, + "src": "21874:16:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5380, + "id": 5997, "isConstant": false, "isLValue": false, "isPure": false, @@ -55224,37 +55918,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20910:23:21", + "src": "21874:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5367, - "id": 5381, + "functionReturnParameters": 5984, + "id": 5998, "nodeType": "Return", - "src": "20903:30:21" + "src": "21867:30:28" } ] }, "documentation": "@dev gets the underlying asset balance of a user based on the corresponding aToken balance.\n@param _reserve the reserve address\n@param _user the user address\n@return the underlying deposit balance of the user*", - "id": 5383, + "id": 6000, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserUnderlyingAssetBalance", "nodeType": "FunctionDefinition", "parameters": { - "id": 5364, + "id": 5981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5361, + "id": 5978, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20736:16:21", + "scope": 6000, + "src": "21700:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55262,10 +55956,10 @@ "typeString": "address" }, "typeName": { - "id": 5360, + "id": 5977, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20736:7:21", + "src": "21700:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55277,11 +55971,11 @@ }, { "constant": false, - "id": 5363, + "id": 5980, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20754:13:21", + "scope": 6000, + "src": "21718:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55289,10 +55983,10 @@ "typeString": "address" }, "typeName": { - "id": 5362, + "id": 5979, "name": "address", "nodeType": "ElementaryTypeName", - "src": "20754:7:21", + "src": "21718:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55303,19 +55997,19 @@ "visibility": "internal" } ], - "src": "20735:33:21" + "src": "21699:33:28" }, "returnParameters": { - "id": 5367, + "id": 5984, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5366, + "id": 5983, "name": "", "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "20814:7:21", + "scope": 6000, + "src": "21778:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55323,10 +56017,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5365, + "id": 5982, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20814:7:21", + "src": "21778:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55336,47 +56030,47 @@ "visibility": "internal" } ], - "src": "20813:9:21" + "src": "21777:9:28" }, - "scope": 7812, - "src": "20697:244:21", + "scope": 8443, + "src": "21661:244:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5401, + "id": 6018, "nodeType": "Block", - "src": "21241:129:21", + "src": "22205:129:28", "statements": [ { "assignments": [ - 5393 + 6010 ], "declarations": [ { "constant": false, - "id": 5393, + "id": 6010, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5401, - "src": "21251:39:21", + "scope": 6018, + "src": "22215:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5392, + "id": 6009, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "21251:23:21", + "referencedDeclaration": 10646, + "src": "22215:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -55384,31 +56078,31 @@ "visibility": "internal" } ], - "id": 5397, + "id": 6014, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5394, + "id": 6011, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "21293:8:21", + "referencedDeclaration": 5152, + "src": "22257:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5396, + "id": 6013, "indexExpression": { "argumentTypes": null, - "id": 5395, + "id": 6012, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "21302:8:21", + "referencedDeclaration": 6002, + "src": "22266:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55419,70 +56113,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21293:18:21", + "src": "22257:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "21251:60:21" + "src": "22215:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5398, + "id": 6015, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "21328:7:21", + "referencedDeclaration": 6010, + "src": "22292:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5399, + "id": 6016, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "21328:35:21", + "referencedDeclaration": 10633, + "src": "22292:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 5389, - "id": 5400, + "functionReturnParameters": 6006, + "id": 6017, "nodeType": "Return", - "src": "21321:42:21" + "src": "22285:42:28" } ] }, "documentation": "@dev gets the interest rate strategy contract address for the reserve\n@param _reserve the reserve address\n@return the address of the interest rate strategy contract*", - "id": 5402, + "id": 6019, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveInterestRateStrategyAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5386, + "id": 6003, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5385, + "id": 6002, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5402, - "src": "21193:16:21", + "scope": 6019, + "src": "22157:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55490,10 +56184,10 @@ "typeString": "address" }, "typeName": { - "id": 5384, + "id": 6001, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21193:7:21", + "src": "22157:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55504,19 +56198,19 @@ "visibility": "internal" } ], - "src": "21192:18:21" + "src": "22156:18:28" }, "returnParameters": { - "id": 5389, + "id": 6006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5388, + "id": 6005, "name": "", "nodeType": "VariableDeclaration", - "scope": 5402, - "src": "21232:7:21", + "scope": 6019, + "src": "22196:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55524,10 +56218,10 @@ "typeString": "address" }, "typeName": { - "id": 5387, + "id": 6004, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21232:7:21", + "src": "22196:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55538,47 +56232,47 @@ "visibility": "internal" } ], - "src": "21231:9:21" + "src": "22195:9:28" }, - "scope": 7812, - "src": "21146:224:21", + "scope": 8443, + "src": "22110:224:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5420, + "id": 6037, "nodeType": "Block", - "src": "21625:115:21", + "src": "22589:115:28", "statements": [ { "assignments": [ - 5412 + 6029 ], "declarations": [ { "constant": false, - "id": 5412, + "id": 6029, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5420, - "src": "21635:39:21", + "scope": 6037, + "src": "22599:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5411, + "id": 6028, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "21635:23:21", + "referencedDeclaration": 10646, + "src": "22599:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -55586,31 +56280,31 @@ "visibility": "internal" } ], - "id": 5416, + "id": 6033, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5413, + "id": 6030, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "21677:8:21", + "referencedDeclaration": 5152, + "src": "22641:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5415, + "id": 6032, "indexExpression": { "argumentTypes": null, - "id": 5414, + "id": 6031, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "21686:8:21", + "referencedDeclaration": 6021, + "src": "22650:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55621,70 +56315,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21677:18:21", + "src": "22641:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "21635:60:21" + "src": "22599:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5417, + "id": 6034, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5412, - "src": "21712:7:21", + "referencedDeclaration": 6029, + "src": "22676:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5418, + "id": 6035, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "21712:21:21", + "referencedDeclaration": 10631, + "src": "22676:21:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 5408, - "id": 5419, + "functionReturnParameters": 6025, + "id": 6036, "nodeType": "Return", - "src": "21705:28:21" + "src": "22669:28:28" } ] }, "documentation": "@dev gets the aToken contract address for the reserve\n@param _reserve the reserve address\n@return the address of the aToken contract*", - "id": 5421, + "id": 6038, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveATokenAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 5405, + "id": 6022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5404, + "id": 6021, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "21577:16:21", + "scope": 6038, + "src": "22541:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55692,10 +56386,10 @@ "typeString": "address" }, "typeName": { - "id": 5403, + "id": 6020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21577:7:21", + "src": "22541:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55706,19 +56400,19 @@ "visibility": "internal" } ], - "src": "21576:18:21" + "src": "22540:18:28" }, "returnParameters": { - "id": 5408, + "id": 6025, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5407, + "id": 6024, "name": "", "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "21616:7:21", + "scope": 6038, + "src": "22580:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55726,10 +56420,10 @@ "typeString": "address" }, "typeName": { - "id": 5406, + "id": 6023, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21616:7:21", + "src": "22580:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -55740,32 +56434,32 @@ "visibility": "internal" } ], - "src": "21615:9:21" + "src": "22579:9:28" }, - "scope": 7812, - "src": "21544:196:21", + "scope": 8443, + "src": "22508:196:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5460, + "id": 6077, "nodeType": "Block", - "src": "22044:252:21", + "src": "23008:252:28", "statements": [ { "assignments": [ - 5429 + 6046 ], "declarations": [ { "constant": false, - "id": 5429, + "id": 6046, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 5460, - "src": "22054:15:21", + "scope": 6077, + "src": "23018:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55773,10 +56467,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5428, + "id": 6045, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22054:7:21", + "src": "23018:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55786,18 +56480,18 @@ "visibility": "internal" } ], - "id": 5431, + "id": 6048, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 5430, + "id": 6047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "22072:1:21", + "src": "23036:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -55806,7 +56500,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "22054:19:21" + "src": "23018:19:28" }, { "condition": { @@ -55815,19 +56509,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5436, + "id": 6053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5432, + "id": 6049, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "22088:8:21", + "referencedDeclaration": 6040, + "src": "23052:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -55842,32 +56536,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5433, + "id": 6050, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "22100:13:21", + "referencedDeclaration": 11343, + "src": "23064:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 5434, + "id": 6051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "22100:24:21", + "referencedDeclaration": 11342, + "src": "23064:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 5435, + "id": 6052, "isConstant": false, "isLValue": false, "isPure": false, @@ -55875,39 +56569,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22100:26:21", + "src": "23064:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "22088:38:21", + "src": "23052:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 5456, + "id": 6073, "nodeType": "Block", - "src": "22190:76:21", + "src": "23154:76:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5454, + "id": 6071, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5445, + "id": 6062, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22204:7:21", + "referencedDeclaration": 6046, + "src": "23168:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55923,14 +56617,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5451, + "id": 6068, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "22249:4:21", + "referencedDeclaration": 16243, + "src": "23213:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -55938,24 +56632,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5450, + "id": 6067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22241:7:21", + "src": "23205:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5452, + "id": 6069, "isConstant": false, "isLValue": false, "isPure": false, @@ -55963,7 +56657,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22241:13:21", + "src": "23205:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -55982,12 +56676,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5447, + "id": 6064, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5423, - "src": "22221:8:21", + "referencedDeclaration": 6040, + "src": "23185:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56001,18 +56695,18 @@ "typeString": "address" } ], - "id": 5446, + "id": 6063, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14262, - "src": "22214:6:21", + "referencedDeclaration": 15842, + "src": "23178:6:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$15842_$", "typeString": "type(contract IERC20)" } }, - "id": 5448, + "id": 6065, "isConstant": false, "isLValue": false, "isPure": false, @@ -56020,27 +56714,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22214:16:21", + "src": "23178:16:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$14262", + "typeIdentifier": "t_contract$_IERC20_$15842", "typeString": "contract IERC20" } }, - "id": 5449, + "id": 6066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 14207, - "src": "22214:26:21", + "referencedDeclaration": 15787, + "src": "23178:26:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5453, + "id": 6070, "isConstant": false, "isLValue": false, "isPure": false, @@ -56048,48 +56742,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22214:41:21", + "src": "23178:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22204:51:21", + "src": "23168:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5455, + "id": 6072, "nodeType": "ExpressionStatement", - "src": "22204:51:21" + "src": "23168:51:28" } ] }, - "id": 5457, + "id": 6074, "nodeType": "IfStatement", - "src": "22084:182:21", + "src": "23048:182:28", "trueBody": { - "id": 5444, + "id": 6061, "nodeType": "Block", - "src": "22128:56:21", + "src": "23092:56:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5442, + "id": 6059, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5437, + "id": 6054, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22142:7:21", + "referencedDeclaration": 6046, + "src": "23106:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56104,14 +56798,14 @@ "arguments": [ { "argumentTypes": null, - "id": 5439, + "id": 6056, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14643, - "src": "22160:4:21", + "referencedDeclaration": 16243, + "src": "23124:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } } @@ -56119,24 +56813,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LendingPoolCore_$7812", + "typeIdentifier": "t_contract$_LendingPoolCore_$8443", "typeString": "contract LendingPoolCore" } ], - "id": 5438, + "id": 6055, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "22152:7:21", + "src": "23116:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 5440, + "id": 6057, "isConstant": false, "isLValue": false, "isPure": false, @@ -56144,13 +56838,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22152:13:21", + "src": "23116:13:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 5441, + "id": 6058, "isConstant": false, "isLValue": false, "isPure": false, @@ -56158,21 +56852,21 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "22152:21:21", + "src": "23116:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "22142:31:21", + "src": "23106:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5443, + "id": 6060, "nodeType": "ExpressionStatement", - "src": "22142:31:21" + "src": "23106:31:28" } ] } @@ -56180,42 +56874,42 @@ { "expression": { "argumentTypes": null, - "id": 5458, + "id": 6075, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "22282:7:21", + "referencedDeclaration": 6046, + "src": "23246:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5427, - "id": 5459, + "functionReturnParameters": 6044, + "id": 6076, "nodeType": "Return", - "src": "22275:14:21" + "src": "23239:14:28" } ] }, "documentation": "@dev gets the available liquidity in the reserve. The available liquidity is the balance of the core contract\n@param _reserve the reserve address\n@return the available liquidity*", - "id": 5461, + "id": 6078, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveAvailableLiquidity", "nodeType": "FunctionDefinition", "parameters": { - "id": 5424, + "id": 6041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5423, + "id": 6040, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5461, - "src": "21996:16:21", + "scope": 6078, + "src": "22960:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56223,10 +56917,10 @@ "typeString": "address" }, "typeName": { - "id": 5422, + "id": 6039, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21996:7:21", + "src": "22960:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56237,19 +56931,19 @@ "visibility": "internal" } ], - "src": "21995:18:21" + "src": "22959:18:28" }, "returnParameters": { - "id": 5427, + "id": 6044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5426, + "id": 6043, "name": "", "nodeType": "VariableDeclaration", - "scope": 5461, - "src": "22035:7:21", + "scope": 6078, + "src": "22999:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56257,10 +56951,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5425, + "id": 6042, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22035:7:21", + "src": "22999:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56270,47 +56964,47 @@ "visibility": "internal" } ], - "src": "22034:9:21" + "src": "22998:9:28" }, - "scope": 7812, - "src": "21958:338:21", + "scope": 8443, + "src": "22922:338:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5485, + "id": 6102, "nodeType": "Block", - "src": "22600:163:21", + "src": "23564:163:28", "statements": [ { "assignments": [ - 5471 + 6088 ], "declarations": [ { "constant": false, - "id": 5471, + "id": 6088, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5485, - "src": "22610:39:21", + "scope": 6102, + "src": "23574:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5470, + "id": 6087, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "22610:23:21", + "referencedDeclaration": 10646, + "src": "23574:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -56318,31 +57012,31 @@ "visibility": "internal" } ], - "id": 5475, + "id": 6092, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5472, + "id": 6089, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "22652:8:21", + "referencedDeclaration": 5152, + "src": "23616:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5474, + "id": 6091, "indexExpression": { "argumentTypes": null, - "id": 5473, + "id": 6090, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5463, - "src": "22661:8:21", + "referencedDeclaration": 6080, + "src": "23625:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56353,14 +57047,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "22652:18:21", + "src": "23616:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "22610:60:21" + "src": "23574:60:28" }, { "expression": { @@ -56373,32 +57067,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5480, + "id": 6097, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5471, - "src": "22730:7:21", + "referencedDeclaration": 6088, + "src": "23694:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5481, + "id": 6098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "22730:23:21", + "referencedDeclaration": 11331, + "src": "23694:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5482, + "id": 6099, "isConstant": false, "isLValue": false, "isPure": false, @@ -56406,7 +57100,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22730:25:21", + "src": "23694:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56425,12 +57119,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5477, + "id": 6094, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5463, - "src": "22716:8:21", + "referencedDeclaration": 6080, + "src": "23680:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56444,18 +57138,18 @@ "typeString": "address" } ], - "id": 5476, + "id": 6093, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "22687:28:21", + "referencedDeclaration": 6078, + "src": "23651:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 5478, + "id": 6095, "isConstant": false, "isLValue": false, "isPure": false, @@ -56463,27 +57157,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22687:38:21", + "src": "23651:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5479, + "id": 6096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "22687:42:21", + "referencedDeclaration": 15070, + "src": "23651:42:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5483, + "id": 6100, "isConstant": false, "isLValue": false, "isPure": false, @@ -56491,37 +57185,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "22687:69:21", + "src": "23651:69:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5467, - "id": 5484, + "functionReturnParameters": 6084, + "id": 6101, "nodeType": "Return", - "src": "22680:76:21" + "src": "23644:76:28" } ] }, "documentation": "@dev gets the total liquidity in the reserve. The total liquidity is the balance of the core contract + total borrows\n@param _reserve the reserve address\n@return the total liquidity*", - "id": 5486, + "id": 6103, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalLiquidity", "nodeType": "FunctionDefinition", "parameters": { - "id": 5464, + "id": 6081, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5463, + "id": 6080, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5486, - "src": "22552:16:21", + "scope": 6103, + "src": "23516:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56529,10 +57223,10 @@ "typeString": "address" }, "typeName": { - "id": 5462, + "id": 6079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "22552:7:21", + "src": "23516:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56543,19 +57237,19 @@ "visibility": "internal" } ], - "src": "22551:18:21" + "src": "23515:18:28" }, "returnParameters": { - "id": 5467, + "id": 6084, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5466, + "id": 6083, "name": "", "nodeType": "VariableDeclaration", - "scope": 5486, - "src": "22591:7:21", + "scope": 6103, + "src": "23555:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56563,10 +57257,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5465, + "id": 6082, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22591:7:21", + "src": "23555:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56576,47 +57270,47 @@ "visibility": "internal" } ], - "src": "22590:9:21" + "src": "23554:9:28" }, - "scope": 7812, - "src": "22518:245:21", + "scope": 8443, + "src": "23482:245:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5505, + "id": 6122, "nodeType": "Block", - "src": "23115:123:21", + "src": "24079:123:28", "statements": [ { "assignments": [ - 5496 + 6113 ], "declarations": [ { "constant": false, - "id": 5496, + "id": 6113, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5505, - "src": "23125:39:21", + "scope": 6122, + "src": "24089:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5495, + "id": 6112, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "23125:23:21", + "referencedDeclaration": 10646, + "src": "24089:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -56624,31 +57318,31 @@ "visibility": "internal" } ], - "id": 5500, + "id": 6117, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5497, + "id": 6114, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23167:8:21", + "referencedDeclaration": 5152, + "src": "24131:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5499, + "id": 6116, "indexExpression": { "argumentTypes": null, - "id": 5498, + "id": 6115, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5488, - "src": "23176:8:21", + "referencedDeclaration": 6105, + "src": "24140:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56659,14 +57353,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23167:18:21", + "src": "24131:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23125:60:21" + "src": "24089:60:28" }, { "expression": { @@ -56676,32 +57370,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5501, + "id": 6118, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "23202:7:21", + "referencedDeclaration": 6113, + "src": "24166:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5502, + "id": 6119, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getNormalizedIncome", "nodeType": "MemberAccess", - "referencedDeclaration": 9592, - "src": "23202:27:21", + "referencedDeclaration": 10669, + "src": "24166:27:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5503, + "id": 6120, "isConstant": false, "isLValue": false, "isPure": false, @@ -56709,37 +57403,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23202:29:21", + "src": "24166:29:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5492, - "id": 5504, + "functionReturnParameters": 6109, + "id": 6121, "nodeType": "Return", - "src": "23195:36:21" + "src": "24159:36:28" } ] }, "documentation": "@dev gets the normalized income of the reserve. a value of 1e27 means there is no income. A value of 2e27 means there\nthere has been 100% income.\n@param _reserve the reserve address\n@return the reserve normalized income*", - "id": 5506, + "id": 6123, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveNormalizedIncome", "nodeType": "FunctionDefinition", "parameters": { - "id": 5489, + "id": 6106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5488, + "id": 6105, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5506, - "src": "23065:16:21", + "scope": 6123, + "src": "24029:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56747,10 +57441,10 @@ "typeString": "address" }, "typeName": { - "id": 5487, + "id": 6104, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23065:7:21", + "src": "24029:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56761,19 +57455,19 @@ "visibility": "internal" } ], - "src": "23064:18:21" + "src": "24028:18:28" }, "returnParameters": { - "id": 5492, + "id": 6109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5491, + "id": 6108, "name": "", "nodeType": "VariableDeclaration", - "scope": 5506, - "src": "23106:7:21", + "scope": 6123, + "src": "24070:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56781,10 +57475,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5490, + "id": 6107, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23106:7:21", + "src": "24070:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56794,19 +57488,19 @@ "visibility": "internal" } ], - "src": "23105:9:21" + "src": "24069:9:28" }, - "scope": 7812, - "src": "23029:209:21", + "scope": 8443, + "src": "23993:209:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5519, + "id": 6136, "nodeType": "Block", - "src": "23476:60:21", + "src": "24440:60:28", "statements": [ { "expression": { @@ -56818,26 +57512,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5513, + "id": 6130, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23493:8:21", + "referencedDeclaration": 5152, + "src": "24457:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5515, + "id": 6132, "indexExpression": { "argumentTypes": null, - "id": 5514, + "id": 6131, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5508, - "src": "23502:8:21", + "referencedDeclaration": 6125, + "src": "24466:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -56848,27 +57542,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23493:18:21", + "src": "24457:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5516, + "id": 6133, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "23493:34:21", + "referencedDeclaration": 11331, + "src": "24457:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5517, + "id": 6134, "isConstant": false, "isLValue": false, "isPure": false, @@ -56876,37 +57570,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "23493:36:21", + "src": "24457:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5512, - "id": 5518, + "functionReturnParameters": 6129, + "id": 6135, "nodeType": "Return", - "src": "23486:43:21" + "src": "24450:43:28" } ] }, "documentation": "@dev gets the reserve total borrows\n@param _reserve the reserve address\n@return the total borrows (stable + variable)*", - "id": 5520, + "id": 6137, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrows", "nodeType": "FunctionDefinition", "parameters": { - "id": 5509, + "id": 6126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5508, + "id": 6125, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "23428:16:21", + "scope": 6137, + "src": "24392:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56914,10 +57608,10 @@ "typeString": "address" }, "typeName": { - "id": 5507, + "id": 6124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23428:7:21", + "src": "24392:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -56928,19 +57622,19 @@ "visibility": "internal" } ], - "src": "23427:18:21" + "src": "24391:18:28" }, "returnParameters": { - "id": 5512, + "id": 6129, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5511, + "id": 6128, "name": "", "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "23467:7:21", + "scope": 6137, + "src": "24431:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -56948,10 +57642,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5510, + "id": 6127, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23467:7:21", + "src": "24431:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56961,47 +57655,47 @@ "visibility": "internal" } ], - "src": "23466:9:21" + "src": "24430:9:28" }, - "scope": 7812, - "src": "23396:140:21", + "scope": 8443, + "src": "24360:140:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5538, + "id": 6155, "nodeType": "Block", - "src": "23776:120:21", + "src": "24740:120:28", "statements": [ { "assignments": [ - 5530 + 6147 ], "declarations": [ { "constant": false, - "id": 5530, + "id": 6147, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "23786:39:21", + "scope": 6155, + "src": "24750:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5529, + "id": 6146, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "23786:23:21", + "referencedDeclaration": 10646, + "src": "24750:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -57009,31 +57703,31 @@ "visibility": "internal" } ], - "id": 5534, + "id": 6151, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5531, + "id": 6148, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "23828:8:21", + "referencedDeclaration": 5152, + "src": "24792:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5533, + "id": 6150, "indexExpression": { "argumentTypes": null, - "id": 5532, + "id": 6149, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5522, - "src": "23837:8:21", + "referencedDeclaration": 6139, + "src": "24801:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57044,70 +57738,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "23828:18:21", + "src": "24792:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "23786:60:21" + "src": "24750:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5535, + "id": 6152, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5530, - "src": "23863:7:21", + "referencedDeclaration": 6147, + "src": "24827:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5536, + "id": 6153, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsStable", "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "23863:26:21", + "referencedDeclaration": 10611, + "src": "24827:26:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5526, - "id": 5537, + "functionReturnParameters": 6143, + "id": 6154, "nodeType": "Return", - "src": "23856:33:21" + "src": "24820:33:28" } ] }, "documentation": "@dev gets the reserve total borrows stable\n@param _reserve the reserve address\n@return the total borrows stable*", - "id": 5539, + "id": 6156, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrowsStable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5523, + "id": 6140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5522, + "id": 6139, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5539, - "src": "23726:16:21", + "scope": 6156, + "src": "24690:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57115,10 +57809,10 @@ "typeString": "address" }, "typeName": { - "id": 5521, + "id": 6138, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23726:7:21", + "src": "24690:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57129,19 +57823,19 @@ "visibility": "internal" } ], - "src": "23725:18:21" + "src": "24689:18:28" }, "returnParameters": { - "id": 5526, + "id": 6143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5525, + "id": 6142, "name": "", "nodeType": "VariableDeclaration", - "scope": 5539, - "src": "23767:7:21", + "scope": 6156, + "src": "24731:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57149,10 +57843,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5524, + "id": 6141, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "23767:7:21", + "src": "24731:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57162,47 +57856,47 @@ "visibility": "internal" } ], - "src": "23766:9:21" + "src": "24730:9:28" }, - "scope": 7812, - "src": "23688:208:21", + "scope": 8443, + "src": "24652:208:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5557, + "id": 6174, "nodeType": "Block", - "src": "24143:122:21", + "src": "25107:122:28", "statements": [ { "assignments": [ - 5549 + 6166 ], "declarations": [ { "constant": false, - "id": 5549, + "id": 6166, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "24153:39:21", + "scope": 6174, + "src": "25117:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5548, + "id": 6165, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24153:23:21", + "referencedDeclaration": 10646, + "src": "25117:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -57210,31 +57904,31 @@ "visibility": "internal" } ], - "id": 5553, + "id": 6170, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5550, + "id": 6167, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24195:8:21", + "referencedDeclaration": 5152, + "src": "25159:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5552, + "id": 6169, "indexExpression": { "argumentTypes": null, - "id": 5551, + "id": 6168, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5541, - "src": "24204:8:21", + "referencedDeclaration": 6158, + "src": "25168:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57245,70 +57939,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24195:18:21", + "src": "25159:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24153:60:21" + "src": "25117:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5554, + "id": 6171, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5549, - "src": "24230:7:21", + "referencedDeclaration": 6166, + "src": "25194:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5555, + "id": 6172, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 9536, - "src": "24230:28:21", + "referencedDeclaration": 10613, + "src": "25194:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5545, - "id": 5556, + "functionReturnParameters": 6162, + "id": 6173, "nodeType": "Return", - "src": "24223:35:21" + "src": "25187:35:28" } ] }, "documentation": "@dev gets the reserve total borrows variable\n@param _reserve the reserve address\n@return the total borrows variable*", - "id": 5558, + "id": 6175, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveTotalBorrowsVariable", "nodeType": "FunctionDefinition", "parameters": { - "id": 5542, + "id": 6159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5541, + "id": 6158, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5558, - "src": "24093:16:21", + "scope": 6175, + "src": "25057:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57316,10 +58010,10 @@ "typeString": "address" }, "typeName": { - "id": 5540, + "id": 6157, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24093:7:21", + "src": "25057:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57330,19 +58024,19 @@ "visibility": "internal" } ], - "src": "24092:18:21" + "src": "25056:18:28" }, "returnParameters": { - "id": 5545, + "id": 6162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5544, + "id": 6161, "name": "", "nodeType": "VariableDeclaration", - "scope": 5558, - "src": "24134:7:21", + "scope": 6175, + "src": "25098:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57350,10 +58044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5543, + "id": 6160, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24134:7:21", + "src": "25098:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57363,47 +58057,47 @@ "visibility": "internal" } ], - "src": "24133:9:21" + "src": "25097:9:28" }, - "scope": 7812, - "src": "24053:212:21", + "scope": 8443, + "src": "25017:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5576, + "id": 6193, "nodeType": "Block", - "src": "24518:122:21", + "src": "25482:122:28", "statements": [ { "assignments": [ - 5568 + 6185 ], "declarations": [ { "constant": false, - "id": 5568, + "id": 6185, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "24528:39:21", + "scope": 6193, + "src": "25492:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5567, + "id": 6184, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24528:23:21", + "referencedDeclaration": 10646, + "src": "25492:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -57411,31 +58105,31 @@ "visibility": "internal" } ], - "id": 5572, + "id": 6189, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5569, + "id": 6186, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24570:8:21", + "referencedDeclaration": 5152, + "src": "25534:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5571, + "id": 6188, "indexExpression": { "argumentTypes": null, - "id": 5570, + "id": 6187, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5560, - "src": "24579:8:21", + "referencedDeclaration": 6177, + "src": "25543:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57446,70 +58140,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24570:18:21", + "src": "25534:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24528:60:21" + "src": "25492:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5573, + "id": 6190, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5568, - "src": "24605:7:21", + "referencedDeclaration": 6185, + "src": "25569:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5574, + "id": 6191, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "24605:28:21", + "referencedDeclaration": 10625, + "src": "25569:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5564, - "id": 5575, + "functionReturnParameters": 6181, + "id": 6192, "nodeType": "Return", - "src": "24598:35:21" + "src": "25562:35:28" } ] }, "documentation": "@dev gets the reserve liquidation threshold\n@param _reserve the reserve address\n@return the reserve liquidation threshold*", - "id": 5577, + "id": 6194, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidationThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 5561, + "id": 6178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5560, + "id": 6177, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "24468:16:21", + "scope": 6194, + "src": "25432:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57517,10 +58211,10 @@ "typeString": "address" }, "typeName": { - "id": 5559, + "id": 6176, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24468:7:21", + "src": "25432:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57531,19 +58225,19 @@ "visibility": "internal" } ], - "src": "24467:18:21" + "src": "25431:18:28" }, "returnParameters": { - "id": 5564, + "id": 6181, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5563, + "id": 6180, "name": "", "nodeType": "VariableDeclaration", - "scope": 5577, - "src": "24509:7:21", + "scope": 6194, + "src": "25473:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57551,10 +58245,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5562, + "id": 6179, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24509:7:21", + "src": "25473:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57564,47 +58258,47 @@ "visibility": "internal" } ], - "src": "24508:9:21" + "src": "25472:9:28" }, - "scope": 7812, - "src": "24428:212:21", + "scope": 8443, + "src": "25392:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5595, + "id": 6212, "nodeType": "Block", - "src": "24881:118:21", + "src": "25845:118:28", "statements": [ { "assignments": [ - 5587 + 6204 ], "declarations": [ { "constant": false, - "id": 5587, + "id": 6204, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5595, - "src": "24891:39:21", + "scope": 6212, + "src": "25855:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5586, + "id": 6203, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "24891:23:21", + "referencedDeclaration": 10646, + "src": "25855:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -57612,31 +58306,31 @@ "visibility": "internal" } ], - "id": 5591, + "id": 6208, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5588, + "id": 6205, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "24933:8:21", + "referencedDeclaration": 5152, + "src": "25897:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5590, + "id": 6207, "indexExpression": { "argumentTypes": null, - "id": 5589, + "id": 6206, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5579, - "src": "24942:8:21", + "referencedDeclaration": 6196, + "src": "25906:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57647,70 +58341,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "24933:18:21", + "src": "25897:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "24891:60:21" + "src": "25855:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5592, + "id": 6209, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "24968:7:21", + "referencedDeclaration": 6204, + "src": "25932:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5593, + "id": 6210, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "24968:24:21", + "referencedDeclaration": 10627, + "src": "25932:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5583, - "id": 5594, + "functionReturnParameters": 6200, + "id": 6211, "nodeType": "Return", - "src": "24961:31:21" + "src": "25925:31:28" } ] }, "documentation": "@dev gets the reserve liquidation bonus\n@param _reserve the reserve address\n@return the reserve liquidation bonus*", - "id": 5596, + "id": 6213, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidationBonus", "nodeType": "FunctionDefinition", "parameters": { - "id": 5580, + "id": 6197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5579, + "id": 6196, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5596, - "src": "24831:16:21", + "scope": 6213, + "src": "25795:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57718,10 +58412,10 @@ "typeString": "address" }, "typeName": { - "id": 5578, + "id": 6195, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24831:7:21", + "src": "25795:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57732,19 +58426,19 @@ "visibility": "internal" } ], - "src": "24830:18:21" + "src": "25794:18:28" }, "returnParameters": { - "id": 5583, + "id": 6200, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5582, + "id": 6199, "name": "", "nodeType": "VariableDeclaration", - "scope": 5596, - "src": "24872:7:21", + "scope": 6213, + "src": "25836:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57752,10 +58446,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5581, + "id": 6198, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24872:7:21", + "src": "25836:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57765,47 +58459,47 @@ "visibility": "internal" } ], - "src": "24871:9:21" + "src": "25835:9:28" }, - "scope": 7812, - "src": "24795:204:21", + "scope": 8443, + "src": "25759:204:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5627, + "id": 6244, "nodeType": "Block", - "src": "25329:339:21", + "src": "26293:339:28", "statements": [ { "assignments": [ - 5606 + 6223 ], "declarations": [ { "constant": false, - "id": 5606, + "id": 6223, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5627, - "src": "25339:39:21", + "scope": 6244, + "src": "26303:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5605, + "id": 6222, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "25339:23:21", + "referencedDeclaration": 10646, + "src": "26303:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -57813,31 +58507,31 @@ "visibility": "internal" } ], - "id": 5610, + "id": 6227, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5607, + "id": 6224, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "25381:8:21", + "referencedDeclaration": 5152, + "src": "26345:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5609, + "id": 6226, "indexExpression": { "argumentTypes": null, - "id": 5608, + "id": 6225, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5598, - "src": "25390:8:21", + "referencedDeclaration": 6215, + "src": "26354:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57848,14 +58542,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "25381:18:21", + "src": "26345:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "25339:60:21" + "src": "26303:60:28" }, { "condition": { @@ -57864,7 +58558,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5614, + "id": 6231, "isConstant": false, "isLValue": false, "isPure": false, @@ -57873,26 +58567,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5611, + "id": 6228, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25414:7:21", + "referencedDeclaration": 6223, + "src": "26378:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5612, + "id": 6229, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "25414:33:21", + "referencedDeclaration": 10615, + "src": "26378:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -57903,14 +58597,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5613, + "id": 6230, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "25451:1:21", + "src": "26415:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -57918,20 +58612,20 @@ }, "value": "0" }, - "src": "25414:38:21", + "src": "26378:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5623, + "id": 6240, "nodeType": "IfStatement", - "src": "25410:202:21", + "src": "26374:202:28", "trueBody": { - "id": 5622, + "id": 6239, "nodeType": "Block", - "src": "25454:158:21", + "src": "26418:158:28", "statements": [ { "expression": { @@ -57946,26 +58640,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5616, + "id": 6233, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25520:7:21", + "referencedDeclaration": 6223, + "src": "26484:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5617, + "id": 6234, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "25520:35:21", + "referencedDeclaration": 10633, + "src": "26484:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -57979,18 +58673,18 @@ "typeString": "address" } ], - "id": 5615, + "id": 6232, "name": "IReserveInterestRateStrategy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "25491:28:21", + "referencedDeclaration": 2519, + "src": "26455:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$1698_$", + "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$2519_$", "typeString": "type(contract IReserveInterestRateStrategy)" } }, - "id": 5618, + "id": 6235, "isConstant": false, "isLValue": false, "isPure": false, @@ -57998,27 +58692,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25491:65:21", + "src": "26455:65:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$1698", + "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$2519", "typeString": "contract IReserveInterestRateStrategy" } }, - "id": 5619, + "id": 6236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getBaseVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "25491:108:21", + "referencedDeclaration": 2499, + "src": "26455:108:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 5620, + "id": 6237, "isConstant": false, "isLValue": false, "isPure": false, @@ -58026,16 +58720,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "25491:110:21", + "src": "26455:110:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5602, - "id": 5621, + "functionReturnParameters": 6219, + "id": 6238, "nodeType": "Return", - "src": "25468:133:21" + "src": "26432:133:28" } ] } @@ -58045,56 +58739,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5624, + "id": 6241, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5606, - "src": "25628:7:21", + "referencedDeclaration": 6223, + "src": "26592:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5625, + "id": 6242, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "25628:33:21", + "referencedDeclaration": 10615, + "src": "26592:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5602, - "id": 5626, + "functionReturnParameters": 6219, + "id": 6243, "nodeType": "Return", - "src": "25621:40:21" + "src": "26585:40:28" } ] }, "documentation": "@dev gets the reserve current variable borrow rate. Is the base variable borrow rate if the reserve is empty\n@param _reserve the reserve address\n@return the reserve current variable borrow rate*", - "id": 5628, + "id": 6245, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentVariableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5599, + "id": 6216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5598, + "id": 6215, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "25279:16:21", + "scope": 6245, + "src": "26243:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58102,10 +58796,10 @@ "typeString": "address" }, "typeName": { - "id": 5597, + "id": 6214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "25279:7:21", + "src": "26243:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58116,19 +58810,19 @@ "visibility": "internal" } ], - "src": "25278:18:21" + "src": "26242:18:28" }, "returnParameters": { - "id": 5602, + "id": 6219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5601, + "id": 6218, "name": "", "nodeType": "VariableDeclaration", - "scope": 5628, - "src": "25320:7:21", + "scope": 6245, + "src": "26284:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58136,10 +58830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5600, + "id": 6217, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25320:7:21", + "src": "26284:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58149,47 +58843,47 @@ "visibility": "internal" } ], - "src": "25319:9:21" + "src": "26283:9:28" }, - "scope": 7812, - "src": "25234:434:21", + "scope": 8443, + "src": "26198:434:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5665, + "id": 6282, "nodeType": "Block", - "src": "25976:385:21", + "src": "26940:385:28", "statements": [ { "assignments": [ - 5638 + 6255 ], "declarations": [ { "constant": false, - "id": 5638, + "id": 6255, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5665, - "src": "25986:39:21", + "scope": 6282, + "src": "26950:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5637, + "id": 6254, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "25986:23:21", + "referencedDeclaration": 10646, + "src": "26950:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -58197,31 +58891,31 @@ "visibility": "internal" } ], - "id": 5642, + "id": 6259, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5639, + "id": 6256, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "26028:8:21", + "referencedDeclaration": 5152, + "src": "26992:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5641, + "id": 6258, "indexExpression": { "argumentTypes": null, - "id": 5640, + "id": 6257, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "26037:8:21", + "referencedDeclaration": 6247, + "src": "27001:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -58232,42 +58926,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26028:18:21", + "src": "26992:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "25986:60:21" + "src": "26950:60:28" }, { "assignments": [ - 5644 + 6261 ], "declarations": [ { "constant": false, - "id": 5644, + "id": 6261, "name": "oracle", "nodeType": "VariableDeclaration", - "scope": 5665, - "src": "26056:25:21", + "scope": 6282, + "src": "27020:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" }, "typeName": { "contractScope": null, - "id": 5643, + "id": 6260, "name": "ILendingRateOracle", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1644, - "src": "26056:18:21", + "referencedDeclaration": 2364, + "src": "27020:18:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, @@ -58275,7 +58969,7 @@ "visibility": "internal" } ], - "id": 5650, + "id": 6267, "initialValue": { "argumentTypes": null, "arguments": [ @@ -58286,18 +58980,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5646, + "id": 6263, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "26103:17:21", + "referencedDeclaration": 5122, + "src": "27067:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 5647, + "id": 6264, "isConstant": false, "isLValue": false, "isPure": false, @@ -58305,13 +58999,13 @@ "memberName": "getLendingRateOracle", "nodeType": "MemberAccess", "referencedDeclaration": 458, - "src": "26103:38:21", + "src": "27067:38:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 5648, + "id": 6265, "isConstant": false, "isLValue": false, "isPure": false, @@ -58319,7 +59013,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26103:40:21", + "src": "27067:40:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -58333,18 +59027,18 @@ "typeString": "address" } ], - "id": 5645, + "id": 6262, "name": "ILendingRateOracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "26084:18:21", + "referencedDeclaration": 2364, + "src": "27048:18:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ILendingRateOracle_$1644_$", + "typeIdentifier": "t_type$_t_contract$_ILendingRateOracle_$2364_$", "typeString": "type(contract ILendingRateOracle)" } }, - "id": 5649, + "id": 6266, "isConstant": false, "isLValue": false, "isPure": false, @@ -58352,14 +59046,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26084:60:21", + "src": "27048:60:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, "nodeType": "VariableDeclarationStatement", - "src": "26056:88:21" + "src": "27020:88:28" }, { "condition": { @@ -58368,7 +59062,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5654, + "id": 6271, "isConstant": false, "isLValue": false, "isPure": false, @@ -58377,26 +59071,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5651, + "id": 6268, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5638, - "src": "26159:7:21", + "referencedDeclaration": 6255, + "src": "27123:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5652, + "id": 6269, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "26159:31:21", + "referencedDeclaration": 10617, + "src": "27123:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58407,14 +59101,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5653, + "id": 6270, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "26194:1:21", + "src": "27158:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -58422,20 +59116,20 @@ }, "value": "0" }, - "src": "26159:36:21", + "src": "27123:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5661, + "id": 6278, "nodeType": "IfStatement", - "src": "26155:151:21", + "src": "27119:151:28", "trueBody": { - "id": 5660, + "id": 6277, "nodeType": "Block", - "src": "26197:109:21", + "src": "27161:109:28", "statements": [ { "expression": { @@ -58443,12 +59137,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5657, + "id": 6274, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "26286:8:21", + "referencedDeclaration": 6247, + "src": "27250:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -58464,32 +59158,32 @@ ], "expression": { "argumentTypes": null, - "id": 5655, + "id": 6272, "name": "oracle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5644, - "src": "26259:6:21", + "referencedDeclaration": 6261, + "src": "27223:6:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ILendingRateOracle_$1644", + "typeIdentifier": "t_contract$_ILendingRateOracle_$2364", "typeString": "contract ILendingRateOracle" } }, - "id": 5656, + "id": 6273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMarketBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 1636, - "src": "26259:26:21", + "referencedDeclaration": 2356, + "src": "27223:26:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 5658, + "id": 6275, "isConstant": false, "isLValue": false, "isPure": false, @@ -58497,16 +59191,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "26259:36:21", + "src": "27223:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5634, - "id": 5659, + "functionReturnParameters": 6251, + "id": 6276, "nodeType": "Return", - "src": "26252:43:21" + "src": "27216:43:28" } ] } @@ -58516,56 +59210,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5662, + "id": 6279, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5638, - "src": "26323:7:21", + "referencedDeclaration": 6255, + "src": "27287:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5663, + "id": 6280, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "26323:31:21", + "referencedDeclaration": 10617, + "src": "27287:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5634, - "id": 5664, + "functionReturnParameters": 6251, + "id": 6281, "nodeType": "Return", - "src": "26316:38:21" + "src": "27280:38:28" } ] }, "documentation": "@dev gets the reserve current stable borrow rate. Is the market rate if the reserve is empty\n@param _reserve the reserve address\n@return the reserve current stable borrow rate*", - "id": 5666, + "id": 6283, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5631, + "id": 6248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5630, + "id": 6247, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5666, - "src": "25928:16:21", + "scope": 6283, + "src": "26892:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58573,10 +59267,10 @@ "typeString": "address" }, "typeName": { - "id": 5629, + "id": 6246, "name": "address", "nodeType": "ElementaryTypeName", - "src": "25928:7:21", + "src": "26892:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58587,19 +59281,19 @@ "visibility": "internal" } ], - "src": "25927:18:21" + "src": "26891:18:28" }, "returnParameters": { - "id": 5634, + "id": 6251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5633, + "id": 6250, "name": "", "nodeType": "VariableDeclaration", - "scope": 5666, - "src": "25967:7:21", + "scope": 6283, + "src": "26931:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58607,10 +59301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5632, + "id": 6249, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25967:7:21", + "src": "26931:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58620,47 +59314,47 @@ "visibility": "internal" } ], - "src": "25966:9:21" + "src": "26930:9:28" }, - "scope": 7812, - "src": "25885:476:21", + "scope": 8443, + "src": "26849:476:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5684, + "id": 6301, "nodeType": "Block", - "src": "26756:132:21", + "src": "27720:132:28", "statements": [ { "assignments": [ - 5676 + 6293 ], "declarations": [ { "constant": false, - "id": 5676, + "id": 6293, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5684, - "src": "26766:39:21", + "scope": 6301, + "src": "27730:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5675, + "id": 6292, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "26766:23:21", + "referencedDeclaration": 10646, + "src": "27730:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -58668,31 +59362,31 @@ "visibility": "internal" } ], - "id": 5680, + "id": 6297, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5677, + "id": 6294, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "26808:8:21", + "referencedDeclaration": 5152, + "src": "27772:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5679, + "id": 6296, "indexExpression": { "argumentTypes": null, - "id": 5678, + "id": 6295, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5668, - "src": "26817:8:21", + "referencedDeclaration": 6285, + "src": "27781:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -58703,70 +59397,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "26808:18:21", + "src": "27772:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "26766:60:21" + "src": "27730:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5681, + "id": 6298, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5676, - "src": "26843:7:21", + "referencedDeclaration": 6293, + "src": "27807:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5682, + "id": 6299, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentAverageStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "26843:38:21", + "referencedDeclaration": 10619, + "src": "27807:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5672, - "id": 5683, + "functionReturnParameters": 6289, + "id": 6300, "nodeType": "Return", - "src": "26836:45:21" + "src": "27800:45:28" } ] }, "documentation": "@dev gets the reserve average stable borrow rate. The average stable rate is the weighted average\nof all the loans taken at stable rate.\n@param _reserve the reserve address\n@return the reserve current average borrow rate*", - "id": 5685, + "id": 6302, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentAverageStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5669, + "id": 6286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5668, + "id": 6285, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5685, - "src": "26678:16:21", + "scope": 6302, + "src": "27642:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58774,10 +59468,10 @@ "typeString": "address" }, "typeName": { - "id": 5667, + "id": 6284, "name": "address", "nodeType": "ElementaryTypeName", - "src": "26678:7:21", + "src": "27642:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58788,19 +59482,19 @@ "visibility": "internal" } ], - "src": "26677:18:21" + "src": "27641:18:28" }, "returnParameters": { - "id": 5672, + "id": 6289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5671, + "id": 6288, "name": "", "nodeType": "VariableDeclaration", - "scope": 5685, - "src": "26743:7:21", + "scope": 6302, + "src": "27707:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58808,10 +59502,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5670, + "id": 6287, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26743:7:21", + "src": "27707:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58821,47 +59515,47 @@ "visibility": "internal" } ], - "src": "26742:9:21" + "src": "27706:9:28" }, - "scope": 7812, - "src": "26628:260:21", + "scope": 8443, + "src": "27592:260:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5703, + "id": 6320, "nodeType": "Block", - "src": "27126:122:21", + "src": "28090:122:28", "statements": [ { "assignments": [ - 5695 + 6312 ], "declarations": [ { "constant": false, - "id": 5695, + "id": 6312, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5703, - "src": "27136:39:21", + "scope": 6320, + "src": "28100:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5694, + "id": 6311, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27136:23:21", + "referencedDeclaration": 10646, + "src": "28100:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -58869,31 +59563,31 @@ "visibility": "internal" } ], - "id": 5699, + "id": 6316, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5696, + "id": 6313, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27178:8:21", + "referencedDeclaration": 5152, + "src": "28142:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5698, + "id": 6315, "indexExpression": { "argumentTypes": null, - "id": 5697, + "id": 6314, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5687, - "src": "27187:8:21", + "referencedDeclaration": 6304, + "src": "28151:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -58904,70 +59598,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27178:18:21", + "src": "28142:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27136:60:21" + "src": "28100:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5700, + "id": 6317, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "27213:7:21", + "referencedDeclaration": 6312, + "src": "28177:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5701, + "id": 6318, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentLiquidityRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "27213:28:21", + "referencedDeclaration": 10609, + "src": "28177:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5691, - "id": 5702, + "functionReturnParameters": 6308, + "id": 6319, "nodeType": "Return", - "src": "27206:35:21" + "src": "28170:35:28" } ] }, "documentation": "@dev gets the reserve liquidity rate\n@param _reserve the reserve address\n@return the reserve liquidity rate*", - "id": 5704, + "id": 6321, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveCurrentLiquidityRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5688, + "id": 6305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5687, + "id": 6304, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5704, - "src": "27076:16:21", + "scope": 6321, + "src": "28040:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58975,10 +59669,10 @@ "typeString": "address" }, "typeName": { - "id": 5686, + "id": 6303, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27076:7:21", + "src": "28040:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -58989,19 +59683,19 @@ "visibility": "internal" } ], - "src": "27075:18:21" + "src": "28039:18:28" }, "returnParameters": { - "id": 5691, + "id": 6308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5690, + "id": 6307, "name": "", "nodeType": "VariableDeclaration", - "scope": 5704, - "src": "27117:7:21", + "scope": 6321, + "src": "28081:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59009,10 +59703,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5689, + "id": 6306, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27117:7:21", + "src": "28081:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59022,47 +59716,47 @@ "visibility": "internal" } ], - "src": "27116:9:21" + "src": "28080:9:28" }, - "scope": 7812, - "src": "27036:212:21", + "scope": 8443, + "src": "28000:212:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5722, + "id": 6339, "nodeType": "Block", - "src": "27514:130:21", + "src": "28478:130:28", "statements": [ { "assignments": [ - 5714 + 6331 ], "declarations": [ { "constant": false, - "id": 5714, + "id": 6331, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5722, - "src": "27524:39:21", + "scope": 6339, + "src": "28488:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5713, + "id": 6330, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27524:23:21", + "referencedDeclaration": 10646, + "src": "28488:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -59070,31 +59764,31 @@ "visibility": "internal" } ], - "id": 5718, + "id": 6335, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5715, + "id": 6332, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27566:8:21", + "referencedDeclaration": 5152, + "src": "28530:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5717, + "id": 6334, "indexExpression": { "argumentTypes": null, - "id": 5716, + "id": 6333, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "27575:8:21", + "referencedDeclaration": 6323, + "src": "28539:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -59105,70 +59799,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27566:18:21", + "src": "28530:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27524:60:21" + "src": "28488:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5719, + "id": 6336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, - "src": "27601:7:21", + "referencedDeclaration": 6331, + "src": "28565:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5720, + "id": 6337, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "27601:36:21", + "referencedDeclaration": 10607, + "src": "28565:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5710, - "id": 5721, + "functionReturnParameters": 6327, + "id": 6338, "nodeType": "Return", - "src": "27594:43:21" + "src": "28558:43:28" } ] }, "documentation": "@dev gets the reserve liquidity cumulative index\n@param _reserve the reserve address\n@return the reserve liquidity cumulative index*", - "id": 5723, + "id": 6340, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLiquidityCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 5707, + "id": 6324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5706, + "id": 6323, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5723, - "src": "27464:16:21", + "scope": 6340, + "src": "28428:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59176,10 +59870,10 @@ "typeString": "address" }, "typeName": { - "id": 5705, + "id": 6322, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27464:7:21", + "src": "28428:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59190,19 +59884,19 @@ "visibility": "internal" } ], - "src": "27463:18:21" + "src": "28427:18:28" }, "returnParameters": { - "id": 5710, + "id": 6327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5709, + "id": 6326, "name": "", "nodeType": "VariableDeclaration", - "scope": 5723, - "src": "27505:7:21", + "scope": 6340, + "src": "28469:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59210,10 +59904,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5708, + "id": 6325, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27505:7:21", + "src": "28469:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59223,47 +59917,47 @@ "visibility": "internal" } ], - "src": "27504:9:21" + "src": "28468:9:28" }, - "scope": 7812, - "src": "27420:224:21", + "scope": 8443, + "src": "28384:224:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5741, + "id": 6358, "nodeType": "Block", - "src": "27934:135:21", + "src": "28898:135:28", "statements": [ { "assignments": [ - 5733 + 6350 ], "declarations": [ { "constant": false, - "id": 5733, + "id": 6350, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5741, - "src": "27944:39:21", + "scope": 6358, + "src": "28908:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5732, + "id": 6349, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "27944:23:21", + "referencedDeclaration": 10646, + "src": "28908:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -59271,31 +59965,31 @@ "visibility": "internal" } ], - "id": 5737, + "id": 6354, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5734, + "id": 6351, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "27986:8:21", + "referencedDeclaration": 5152, + "src": "28950:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5736, + "id": 6353, "indexExpression": { "argumentTypes": null, - "id": 5735, + "id": 6352, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5725, - "src": "27995:8:21", + "referencedDeclaration": 6342, + "src": "28959:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -59306,70 +60000,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27986:18:21", + "src": "28950:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "27944:60:21" + "src": "28908:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5738, + "id": 6355, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5733, - "src": "28021:7:21", + "referencedDeclaration": 6350, + "src": "28985:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5739, + "id": 6356, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "28021:41:21", + "referencedDeclaration": 10621, + "src": "28985:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5729, - "id": 5740, + "functionReturnParameters": 6346, + "id": 6357, "nodeType": "Return", - "src": "28014:48:21" + "src": "28978:48:28" } ] }, "documentation": "@dev gets the reserve variable borrow index\n@param _reserve the reserve address\n@return the reserve variable borrow index*", - "id": 5742, + "id": 6359, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveVariableBorrowsCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 5726, + "id": 6343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5725, + "id": 6342, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5742, - "src": "27856:16:21", + "scope": 6359, + "src": "28820:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59377,10 +60071,10 @@ "typeString": "address" }, "typeName": { - "id": 5724, + "id": 6341, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27856:7:21", + "src": "28820:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59391,19 +60085,19 @@ "visibility": "internal" } ], - "src": "27855:18:21" + "src": "28819:18:28" }, "returnParameters": { - "id": 5729, + "id": 6346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5728, + "id": 6345, "name": "", "nodeType": "VariableDeclaration", - "scope": 5742, - "src": "27921:7:21", + "scope": 6359, + "src": "28885:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59411,10 +60105,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5727, + "id": 6344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27921:7:21", + "src": "28885:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59424,32 +60118,32 @@ "visibility": "internal" } ], - "src": "27920:9:21" + "src": "28884:9:28" }, - "scope": 7812, - "src": "27806:263:21", + "scope": 8443, + "src": "28770:263:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5801, + "id": 6418, "nodeType": "Block", - "src": "28669:541:21", + "src": "29633:541:28", "statements": [ { "assignments": [ - 5756 + 6373 ], "declarations": [ { "constant": false, - "id": 5756, + "id": 6373, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28679:16:21", + "scope": 6418, + "src": "29643:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59457,10 +60151,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5755, + "id": 6372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28679:7:21", + "src": "29643:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59470,23 +60164,23 @@ "visibility": "internal" } ], - "id": 5757, + "id": 6374, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28679:16:21" + "src": "29643:16:28" }, { "assignments": [ - 5759 + 6376 ], "declarations": [ { "constant": false, - "id": 5759, + "id": 6376, "name": "baseLTVasCollateral", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28705:27:21", + "scope": 6418, + "src": "29669:27:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59494,10 +60188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5758, + "id": 6375, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28705:7:21", + "src": "29669:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59507,23 +60201,23 @@ "visibility": "internal" } ], - "id": 5760, + "id": 6377, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28705:27:21" + "src": "29669:27:28" }, { "assignments": [ - 5762 + 6379 ], "declarations": [ { "constant": false, - "id": 5762, + "id": 6379, "name": "liquidationThreshold", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28742:28:21", + "scope": 6418, + "src": "29706:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59531,10 +60225,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5761, + "id": 6378, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28742:7:21", + "src": "29706:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59544,23 +60238,23 @@ "visibility": "internal" } ], - "id": 5763, + "id": 6380, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28742:28:21" + "src": "29706:28:28" }, { "assignments": [ - 5765 + 6382 ], "declarations": [ { "constant": false, - "id": 5765, + "id": 6382, "name": "usageAsCollateralEnabled", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28780:29:21", + "scope": 6418, + "src": "29744:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59568,10 +60262,10 @@ "typeString": "bool" }, "typeName": { - "id": 5764, + "id": 6381, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "28780:4:21", + "src": "29744:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -59581,38 +60275,38 @@ "visibility": "internal" } ], - "id": 5766, + "id": 6383, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "28780:29:21" + "src": "29744:29:28" }, { "assignments": [ - 5770 + 6387 ], "declarations": [ { "constant": false, - "id": 5770, + "id": 6387, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5801, - "src": "28820:39:21", + "scope": 6418, + "src": "29784:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5769, + "id": 6386, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "28820:23:21", + "referencedDeclaration": 10646, + "src": "29784:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -59620,31 +60314,31 @@ "visibility": "internal" } ], - "id": 5774, + "id": 6391, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5771, + "id": 6388, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "28862:8:21", + "referencedDeclaration": 5152, + "src": "29826:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5773, + "id": 6390, "indexExpression": { "argumentTypes": null, - "id": 5772, + "id": 6389, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5744, - "src": "28871:8:21", + "referencedDeclaration": 6361, + "src": "29835:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -59655,31 +60349,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "28862:18:21", + "src": "29826:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "28820:60:21" + "src": "29784:60:28" }, { "expression": { "argumentTypes": null, - "id": 5778, + "id": 6395, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5775, + "id": 6392, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "28890:8:21", + "referencedDeclaration": 6373, + "src": "29854:8:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59691,57 +60385,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5776, + "id": 6393, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "28901:7:21", + "referencedDeclaration": 6387, + "src": "29865:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5777, + "id": 6394, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "28901:16:21", + "referencedDeclaration": 10629, + "src": "29865:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28890:27:21", + "src": "29854:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5779, + "id": 6396, "nodeType": "ExpressionStatement", - "src": "28890:27:21" + "src": "29854:27:28" }, { "expression": { "argumentTypes": null, - "id": 5783, + "id": 6400, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5780, + "id": 6397, "name": "baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5759, - "src": "28927:19:21", + "referencedDeclaration": 6376, + "src": "29891:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59753,57 +60447,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5781, + "id": 6398, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "28949:7:21", + "referencedDeclaration": 6387, + "src": "29913:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5782, + "id": 6399, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "28949:27:21", + "referencedDeclaration": 10623, + "src": "29913:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28927:49:21", + "src": "29891:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5784, + "id": 6401, "nodeType": "ExpressionStatement", - "src": "28927:49:21" + "src": "29891:49:28" }, { "expression": { "argumentTypes": null, - "id": 5788, + "id": 6405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5785, + "id": 6402, "name": "liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "28986:20:21", + "referencedDeclaration": 6379, + "src": "29950:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59815,57 +60509,57 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5786, + "id": 6403, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "29009:7:21", + "referencedDeclaration": 6387, + "src": "29973:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5787, + "id": 6404, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "29009:28:21", + "referencedDeclaration": 10625, + "src": "29973:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28986:51:21", + "src": "29950:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5789, + "id": 6406, "nodeType": "ExpressionStatement", - "src": "28986:51:21" + "src": "29950:51:28" }, { "expression": { "argumentTypes": null, - "id": 5793, + "id": 6410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5790, + "id": 6407, "name": "usageAsCollateralEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "29047:24:21", + "referencedDeclaration": 6382, + "src": "30011:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -59877,40 +60571,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5791, + "id": 6408, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5770, - "src": "29074:7:21", + "referencedDeclaration": 6387, + "src": "30038:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5792, + "id": 6409, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "29074:32:21", + "referencedDeclaration": 10639, + "src": "30038:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "29047:59:21", + "src": "30011:59:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 5794, + "id": 6411, "nodeType": "ExpressionStatement", - "src": "29047:59:21" + "src": "30011:59:28" }, { "expression": { @@ -59918,12 +60612,12 @@ "components": [ { "argumentTypes": null, - "id": 5795, + "id": 6412, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5756, - "src": "29125:8:21", + "referencedDeclaration": 6373, + "src": "30089:8:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59931,12 +60625,12 @@ }, { "argumentTypes": null, - "id": 5796, + "id": 6413, "name": "baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5759, - "src": "29135:19:21", + "referencedDeclaration": 6376, + "src": "30099:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59944,12 +60638,12 @@ }, { "argumentTypes": null, - "id": 5797, + "id": 6414, "name": "liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "29156:20:21", + "referencedDeclaration": 6379, + "src": "30120:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59957,56 +60651,56 @@ }, { "argumentTypes": null, - "id": 5798, + "id": 6415, "name": "usageAsCollateralEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "29178:24:21", + "referencedDeclaration": 6382, + "src": "30142:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5799, + "id": 6416, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "29124:79:21", + "src": "30088:79:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$", "typeString": "tuple(uint256,uint256,uint256,bool)" } }, - "functionReturnParameters": 5754, - "id": 5800, + "functionReturnParameters": 6371, + "id": 6417, "nodeType": "Return", - "src": "29117:86:21" + "src": "30081:86:28" } ] }, "documentation": "@dev this function aggregates the configuration parameters of the reserve.\nIt's used in the LendingPoolDataProvider specifically to save gas, and avoid\nmultiple external contract calls to fetch the same data.\n@param _reserve the reserve address\n@return the reserve decimals\n@return the base ltv as collateral\n@return the liquidation threshold\n@return if the reserve is used as collateral or not*", - "id": 5802, + "id": 6419, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveConfiguration", "nodeType": "FunctionDefinition", "parameters": { - "id": 5745, + "id": 6362, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5744, + "id": 6361, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28567:16:21", + "scope": 6419, + "src": "29531:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60014,10 +60708,10 @@ "typeString": "address" }, "typeName": { - "id": 5743, + "id": 6360, "name": "address", "nodeType": "ElementaryTypeName", - "src": "28567:7:21", + "src": "29531:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60028,19 +60722,19 @@ "visibility": "internal" } ], - "src": "28566:18:21" + "src": "29530:18:28" }, "returnParameters": { - "id": 5754, + "id": 6371, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5747, + "id": 6364, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28632:7:21", + "scope": 6419, + "src": "29596:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60048,10 +60742,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5746, + "id": 6363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28632:7:21", + "src": "29596:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60062,11 +60756,11 @@ }, { "constant": false, - "id": 5749, + "id": 6366, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28641:7:21", + "scope": 6419, + "src": "29605:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60074,10 +60768,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5748, + "id": 6365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28641:7:21", + "src": "29605:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60088,11 +60782,11 @@ }, { "constant": false, - "id": 5751, + "id": 6368, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28650:7:21", + "scope": 6419, + "src": "29614:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60100,10 +60794,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5750, + "id": 6367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28650:7:21", + "src": "29614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60114,11 +60808,11 @@ }, { "constant": false, - "id": 5753, + "id": 6370, "name": "", "nodeType": "VariableDeclaration", - "scope": 5802, - "src": "28659:4:21", + "scope": 6419, + "src": "29623:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60126,10 +60820,10 @@ "typeString": "bool" }, "typeName": { - "id": 5752, + "id": 6369, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "28659:4:21", + "src": "29623:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -60139,19 +60833,19 @@ "visibility": "internal" } ], - "src": "28631:33:21" + "src": "29595:33:28" }, - "scope": 7812, - "src": "28534:676:21", + "scope": 8443, + "src": "29498:676:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5814, + "id": 6431, "nodeType": "Block", - "src": "29434:51:21", + "src": "30398:51:28", "statements": [ { "expression": { @@ -60160,26 +60854,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5809, + "id": 6426, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "29451:8:21", + "referencedDeclaration": 5152, + "src": "30415:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5811, + "id": 6428, "indexExpression": { "argumentTypes": null, - "id": 5810, + "id": 6427, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5804, - "src": "29460:8:21", + "referencedDeclaration": 6421, + "src": "30424:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -60190,51 +60884,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "29451:18:21", + "src": "30415:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 5812, + "id": 6429, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "29451:27:21", + "referencedDeclaration": 10629, + "src": "30415:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5808, - "id": 5813, + "functionReturnParameters": 6425, + "id": 6430, "nodeType": "Return", - "src": "29444:34:21" + "src": "30408:34:28" } ] }, "documentation": "@dev returns the decimals of the reserve\n@param _reserve the reserve address\n@return the reserve decimals*", - "id": 5815, + "id": 6432, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveDecimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 5805, + "id": 6422, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5804, + "id": 6421, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5815, - "src": "29384:16:21", + "scope": 6432, + "src": "30348:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60242,10 +60936,10 @@ "typeString": "address" }, "typeName": { - "id": 5803, + "id": 6420, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29384:7:21", + "src": "30348:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60256,19 +60950,19 @@ "visibility": "internal" } ], - "src": "29383:18:21" + "src": "30347:18:28" }, "returnParameters": { - "id": 5808, + "id": 6425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5807, + "id": 6424, "name": "", "nodeType": "VariableDeclaration", - "scope": 5815, - "src": "29425:7:21", + "scope": 6432, + "src": "30389:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60276,10 +60970,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5806, + "id": 6423, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "29425:7:21", + "src": "30389:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60289,47 +60983,47 @@ "visibility": "internal" } ], - "src": "29424:9:21" + "src": "30388:9:28" }, - "scope": 7812, - "src": "29356:129:21", + "scope": 8443, + "src": "30320:129:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5833, + "id": 6450, "nodeType": "Block", - "src": "29772:118:21", + "src": "30736:118:28", "statements": [ { "assignments": [ - 5825 + 6442 ], "declarations": [ { "constant": false, - "id": 5825, + "id": 6442, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5833, - "src": "29782:39:21", + "scope": 6450, + "src": "30746:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5824, + "id": 6441, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "29782:23:21", + "referencedDeclaration": 10646, + "src": "30746:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -60337,31 +61031,31 @@ "visibility": "internal" } ], - "id": 5829, + "id": 6446, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5826, + "id": 6443, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "29824:8:21", + "referencedDeclaration": 5152, + "src": "30788:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5828, + "id": 6445, "indexExpression": { "argumentTypes": null, - "id": 5827, + "id": 6444, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5817, - "src": "29833:8:21", + "referencedDeclaration": 6434, + "src": "30797:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -60372,70 +61066,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "29824:18:21", + "src": "30788:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "29782:60:21" + "src": "30746:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5830, + "id": 6447, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5825, - "src": "29859:7:21", + "referencedDeclaration": 6442, + "src": "30823:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5831, + "id": 6448, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "borrowingEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9560, - "src": "29859:24:21", + "referencedDeclaration": 10637, + "src": "30823:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5821, - "id": 5832, + "functionReturnParameters": 6438, + "id": 6449, "nodeType": "Return", - "src": "29852:31:21" + "src": "30816:31:28" } ] }, "documentation": "@dev returns true if the reserve is enabled for borrowing\n@param _reserve the reserve address\n@return true if the reserve is enabled for borrowing, false otherwise*", - "id": 5834, + "id": 6451, "implemented": true, "kind": "function", "modifiers": [], "name": "isReserveBorrowingEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5818, + "id": 6435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5817, + "id": 6434, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5834, - "src": "29725:16:21", + "scope": 6451, + "src": "30689:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60443,10 +61137,10 @@ "typeString": "address" }, "typeName": { - "id": 5816, + "id": 6433, "name": "address", "nodeType": "ElementaryTypeName", - "src": "29725:7:21", + "src": "30689:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60457,19 +61151,19 @@ "visibility": "internal" } ], - "src": "29724:18:21" + "src": "30688:18:28" }, "returnParameters": { - "id": 5821, + "id": 6438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5820, + "id": 6437, "name": "", "nodeType": "VariableDeclaration", - "scope": 5834, - "src": "29766:4:21", + "scope": 6451, + "src": "30730:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60477,10 +61171,10 @@ "typeString": "bool" }, "typeName": { - "id": 5819, + "id": 6436, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "29766:4:21", + "src": "30730:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -60490,47 +61184,47 @@ "visibility": "internal" } ], - "src": "29765:6:21" + "src": "30729:6:28" }, - "scope": 7812, - "src": "29690:200:21", + "scope": 8443, + "src": "30654:200:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5852, + "id": 6469, "nodeType": "Block", - "src": "30185:126:21", + "src": "31149:126:28", "statements": [ { "assignments": [ - 5844 + 6461 ], "declarations": [ { "constant": false, - "id": 5844, + "id": 6461, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5852, - "src": "30195:39:21", + "scope": 6469, + "src": "31159:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5843, + "id": 6460, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30195:23:21", + "referencedDeclaration": 10646, + "src": "31159:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -60538,31 +61232,31 @@ "visibility": "internal" } ], - "id": 5848, + "id": 6465, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5845, + "id": 6462, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "30237:8:21", + "referencedDeclaration": 5152, + "src": "31201:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5847, + "id": 6464, "indexExpression": { "argumentTypes": null, - "id": 5846, + "id": 6463, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5836, - "src": "30246:8:21", + "referencedDeclaration": 6453, + "src": "31210:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -60573,70 +61267,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30237:18:21", + "src": "31201:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30195:60:21" + "src": "31159:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5849, + "id": 6466, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5844, - "src": "30272:7:21", + "referencedDeclaration": 6461, + "src": "31236:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5850, + "id": 6467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "30272:32:21", + "referencedDeclaration": 10639, + "src": "31236:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5840, - "id": 5851, + "functionReturnParameters": 6457, + "id": 6468, "nodeType": "Return", - "src": "30265:39:21" + "src": "31229:39:28" } ] }, "documentation": "@dev returns true if the reserve is enabled as collateral\n@param _reserve the reserve address\n@return true if the reserve is enabled as collateral, false otherwise*", - "id": 5853, + "id": 6470, "implemented": true, "kind": "function", "modifiers": [], "name": "isReserveUsageAsCollateralEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5837, + "id": 6454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5836, + "id": 6453, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5853, - "src": "30138:16:21", + "scope": 6470, + "src": "31102:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60644,10 +61338,10 @@ "typeString": "address" }, "typeName": { - "id": 5835, + "id": 6452, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30138:7:21", + "src": "31102:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60658,19 +61352,19 @@ "visibility": "internal" } ], - "src": "30137:18:21" + "src": "31101:18:28" }, "returnParameters": { - "id": 5840, + "id": 6457, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5839, + "id": 6456, "name": "", "nodeType": "VariableDeclaration", - "scope": 5853, - "src": "30179:4:21", + "scope": 6470, + "src": "31143:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60678,10 +61372,10 @@ "typeString": "bool" }, "typeName": { - "id": 5838, + "id": 6455, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30179:4:21", + "src": "31143:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -60691,47 +61385,47 @@ "visibility": "internal" } ], - "src": "30178:6:21" + "src": "31142:6:28" }, - "scope": 7812, - "src": "30095:216:21", + "scope": 8443, + "src": "31059:216:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5871, + "id": 6488, "nodeType": "Block", - "src": "30609:127:21", + "src": "31573:127:28", "statements": [ { "assignments": [ - 5863 + 6480 ], "declarations": [ { "constant": false, - "id": 5863, + "id": 6480, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5871, - "src": "30619:39:21", + "scope": 6488, + "src": "31583:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5862, + "id": 6479, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30619:23:21", + "referencedDeclaration": 10646, + "src": "31583:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -60739,31 +61433,31 @@ "visibility": "internal" } ], - "id": 5867, + "id": 6484, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5864, + "id": 6481, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "30661:8:21", + "referencedDeclaration": 5152, + "src": "31625:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5866, + "id": 6483, "indexExpression": { "argumentTypes": null, - "id": 5865, + "id": 6482, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5855, - "src": "30670:8:21", + "referencedDeclaration": 6472, + "src": "31634:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -60774,70 +61468,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "30661:18:21", + "src": "31625:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30619:60:21" + "src": "31583:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5868, + "id": 6485, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5863, - "src": "30696:7:21", + "referencedDeclaration": 6480, + "src": "31660:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5869, + "id": 6486, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "30696:33:21", + "referencedDeclaration": 10641, + "src": "31660:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5859, - "id": 5870, + "functionReturnParameters": 6476, + "id": 6487, "nodeType": "Return", - "src": "30689:40:21" + "src": "31653:40:28" } ] }, "documentation": "@dev returns true if the stable rate is enabled on reserve\n@param _reserve the reserve address\n@return true if the stable rate is enabled on reserve, false otherwise*", - "id": 5872, + "id": 6489, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsStableBorrowRateEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5856, + "id": 6473, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5855, + "id": 6472, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5872, - "src": "30562:16:21", + "scope": 6489, + "src": "31526:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60845,10 +61539,10 @@ "typeString": "address" }, "typeName": { - "id": 5854, + "id": 6471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30562:7:21", + "src": "31526:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60859,19 +61553,19 @@ "visibility": "internal" } ], - "src": "30561:18:21" + "src": "31525:18:28" }, "returnParameters": { - "id": 5859, + "id": 6476, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5858, + "id": 6475, "name": "", "nodeType": "VariableDeclaration", - "scope": 5872, - "src": "30603:4:21", + "scope": 6489, + "src": "31567:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60879,10 +61573,10 @@ "typeString": "bool" }, "typeName": { - "id": 5857, + "id": 6474, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30603:4:21", + "src": "31567:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -60892,47 +61586,47 @@ "visibility": "internal" } ], - "src": "30602:6:21" + "src": "31566:6:28" }, - "scope": 7812, - "src": "30517:219:21", + "scope": 8443, + "src": "31481:219:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5890, + "id": 6507, "nodeType": "Block", - "src": "30985:110:21", + "src": "31949:110:28", "statements": [ { "assignments": [ - 5882 + 6499 ], "declarations": [ { "constant": false, - "id": 5882, + "id": 6499, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5890, - "src": "30995:39:21", + "scope": 6507, + "src": "31959:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5881, + "id": 6498, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "30995:23:21", + "referencedDeclaration": 10646, + "src": "31959:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -60940,31 +61634,31 @@ "visibility": "internal" } ], - "id": 5886, + "id": 6503, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5883, + "id": 6500, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31037:8:21", + "referencedDeclaration": 5152, + "src": "32001:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5885, + "id": 6502, "indexExpression": { "argumentTypes": null, - "id": 5884, + "id": 6501, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5874, - "src": "31046:8:21", + "referencedDeclaration": 6491, + "src": "32010:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -60975,70 +61669,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31037:18:21", + "src": "32001:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "30995:60:21" + "src": "31959:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5887, + "id": 6504, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5882, - "src": "31072:7:21", + "referencedDeclaration": 6499, + "src": "32036:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5888, + "id": 6505, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "31072:16:21", + "referencedDeclaration": 10643, + "src": "32036:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5878, - "id": 5889, + "functionReturnParameters": 6495, + "id": 6506, "nodeType": "Return", - "src": "31065:23:21" + "src": "32029:23:28" } ] }, "documentation": "@dev returns true if the reserve is active\n@param _reserve the reserve address\n@return true if the reserve is active, false otherwise*", - "id": 5891, + "id": 6508, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsActive", "nodeType": "FunctionDefinition", "parameters": { - "id": 5875, + "id": 6492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5874, + "id": 6491, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5891, - "src": "30938:16:21", + "scope": 6508, + "src": "31902:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61046,10 +61740,10 @@ "typeString": "address" }, "typeName": { - "id": 5873, + "id": 6490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30938:7:21", + "src": "31902:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61060,19 +61754,19 @@ "visibility": "internal" } ], - "src": "30937:18:21" + "src": "31901:18:28" }, "returnParameters": { - "id": 5878, + "id": 6495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5877, + "id": 6494, "name": "", "nodeType": "VariableDeclaration", - "scope": 5891, - "src": "30979:4:21", + "scope": 6508, + "src": "31943:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61080,10 +61774,10 @@ "typeString": "bool" }, "typeName": { - "id": 5876, + "id": 6493, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "30979:4:21", + "src": "31943:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -61093,47 +61787,47 @@ "visibility": "internal" } ], - "src": "30978:6:21" + "src": "31942:6:28" }, - "scope": 7812, - "src": "30910:185:21", + "scope": 8443, + "src": "31874:185:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5909, + "id": 6526, "nodeType": "Block", - "src": "31372:111:21", + "src": "32336:111:28", "statements": [ { "assignments": [ - 5901 + 6518 ], "declarations": [ { "constant": false, - "id": 5901, + "id": 6518, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5909, - "src": "31382:39:21", + "scope": 6526, + "src": "32346:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5900, + "id": 6517, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "31382:23:21", + "referencedDeclaration": 10646, + "src": "32346:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -61141,31 +61835,31 @@ "visibility": "internal" } ], - "id": 5905, + "id": 6522, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5902, + "id": 6519, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31424:8:21", + "referencedDeclaration": 5152, + "src": "32388:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5904, + "id": 6521, "indexExpression": { "argumentTypes": null, - "id": 5903, + "id": 6520, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "31433:8:21", + "referencedDeclaration": 6510, + "src": "32397:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61176,70 +61870,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31424:18:21", + "src": "32388:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "31382:60:21" + "src": "32346:60:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5906, + "id": 6523, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5901, - "src": "31459:7:21", + "referencedDeclaration": 6518, + "src": "32423:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5907, + "id": 6524, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "31459:17:21", + "referencedDeclaration": 10645, + "src": "32423:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5897, - "id": 5908, + "functionReturnParameters": 6514, + "id": 6525, "nodeType": "Return", - "src": "31452:24:21" + "src": "32416:24:28" } ] }, "documentation": "@notice returns if a reserve is freezed\n@param _reserve the reserve for which the information is needed\n@return true if the reserve is freezed, false otherwise*", - "id": 5910, + "id": 6527, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveIsFreezed", "nodeType": "FunctionDefinition", "parameters": { - "id": 5894, + "id": 6511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5893, + "id": 6510, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5910, - "src": "31325:16:21", + "scope": 6527, + "src": "32289:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61247,10 +61941,10 @@ "typeString": "address" }, "typeName": { - "id": 5892, + "id": 6509, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31325:7:21", + "src": "32289:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61261,19 +61955,19 @@ "visibility": "internal" } ], - "src": "31324:18:21" + "src": "32288:18:28" }, "returnParameters": { - "id": 5897, + "id": 6514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5896, + "id": 6513, "name": "", "nodeType": "VariableDeclaration", - "scope": 5910, - "src": "31366:4:21", + "scope": 6527, + "src": "32330:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61281,10 +61975,10 @@ "typeString": "bool" }, "typeName": { - "id": 5895, + "id": 6512, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "31366:4:21", + "src": "32330:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -61294,47 +61988,47 @@ "visibility": "internal" } ], - "src": "31365:6:21" + "src": "32329:6:28" }, - "scope": 7812, - "src": "31296:187:21", + "scope": 8443, + "src": "32260:187:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5930, + "id": 6547, "nodeType": "Block", - "src": "31791:126:21", + "src": "32755:126:28", "statements": [ { "assignments": [ - 5920 + 6537 ], "declarations": [ { "constant": false, - "id": 5920, + "id": 6537, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5930, - "src": "31801:39:21", + "scope": 6547, + "src": "32765:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5919, + "id": 6536, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "31801:23:21", + "referencedDeclaration": 10646, + "src": "32765:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -61342,31 +62036,31 @@ "visibility": "internal" } ], - "id": 5924, + "id": 6541, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5921, + "id": 6538, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "31843:8:21", + "referencedDeclaration": 5152, + "src": "32807:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5923, + "id": 6540, "indexExpression": { "argumentTypes": null, - "id": 5922, + "id": 6539, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5912, - "src": "31852:8:21", + "referencedDeclaration": 6529, + "src": "32816:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61377,31 +62071,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "31843:18:21", + "src": "32807:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "31801:60:21" + "src": "32765:60:28" }, { "expression": { "argumentTypes": null, - "id": 5928, + "id": 6545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 5925, + "id": 6542, "name": "timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5915, - "src": "31871:9:21", + "referencedDeclaration": 6532, + "src": "32835:9:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -61413,61 +62107,61 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 5926, + "id": 6543, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5920, - "src": "31883:7:21", + "referencedDeclaration": 6537, + "src": "32847:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5927, + "id": 6544, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9558, - "src": "31883:27:21", + "referencedDeclaration": 10635, + "src": "32847:27:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "31871:39:21", + "src": "32835:39:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 5929, + "id": 6546, "nodeType": "ExpressionStatement", - "src": "31871:39:21" + "src": "32835:39:28" } ] }, "documentation": "@notice returns the timestamp of the last action on the reserve\n@param _reserve the reserve for which the information is needed\n@return the last updated timestamp of the reserve*", - "id": 5931, + "id": 6548, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveLastUpdate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5913, + "id": 6530, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5912, + "id": 6529, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5931, - "src": "31732:16:21", + "scope": 6548, + "src": "32696:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61475,10 +62169,10 @@ "typeString": "address" }, "typeName": { - "id": 5911, + "id": 6528, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31732:7:21", + "src": "32696:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61489,19 +62183,19 @@ "visibility": "internal" } ], - "src": "31731:18:21" + "src": "32695:18:28" }, "returnParameters": { - "id": 5916, + "id": 6533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5915, + "id": 6532, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 5931, - "src": "31773:16:21", + "scope": 6548, + "src": "32737:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61509,10 +62203,10 @@ "typeString": "uint40" }, "typeName": { - "id": 5914, + "id": 6531, "name": "uint40", "nodeType": "ElementaryTypeName", - "src": "31773:6:21", + "src": "32737:6:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -61522,47 +62216,47 @@ "visibility": "internal" } ], - "src": "31772:18:21" + "src": "32736:18:28" }, - "scope": 7812, - "src": "31702:215:21", + "scope": 8443, + "src": "32666:215:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 5973, + "id": 6590, "nodeType": "Block", - "src": "32199:355:21", + "src": "33163:355:28", "statements": [ { "assignments": [ - 5941 + 6558 ], "declarations": [ { "constant": false, - "id": 5941, + "id": 6558, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32209:39:21", + "scope": 6590, + "src": "33173:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 5940, + "id": 6557, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "32209:23:21", + "referencedDeclaration": 10646, + "src": "33173:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -61570,31 +62264,31 @@ "visibility": "internal" } ], - "id": 5945, + "id": 6562, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5942, + "id": 6559, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "32251:8:21", + "referencedDeclaration": 5152, + "src": "33215:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 5944, + "id": 6561, "indexExpression": { "argumentTypes": null, - "id": 5943, + "id": 6560, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "32260:8:21", + "referencedDeclaration": 6550, + "src": "33224:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61605,27 +62299,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "32251:18:21", + "src": "33215:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "32209:60:21" + "src": "33173:60:28" }, { "assignments": [ - 5947 + 6564 ], "declarations": [ { "constant": false, - "id": 5947, + "id": 6564, "name": "totalBorrows", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32280:20:21", + "scope": 6590, + "src": "33244:20:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61633,10 +62327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5946, + "id": 6563, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32280:7:21", + "src": "33244:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61646,7 +62340,7 @@ "visibility": "internal" } ], - "id": 5951, + "id": 6568, "initialValue": { "argumentTypes": null, "arguments": [], @@ -61654,32 +62348,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 5948, + "id": 6565, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5941, - "src": "32303:7:21", + "referencedDeclaration": 6558, + "src": "33267:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 5949, + "id": 6566, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "getTotalBorrows", "nodeType": "MemberAccess", - "referencedDeclaration": 10254, - "src": "32303:23:21", + "referencedDeclaration": 11331, + "src": "33267:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 5950, + "id": 6567, "isConstant": false, "isLValue": false, "isPure": false, @@ -61687,14 +62381,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32303:25:21", + "src": "33267:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32280:48:21" + "src": "33244:48:28" }, { "condition": { @@ -61703,19 +62397,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5954, + "id": 6571, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 5952, + "id": 6569, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32343:12:21", + "referencedDeclaration": 6564, + "src": "33307:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61726,14 +62420,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 5953, + "id": 6570, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32359:1:21", + "src": "33323:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -61741,33 +62435,33 @@ }, "value": "0" }, - "src": "32343:17:21", + "src": "33307:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 5958, + "id": 6575, "nodeType": "IfStatement", - "src": "32339:56:21", + "src": "33303:56:28", "trueBody": { - "id": 5957, + "id": 6574, "nodeType": "Block", - "src": "32362:33:21", + "src": "33326:33:28", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 5955, + "id": 6572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32383:1:21", + "src": "33347:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -61775,26 +62469,26 @@ }, "value": "0" }, - "functionReturnParameters": 5937, - "id": 5956, + "functionReturnParameters": 6554, + "id": 6573, "nodeType": "Return", - "src": "32376:8:21" + "src": "33340:8:28" } ] } }, { "assignments": [ - 5960 + 6577 ], "declarations": [ { "constant": false, - "id": 5960, + "id": 6577, "name": "availableLiquidity", "nodeType": "VariableDeclaration", - "scope": 5973, - "src": "32405:26:21", + "scope": 6590, + "src": "33369:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -61802,10 +62496,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5959, + "id": 6576, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32405:7:21", + "src": "33369:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61815,18 +62509,18 @@ "visibility": "internal" } ], - "id": 5964, + "id": 6581, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 5962, + "id": 6579, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5933, - "src": "32463:8:21", + "referencedDeclaration": 6550, + "src": "33427:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -61840,18 +62534,18 @@ "typeString": "address" } ], - "id": 5961, + "id": 6578, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "32434:28:21", + "referencedDeclaration": 6078, + "src": "33398:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 5963, + "id": 6580, "isConstant": false, "isLValue": false, "isPure": false, @@ -61859,14 +62553,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32434:38:21", + "src": "33398:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "32405:67:21" + "src": "33369:67:28" }, { "expression": { @@ -61877,12 +62571,12 @@ "arguments": [ { "argumentTypes": null, - "id": 5969, + "id": 6586, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32533:12:21", + "referencedDeclaration": 6564, + "src": "33497:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61898,32 +62592,32 @@ ], "expression": { "argumentTypes": null, - "id": 5967, + "id": 6584, "name": "availableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5960, - "src": "32510:18:21", + "referencedDeclaration": 6577, + "src": "33474:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5968, + "id": 6585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "32510:22:21", + "referencedDeclaration": 15070, + "src": "33474:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5970, + "id": 6587, "isConstant": false, "isLValue": false, "isPure": false, @@ -61931,7 +62625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32510:36:21", + "src": "33474:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -61947,32 +62641,32 @@ ], "expression": { "argumentTypes": null, - "id": 5965, + "id": 6582, "name": "totalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5947, - "src": "32490:12:21", + "referencedDeclaration": 6564, + "src": "33454:12:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5966, + "id": 6583, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "rayDiv", "nodeType": "MemberAccess", - "referencedDeclaration": 10419, - "src": "32490:19:21", + "referencedDeclaration": 11523, + "src": "33454:19:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 5971, + "id": 6588, "isConstant": false, "isLValue": false, "isPure": false, @@ -61980,37 +62674,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "32490:57:21", + "src": "33454:57:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5937, - "id": 5972, + "functionReturnParameters": 6554, + "id": 6589, "nodeType": "Return", - "src": "32483:64:21" + "src": "33447:64:28" } ] }, "documentation": "@dev returns the utilization rate U of a specific reserve\n@param _reserve the reserve for which the information is needed\n@return the utilization rate in ray*", - "id": 5974, + "id": 6591, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserveUtilizationRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 5934, + "id": 6551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5933, + "id": 6550, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 5974, - "src": "32151:16:21", + "scope": 6591, + "src": "33115:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62018,10 +62712,10 @@ "typeString": "address" }, "typeName": { - "id": 5932, + "id": 6549, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32151:7:21", + "src": "33115:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62032,19 +62726,19 @@ "visibility": "internal" } ], - "src": "32150:18:21" + "src": "33114:18:28" }, "returnParameters": { - "id": 5937, + "id": 6554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5936, + "id": 6553, "name": "", "nodeType": "VariableDeclaration", - "scope": 5974, - "src": "32190:7:21", + "scope": 6591, + "src": "33154:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62052,10 +62746,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5935, + "id": 6552, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32190:7:21", + "src": "33154:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62065,65 +62759,65 @@ "visibility": "internal" } ], - "src": "32189:9:21" + "src": "33153:9:28" }, - "scope": 7812, - "src": "32116:438:21", + "scope": 8443, + "src": "33080:438:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 5982, + "id": 6599, "nodeType": "Block", - "src": "32699:36:21", + "src": "33663:36:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 5980, + "id": 6597, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "32716:12:21", + "referencedDeclaration": 5161, + "src": "33680:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "functionReturnParameters": 5979, - "id": 5981, + "functionReturnParameters": 6596, + "id": 6598, "nodeType": "Return", - "src": "32709:19:21" + "src": "33673:19:28" } ] }, "documentation": "@return the array of reserves configured on the core*", - "id": 5983, + "id": 6600, "implemented": true, "kind": "function", "modifiers": [], "name": "getReserves", "nodeType": "FunctionDefinition", "parameters": { - "id": 5975, + "id": 6592, "nodeType": "ParameterList", "parameters": [], - "src": "32655:2:21" + "src": "33619:2:28" }, "returnParameters": { - "id": 5979, + "id": 6596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5978, + "id": 6595, "name": "", "nodeType": "VariableDeclaration", - "scope": 5983, - "src": "32681:16:21", + "scope": 6600, + "src": "33645:16:28", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -62132,20 +62826,20 @@ }, "typeName": { "baseType": { - "id": 5976, + "id": 6593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32681:7:21", + "src": "33645:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5977, + "id": 6594, "length": null, "nodeType": "ArrayTypeName", - "src": "32681:9:21", + "src": "33645:9:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -62155,47 +62849,47 @@ "visibility": "internal" } ], - "src": "32680:18:21" + "src": "33644:18:28" }, - "scope": 7812, - "src": "32635:100:21", + "scope": 8443, + "src": "33599:100:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6005, + "id": 6622, "nodeType": "Block", - "src": "33148:130:21", + "src": "34112:130:28", "statements": [ { "assignments": [ - 5995 + 6612 ], "declarations": [ { "constant": false, - "id": 5995, + "id": 6612, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6005, - "src": "33158:40:21", + "scope": 6622, + "src": "34122:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 5994, + "id": 6611, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "33158:27:21", + "referencedDeclaration": 10605, + "src": "34122:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -62203,33 +62897,33 @@ "visibility": "internal" } ], - "id": 6001, + "id": 6618, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 5996, + "id": 6613, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "33201:16:21", + "referencedDeclaration": 5158, + "src": "34165:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 5998, + "id": 6615, "indexExpression": { "argumentTypes": null, - "id": 5997, + "id": 6614, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5987, - "src": "33218:5:21", + "referencedDeclaration": 6604, + "src": "34182:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62240,21 +62934,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33201:23:21", + "src": "34165:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6000, + "id": 6617, "indexExpression": { "argumentTypes": null, - "id": 5999, + "id": 6616, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5985, - "src": "33225:8:21", + "referencedDeclaration": 6602, + "src": "34189:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62265,70 +62959,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33201:33:21", + "src": "34165:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "33158:76:21" + "src": "34122:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6002, + "id": 6619, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "33251:4:21", + "referencedDeclaration": 6612, + "src": "34215:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6003, + "id": 6620, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "useAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9527, - "src": "33251:20:21", + "referencedDeclaration": 10604, + "src": "34215:20:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5991, - "id": 6004, + "functionReturnParameters": 6608, + "id": 6621, "nodeType": "Return", - "src": "33244:27:21" + "src": "34208:27:28" } ] }, "documentation": "@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return true if the user has chosen to use the reserve as collateral, false otherwise*", - "id": 6006, + "id": 6623, "implemented": true, "kind": "function", "modifiers": [], "name": "isUserUseReserveAsCollateralEnabled", "nodeType": "FunctionDefinition", "parameters": { - "id": 5988, + "id": 6605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5985, + "id": 6602, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33058:16:21", + "scope": 6623, + "src": "34022:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62336,10 +63030,10 @@ "typeString": "address" }, "typeName": { - "id": 5984, + "id": 6601, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33058:7:21", + "src": "34022:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62351,11 +63045,11 @@ }, { "constant": false, - "id": 5987, + "id": 6604, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33076:13:21", + "scope": 6623, + "src": "34040:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62363,10 +63057,10 @@ "typeString": "address" }, "typeName": { - "id": 5986, + "id": 6603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33076:7:21", + "src": "34040:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62377,19 +63071,19 @@ "visibility": "internal" } ], - "src": "33057:33:21" + "src": "34021:33:28" }, "returnParameters": { - "id": 5991, + "id": 6608, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5990, + "id": 6607, "name": "", "nodeType": "VariableDeclaration", - "scope": 6006, - "src": "33138:4:21", + "scope": 6623, + "src": "34102:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62397,10 +63091,10 @@ "typeString": "bool" }, "typeName": { - "id": 5989, + "id": 6606, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "33138:4:21", + "src": "34102:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -62410,47 +63104,47 @@ "visibility": "internal" } ], - "src": "33137:6:21" + "src": "34101:6:28" }, - "scope": 7812, - "src": "33013:265:21", + "scope": 8443, + "src": "33977:265:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6028, + "id": 6645, "nodeType": "Block", - "src": "33635:129:21", + "src": "34599:129:28", "statements": [ { "assignments": [ - 6018 + 6635 ], "declarations": [ { "constant": false, - "id": 6018, + "id": 6635, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6028, - "src": "33645:40:21", + "scope": 6645, + "src": "34609:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6017, + "id": 6634, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "33645:27:21", + "referencedDeclaration": 10605, + "src": "34609:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -62458,33 +63152,33 @@ "visibility": "internal" } ], - "id": 6024, + "id": 6641, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6019, + "id": 6636, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "33688:16:21", + "referencedDeclaration": 5158, + "src": "34652:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6021, + "id": 6638, "indexExpression": { "argumentTypes": null, - "id": 6020, + "id": 6637, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6010, - "src": "33705:5:21", + "referencedDeclaration": 6627, + "src": "34669:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62495,21 +63189,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33688:23:21", + "src": "34652:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6023, + "id": 6640, "indexExpression": { "argumentTypes": null, - "id": 6022, + "id": 6639, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6008, - "src": "33712:8:21", + "referencedDeclaration": 6625, + "src": "34676:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62520,70 +63214,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "33688:33:21", + "src": "34652:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "33645:76:21" + "src": "34609:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6025, + "id": 6642, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "33738:4:21", + "referencedDeclaration": 6635, + "src": "34702:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6026, + "id": 6643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "33738:19:21", + "referencedDeclaration": 10598, + "src": "34702:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6014, - "id": 6027, + "functionReturnParameters": 6631, + "id": 6644, "nodeType": "Return", - "src": "33731:26:21" + "src": "34695:26:28" } ] }, "documentation": "@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the origination fee for the user*", - "id": 6029, + "id": 6646, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserOriginationFee", "nodeType": "FunctionDefinition", "parameters": { - "id": 6011, + "id": 6628, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6008, + "id": 6625, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33542:16:21", + "scope": 6646, + "src": "34506:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62591,10 +63285,10 @@ "typeString": "address" }, "typeName": { - "id": 6007, + "id": 6624, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33542:7:21", + "src": "34506:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62606,11 +63300,11 @@ }, { "constant": false, - "id": 6010, + "id": 6627, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33560:13:21", + "scope": 6646, + "src": "34524:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62618,10 +63312,10 @@ "typeString": "address" }, "typeName": { - "id": 6009, + "id": 6626, "name": "address", "nodeType": "ElementaryTypeName", - "src": "33560:7:21", + "src": "34524:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62632,19 +63326,19 @@ "visibility": "internal" } ], - "src": "33541:33:21" + "src": "34505:33:28" }, "returnParameters": { - "id": 6014, + "id": 6631, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6013, + "id": 6630, "name": "", "nodeType": "VariableDeclaration", - "scope": 6029, - "src": "33622:7:21", + "scope": 6646, + "src": "34586:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62652,10 +63346,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6012, + "id": 6629, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "33622:7:21", + "src": "34586:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62665,47 +63359,47 @@ "visibility": "internal" } ], - "src": "33621:9:21" + "src": "34585:9:28" }, - "scope": 7812, - "src": "33511:253:21", + "scope": 8443, + "src": "34475:253:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6070, + "id": 6687, "nodeType": "Block", - "src": "34223:363:21", + "src": "35187:363:28", "statements": [ { "assignments": [ - 6041 + 6658 ], "declarations": [ { "constant": false, - "id": 6041, + "id": 6658, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6070, - "src": "34233:40:21", + "scope": 6687, + "src": "35197:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6040, + "id": 6657, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "34233:27:21", + "referencedDeclaration": 10605, + "src": "35197:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -62713,33 +63407,33 @@ "visibility": "internal" } ], - "id": 6047, + "id": 6664, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6042, + "id": 6659, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "34276:16:21", + "referencedDeclaration": 5158, + "src": "35240:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6044, + "id": 6661, "indexExpression": { "argumentTypes": null, - "id": 6043, + "id": 6660, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6033, - "src": "34293:5:21", + "referencedDeclaration": 6650, + "src": "35257:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62750,21 +63444,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34276:23:21", + "src": "35240:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6046, + "id": 6663, "indexExpression": { "argumentTypes": null, - "id": 6045, + "id": 6662, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6031, - "src": "34300:8:21", + "referencedDeclaration": 6648, + "src": "35264:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -62775,14 +63469,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34276:33:21", + "src": "35240:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "34233:76:21" + "src": "35197:76:28" }, { "condition": { @@ -62791,7 +63485,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6051, + "id": 6668, "isConstant": false, "isLValue": false, "isPure": false, @@ -62800,26 +63494,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6048, + "id": 6665, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "34324:4:21", + "referencedDeclaration": 6658, + "src": "35288:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6049, + "id": 6666, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "34324:27:21", + "referencedDeclaration": 10594, + "src": "35288:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62830,14 +63524,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6050, + "id": 6667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34355:1:21", + "src": "35319:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -62845,20 +63539,20 @@ }, "value": "0" }, - "src": "34324:32:21", + "src": "35288:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6057, + "id": 6674, "nodeType": "IfStatement", - "src": "34320:103:21", + "src": "35284:103:28", "trueBody": { - "id": 6056, + "id": 6673, "nodeType": "Block", - "src": "34358:65:21", + "src": "35322:65:28", "statements": [ { "expression": { @@ -62867,32 +63561,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6052, + "id": 6669, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34379:11:21", + "referencedDeclaration": 11332, + "src": "35343:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6053, + "id": 6670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34379:28:21", + "referencedDeclaration": 10589, + "src": "35343:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6054, + "id": 6671, "isConstant": false, "isLValue": false, "isPure": true, @@ -62900,16 +63594,16 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34379:33:21", + "src": "35343:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 6037, - "id": 6055, + "functionReturnParameters": 6654, + "id": 6672, "nodeType": "Return", - "src": "34372:40:21" + "src": "35336:40:28" } ] } @@ -62923,7 +63617,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6061, + "id": 6678, "isConstant": false, "isLValue": false, "isPure": false, @@ -62932,26 +63626,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6058, + "id": 6675, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "34452:4:21", + "referencedDeclaration": 6658, + "src": "35416:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6059, + "id": 6676, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "34452:21:21", + "referencedDeclaration": 10600, + "src": "35416:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62962,14 +63656,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6060, + "id": 6677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34476:1:21", + "src": "35440:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -62977,7 +63671,7 @@ }, "value": "0" }, - "src": "34452:25:21", + "src": "35416:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -62989,32 +63683,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6065, + "id": 6682, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34542:11:21", + "referencedDeclaration": 11332, + "src": "35506:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6066, + "id": 6683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34542:28:21", + "referencedDeclaration": 10589, + "src": "35506:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6067, + "id": 6684, "isConstant": false, "isLValue": false, "isPure": true, @@ -63022,51 +63716,51 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34542:37:21", + "src": "35506:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 6068, + "id": 6685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "34452:127:21", + "src": "35416:127:28", "trueExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6062, + "id": 6679, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "34492:11:21", + "referencedDeclaration": 11332, + "src": "35456:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6063, + "id": 6680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "34492:28:21", + "referencedDeclaration": 10589, + "src": "35456:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6064, + "id": 6681, "isConstant": false, "isLValue": false, "isPure": true, @@ -63074,42 +63768,42 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "34492:35:21", + "src": "35456:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 6037, - "id": 6069, + "functionReturnParameters": 6654, + "id": 6686, "nodeType": "Return", - "src": "34433:146:21" + "src": "35397:146:28" } ] }, "documentation": "@dev users with no loans in progress have NONE as borrow rate mode\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the borrow rate mode for the user,*", - "id": 6071, + "id": 6688, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentBorrowRateMode", "nodeType": "FunctionDefinition", "parameters": { - "id": 6034, + "id": 6651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6031, + "id": 6648, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34111:16:21", + "scope": 6688, + "src": "35075:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63117,10 +63811,10 @@ "typeString": "address" }, "typeName": { - "id": 6030, + "id": 6647, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34111:7:21", + "src": "35075:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63132,11 +63826,11 @@ }, { "constant": false, - "id": 6033, + "id": 6650, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34129:13:21", + "scope": 6688, + "src": "35093:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63144,10 +63838,10 @@ "typeString": "address" }, "typeName": { - "id": 6032, + "id": 6649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34129:7:21", + "src": "35093:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63158,34 +63852,34 @@ "visibility": "internal" } ], - "src": "34110:33:21" + "src": "35074:33:28" }, "returnParameters": { - "id": 6037, + "id": 6654, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6036, + "id": 6653, "name": "", "nodeType": "VariableDeclaration", - "scope": 6071, - "src": "34189:28:21", + "scope": 6688, + "src": "35153:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6035, + "id": 6652, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "34189:28:21", + "referencedDeclaration": 10589, + "src": "35153:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -63193,47 +63887,47 @@ "visibility": "internal" } ], - "src": "34188:30:21" + "src": "35152:30:28" }, - "scope": 7812, - "src": "34073:513:21", + "scope": 8443, + "src": "35037:513:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 6115, + "id": 6732, "nodeType": "Block", - "src": "34995:397:21", + "src": "35959:397:28", "statements": [ { "assignments": [ - 6083 + 6700 ], "declarations": [ { "constant": false, - "id": 6083, + "id": 6700, "name": "rateMode", "nodeType": "VariableDeclaration", - "scope": 6115, - "src": "35005:37:21", + "scope": 6732, + "src": "35969:37:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6082, + "id": 6699, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "35005:28:21", + "referencedDeclaration": 10589, + "src": "35969:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -63241,18 +63935,18 @@ "visibility": "internal" } ], - "id": 6088, + "id": 6705, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6085, + "id": 6702, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35074:8:21", + "referencedDeclaration": 6690, + "src": "36038:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63260,12 +63954,12 @@ }, { "argumentTypes": null, - "id": 6086, + "id": 6703, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6075, - "src": "35084:5:21", + "referencedDeclaration": 6692, + "src": "36048:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63283,18 +63977,18 @@ "typeString": "address" } ], - "id": 6084, + "id": 6701, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "35045:28:21", + "referencedDeclaration": 6688, + "src": "36009:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 6087, + "id": 6704, "isConstant": false, "isLValue": false, "isPure": false, @@ -63302,37 +63996,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "35045:45:21", + "src": "36009:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "35005:85:21" + "src": "35969:85:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6093, + "id": 6710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6089, + "id": 6706, "name": "rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "35105:8:21", + "referencedDeclaration": 6700, + "src": "36069:8:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -63344,32 +64038,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6090, + "id": 6707, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "35117:11:21", + "referencedDeclaration": 11332, + "src": "36081:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6091, + "id": 6708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "35117:28:21", + "referencedDeclaration": 10589, + "src": "36081:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6092, + "id": 6709, "isConstant": false, "isLValue": false, "isPure": true, @@ -63377,39 +64071,39 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "35117:33:21", + "src": "36081:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "35105:45:21", + "src": "36069:45:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6097, + "id": 6714, "nodeType": "IfStatement", - "src": "35101:84:21", + "src": "36065:84:28", "trueBody": { - "id": 6096, + "id": 6713, "nodeType": "Block", - "src": "35152:33:21", + "src": "36116:33:28", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 6094, + "id": 6711, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35173:1:21", + "src": "36137:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -63417,10 +64111,10 @@ }, "value": "0" }, - "functionReturnParameters": 6079, - "id": 6095, + "functionReturnParameters": 6696, + "id": 6712, "nodeType": "Return", - "src": "35166:8:21" + "src": "36130:8:28" } ] } @@ -63431,24 +64125,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6102, + "id": 6719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6098, + "id": 6715, "name": "rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "35214:8:21", + "referencedDeclaration": 6700, + "src": "36178:8:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -63460,32 +64154,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6099, + "id": 6716, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "35226:11:21", + "referencedDeclaration": 11332, + "src": "36190:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6100, + "id": 6717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "35226:28:21", + "referencedDeclaration": 10589, + "src": "36190:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6101, + "id": 6718, "isConstant": false, "isLValue": false, "isPure": true, @@ -63493,13 +64187,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "35226:35:21", + "src": "36190:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "35214:47:21", + "src": "36178:47:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -63511,26 +64205,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6109, + "id": 6726, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "35341:8:21", + "referencedDeclaration": 5152, + "src": "36305:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6111, + "id": 6728, "indexExpression": { "argumentTypes": null, - "id": 6110, + "id": 6727, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35350:8:21", + "referencedDeclaration": 6690, + "src": "36314:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63541,33 +64235,33 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35341:18:21", + "src": "36305:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6112, + "id": 6729, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "35341:44:21", + "referencedDeclaration": 10615, + "src": "36305:44:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6113, + "id": 6730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "35214:171:21", + "src": "36178:171:28", "trueExpression": { "argumentTypes": null, "expression": { @@ -63576,26 +64270,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6103, + "id": 6720, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "35276:16:21", + "referencedDeclaration": 5158, + "src": "36240:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6105, + "id": 6722, "indexExpression": { "argumentTypes": null, - "id": 6104, + "id": 6721, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6075, - "src": "35293:5:21", + "referencedDeclaration": 6692, + "src": "36257:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63606,21 +64300,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35276:23:21", + "src": "36240:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6107, + "id": 6724, "indexExpression": { "argumentTypes": null, - "id": 6106, + "id": 6723, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6073, - "src": "35300:8:21", + "referencedDeclaration": 6690, + "src": "36264:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63631,21 +64325,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35276:33:21", + "src": "36240:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, - "id": 6108, + "id": 6725, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "35276:50:21", + "referencedDeclaration": 10600, + "src": "36240:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63656,31 +64350,31 @@ "typeString": "uint256" } }, - "functionReturnParameters": 6079, - "id": 6114, + "functionReturnParameters": 6696, + "id": 6731, "nodeType": "Return", - "src": "35195:190:21" + "src": "36159:190:28" } ] }, "documentation": "@dev gets the current borrow rate of the user\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the borrow rate for the user,*", - "id": 6116, + "id": 6733, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6076, + "id": 6693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6073, + "id": 6690, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34902:16:21", + "scope": 6733, + "src": "35866:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63688,10 +64382,10 @@ "typeString": "address" }, "typeName": { - "id": 6072, + "id": 6689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34902:7:21", + "src": "35866:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63703,11 +64397,11 @@ }, { "constant": false, - "id": 6075, + "id": 6692, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34920:13:21", + "scope": 6733, + "src": "35884:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63715,10 +64409,10 @@ "typeString": "address" }, "typeName": { - "id": 6074, + "id": 6691, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34920:7:21", + "src": "35884:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63729,19 +64423,19 @@ "visibility": "internal" } ], - "src": "34901:33:21" + "src": "35865:33:28" }, "returnParameters": { - "id": 6079, + "id": 6696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6078, + "id": 6695, "name": "", "nodeType": "VariableDeclaration", - "scope": 6116, - "src": "34982:7:21", + "scope": 6733, + "src": "35946:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63749,10 +64443,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6077, + "id": 6694, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34982:7:21", + "src": "35946:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -63762,47 +64456,47 @@ "visibility": "internal" } ], - "src": "34981:9:21" + "src": "35945:9:28" }, - "scope": 7812, - "src": "34868:524:21", + "scope": 8443, + "src": "35832:524:28", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6138, + "id": 6755, "nodeType": "Block", - "src": "35848:131:21", + "src": "36812:131:28", "statements": [ { "assignments": [ - 6128 + 6745 ], "declarations": [ { "constant": false, - "id": 6128, + "id": 6745, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6138, - "src": "35858:40:21", + "scope": 6755, + "src": "36822:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6127, + "id": 6744, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "35858:27:21", + "referencedDeclaration": 10605, + "src": "36822:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -63810,33 +64504,33 @@ "visibility": "internal" } ], - "id": 6134, + "id": 6751, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6129, + "id": 6746, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "35901:16:21", + "referencedDeclaration": 5158, + "src": "36865:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6131, + "id": 6748, "indexExpression": { "argumentTypes": null, - "id": 6130, + "id": 6747, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "35918:5:21", + "referencedDeclaration": 6737, + "src": "36882:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63847,21 +64541,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35901:23:21", + "src": "36865:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6133, + "id": 6750, "indexExpression": { "argumentTypes": null, - "id": 6132, + "id": 6749, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6118, - "src": "35925:8:21", + "referencedDeclaration": 6735, + "src": "36889:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -63872,70 +64566,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "35901:33:21", + "src": "36865:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "35858:76:21" + "src": "36822:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6135, + "id": 6752, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "35951:4:21", + "referencedDeclaration": 6745, + "src": "36915:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6136, + "id": 6753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "35951:21:21", + "referencedDeclaration": 10600, + "src": "36915:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6124, - "id": 6137, + "functionReturnParameters": 6741, + "id": 6754, "nodeType": "Return", - "src": "35944:28:21" + "src": "36908:28:28" } ] }, "documentation": "@dev the stable rate returned is 0 if the user is borrowing at variable or not borrowing at all\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the user stable rate*", - "id": 6139, + "id": 6756, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserCurrentStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6121, + "id": 6738, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6118, + "id": 6735, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35755:16:21", + "scope": 6756, + "src": "36719:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63943,10 +64637,10 @@ "typeString": "address" }, "typeName": { - "id": 6117, + "id": 6734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35755:7:21", + "src": "36719:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63958,11 +64652,11 @@ }, { "constant": false, - "id": 6120, + "id": 6737, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35773:13:21", + "scope": 6756, + "src": "36737:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63970,10 +64664,10 @@ "typeString": "address" }, "typeName": { - "id": 6119, + "id": 6736, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35773:7:21", + "src": "36737:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63984,19 +64678,19 @@ "visibility": "internal" } ], - "src": "35754:33:21" + "src": "36718:33:28" }, "returnParameters": { - "id": 6124, + "id": 6741, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6123, + "id": 6740, "name": "", "nodeType": "VariableDeclaration", - "scope": 6139, - "src": "35835:7:21", + "scope": 6756, + "src": "36799:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64004,10 +64698,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6122, + "id": 6739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "35835:7:21", + "src": "36799:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64017,47 +64711,47 @@ "visibility": "internal" } ], - "src": "35834:9:21" + "src": "36798:9:28" }, - "scope": 7812, - "src": "35715:264:21", + "scope": 8443, + "src": "36679:264:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6196, + "id": 6813, "nodeType": "Block", - "src": "36435:456:21", + "src": "37399:456:28", "statements": [ { "assignments": [ - 6155 + 6772 ], "declarations": [ { "constant": false, - "id": 6155, + "id": 6772, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36445:40:21", + "scope": 6813, + "src": "37409:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6154, + "id": 6771, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "36445:27:21", + "referencedDeclaration": 10605, + "src": "37409:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -64065,33 +64759,33 @@ "visibility": "internal" } ], - "id": 6161, + "id": 6778, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6156, + "id": 6773, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "36488:16:21", + "referencedDeclaration": 5158, + "src": "37452:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6158, + "id": 6775, "indexExpression": { "argumentTypes": null, - "id": 6157, + "id": 6774, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6143, - "src": "36505:5:21", + "referencedDeclaration": 6760, + "src": "37469:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -64102,21 +64796,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36488:23:21", + "src": "37452:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6160, + "id": 6777, "indexExpression": { "argumentTypes": null, - "id": 6159, + "id": 6776, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, - "src": "36512:8:21", + "referencedDeclaration": 6758, + "src": "37476:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -64127,14 +64821,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36488:33:21", + "src": "37452:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "36445:76:21" + "src": "37409:76:28" }, { "condition": { @@ -64143,7 +64837,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6165, + "id": 6782, "isConstant": false, "isLValue": false, "isPure": false, @@ -64152,26 +64846,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6162, + "id": 6779, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36535:4:21", + "referencedDeclaration": 6772, + "src": "37499:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6163, + "id": 6780, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "36535:27:21", + "referencedDeclaration": 10594, + "src": "37499:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64182,14 +64876,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6164, + "id": 6781, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36566:1:21", + "src": "37530:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -64197,20 +64891,20 @@ }, "value": "0" }, - "src": "36535:32:21", + "src": "37499:32:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 6172, + "id": 6789, "nodeType": "IfStatement", - "src": "36531:79:21", + "src": "37495:79:28", "trueBody": { - "id": 6171, + "id": 6788, "nodeType": "Block", - "src": "36569:41:21", + "src": "37533:41:28", "statements": [ { "expression": { @@ -64219,14 +64913,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6166, + "id": 6783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36591:1:21", + "src": "37555:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -64237,14 +64931,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6167, + "id": 6784, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36594:1:21", + "src": "37558:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -64255,14 +64949,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6168, + "id": 6785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "36597:1:21", + "src": "37561:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -64271,39 +64965,39 @@ "value": "0" } ], - "id": 6169, + "id": 6786, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "36590:9:21", + "src": "37554:9:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0,int_const 0)" } }, - "functionReturnParameters": 6151, - "id": 6170, + "functionReturnParameters": 6768, + "id": 6787, "nodeType": "Return", - "src": "36583:16:21" + "src": "37547:16:28" } ] } }, { "assignments": [ - 6174 + 6791 ], "declarations": [ { "constant": false, - "id": 6174, + "id": 6791, "name": "principal", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36620:17:21", + "scope": 6813, + "src": "37584:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64311,10 +65005,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6173, + "id": 6790, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36620:7:21", + "src": "37584:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64324,51 +65018,51 @@ "visibility": "internal" } ], - "id": 6177, + "id": 6794, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6175, + "id": 6792, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36640:4:21", + "referencedDeclaration": 6772, + "src": "37604:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6176, + "id": 6793, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "36640:27:21", + "referencedDeclaration": 10594, + "src": "37604:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "36620:47:21" + "src": "37584:47:28" }, { "assignments": [ - 6179 + 6796 ], "declarations": [ { "constant": false, - "id": 6179, + "id": 6796, "name": "compoundedBalance", "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "36677:25:21", + "scope": 6813, + "src": "37641:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64376,10 +65070,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6178, + "id": 6795, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36677:7:21", + "src": "37641:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64389,20 +65083,20 @@ "visibility": "internal" } ], - "id": 6187, + "id": 6804, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6182, + "id": 6799, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6155, - "src": "36757:4:21", + "referencedDeclaration": 6772, + "src": "37721:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, @@ -64410,26 +65104,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6183, + "id": 6800, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "36775:8:21", + "referencedDeclaration": 5152, + "src": "37739:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6185, + "id": 6802, "indexExpression": { "argumentTypes": null, - "id": 6184, + "id": 6801, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6141, - "src": "36784:8:21", + "referencedDeclaration": 6758, + "src": "37748:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -64440,9 +65134,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "36775:18:21", + "src": "37739:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } } @@ -64450,42 +65144,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" }, { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } ], "expression": { "argumentTypes": null, - "id": 6180, + "id": 6797, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "36705:11:21", + "referencedDeclaration": 11332, + "src": "37669:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6181, + "id": 6798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getCompoundedBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9971, - "src": "36705:38:21", + "referencedDeclaration": 11048, + "src": "37669:38:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$9528_storage_ptr_$_t_struct$_ReserveData_$9569_storage_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_UserReserveData_$10605_storage_ptr_$_t_struct$_ReserveData_$10646_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct CoreLibrary.UserReserveData storage pointer,struct CoreLibrary.ReserveData storage pointer) view returns (uint256)" } }, - "id": 6186, + "id": 6803, "isConstant": false, "isLValue": false, "isPure": false, @@ -64493,14 +65187,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "36705:98:21", + "src": "37669:98:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "36677:126:21" + "src": "37641:126:28" }, { "expression": { @@ -64508,12 +65202,12 @@ "components": [ { "argumentTypes": null, - "id": 6188, + "id": 6805, "name": "principal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, - "src": "36821:9:21", + "referencedDeclaration": 6791, + "src": "37785:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64521,12 +65215,12 @@ }, { "argumentTypes": null, - "id": 6189, + "id": 6806, "name": "compoundedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "36832:17:21", + "referencedDeclaration": 6796, + "src": "37796:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64537,12 +65231,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6192, + "id": 6809, "name": "principal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6174, - "src": "36873:9:21", + "referencedDeclaration": 6791, + "src": "37837:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64558,32 +65252,32 @@ ], "expression": { "argumentTypes": null, - "id": 6190, + "id": 6807, "name": "compoundedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "36851:17:21", + "referencedDeclaration": 6796, + "src": "37815:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6191, + "id": 6808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "36851:21:21", + "referencedDeclaration": 15095, + "src": "37815:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6193, + "id": 6810, "isConstant": false, "isLValue": false, "isPure": false, @@ -64591,51 +65285,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "36851:32:21", + "src": "37815:32:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 6194, + "id": 6811, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "36820:64:21", + "src": "37784:64:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, - "functionReturnParameters": 6151, - "id": 6195, + "functionReturnParameters": 6768, + "id": 6812, "nodeType": "Return", - "src": "36813:71:21" + "src": "37777:71:28" } ] }, "documentation": "@dev calculates and returns the borrow balances of the user\n@param _reserve the address of the reserve\n@param _user the address of the user\n@return the principal borrow balance, the compounded balance and the balance increase since the last borrow/repay/swap/rebalance*", - "id": 6197, + "id": 6814, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserBorrowBalances", "nodeType": "FunctionDefinition", "parameters": { - "id": 6144, + "id": 6761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6141, + "id": 6758, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36326:16:21", + "scope": 6814, + "src": "37290:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64643,10 +65337,10 @@ "typeString": "address" }, "typeName": { - "id": 6140, + "id": 6757, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36326:7:21", + "src": "37290:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -64658,11 +65352,11 @@ }, { "constant": false, - "id": 6143, + "id": 6760, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36344:13:21", + "scope": 6814, + "src": "37308:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64670,10 +65364,10 @@ "typeString": "address" }, "typeName": { - "id": 6142, + "id": 6759, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36344:7:21", + "src": "37308:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -64684,19 +65378,19 @@ "visibility": "internal" } ], - "src": "36325:33:21" + "src": "37289:33:28" }, "returnParameters": { - "id": 6151, + "id": 6768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6146, + "id": 6763, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36404:7:21", + "scope": 6814, + "src": "37368:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64704,10 +65398,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6145, + "id": 6762, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36404:7:21", + "src": "37368:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64718,11 +65412,11 @@ }, { "constant": false, - "id": 6148, + "id": 6765, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36413:7:21", + "scope": 6814, + "src": "37377:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64730,10 +65424,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6147, + "id": 6764, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36413:7:21", + "src": "37377:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64744,11 +65438,11 @@ }, { "constant": false, - "id": 6150, + "id": 6767, "name": "", "nodeType": "VariableDeclaration", - "scope": 6197, - "src": "36422:7:21", + "scope": 6814, + "src": "37386:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64756,10 +65450,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6149, + "id": 6766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "36422:7:21", + "src": "37386:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64769,47 +65463,47 @@ "visibility": "internal" } ], - "src": "36403:27:21" + "src": "37367:27:28" }, - "scope": 7812, - "src": "36295:596:21", + "scope": 8443, + "src": "37259:596:28", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 6219, + "id": 6836, "nodeType": "Block", - "src": "37376:148:21", + "src": "38340:148:28", "statements": [ { "assignments": [ - 6209 + 6826 ], "declarations": [ { "constant": false, - "id": 6209, + "id": 6826, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6219, - "src": "37386:40:21", + "scope": 6836, + "src": "38350:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6208, + "id": 6825, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "37386:27:21", + "referencedDeclaration": 10605, + "src": "38350:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -64817,33 +65511,33 @@ "visibility": "internal" } ], - "id": 6215, + "id": 6832, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6210, + "id": 6827, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "37429:16:21", + "referencedDeclaration": 5158, + "src": "38393:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6212, + "id": 6829, "indexExpression": { "argumentTypes": null, - "id": 6211, + "id": 6828, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "37446:5:21", + "referencedDeclaration": 6818, + "src": "38410:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -64854,21 +65548,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "37429:23:21", + "src": "38393:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6214, + "id": 6831, "indexExpression": { "argumentTypes": null, - "id": 6213, + "id": 6830, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6199, - "src": "37453:8:21", + "referencedDeclaration": 6816, + "src": "38417:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -64879,70 +65573,70 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "37429:33:21", + "src": "38393:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "37386:76:21" + "src": "38350:76:28" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6216, + "id": 6833, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6209, - "src": "37479:4:21", + "referencedDeclaration": 6826, + "src": "38443:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6217, + "id": 6834, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "37479:38:21", + "referencedDeclaration": 10596, + "src": "38443:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6205, - "id": 6218, + "functionReturnParameters": 6822, + "id": 6835, "nodeType": "Return", - "src": "37472:45:21" + "src": "38436:45:28" } ] }, "documentation": "@dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the variable borrow index for the user*", - "id": 6220, + "id": 6837, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserVariableBorrowCumulativeIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 6202, + "id": 6819, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6199, + "id": 6816, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37283:16:21", + "scope": 6837, + "src": "38247:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64950,10 +65644,10 @@ "typeString": "address" }, "typeName": { - "id": 6198, + "id": 6815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37283:7:21", + "src": "38247:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -64965,11 +65659,11 @@ }, { "constant": false, - "id": 6201, + "id": 6818, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37301:13:21", + "scope": 6837, + "src": "38265:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64977,10 +65671,10 @@ "typeString": "address" }, "typeName": { - "id": 6200, + "id": 6817, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37301:7:21", + "src": "38265:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -64991,19 +65685,19 @@ "visibility": "internal" } ], - "src": "37282:33:21" + "src": "38246:33:28" }, "returnParameters": { - "id": 6205, + "id": 6822, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6204, + "id": 6821, "name": "", "nodeType": "VariableDeclaration", - "scope": 6220, - "src": "37363:7:21", + "scope": 6837, + "src": "38327:7:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65011,10 +65705,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6203, + "id": 6820, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37363:7:21", + "src": "38327:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65024,47 +65718,47 @@ "visibility": "internal" } ], - "src": "37362:9:21" + "src": "38326:9:28" }, - "scope": 7812, - "src": "37237:287:21", + "scope": 8443, + "src": "38201:287:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6244, + "id": 6861, "nodeType": "Block", - "src": "38000:139:21", + "src": "38964:139:28", "statements": [ { "assignments": [ - 6232 + 6849 ], "declarations": [ { "constant": false, - "id": 6232, + "id": 6849, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6244, - "src": "38010:40:21", + "scope": 6861, + "src": "38974:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6231, + "id": 6848, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "38010:27:21", + "referencedDeclaration": 10605, + "src": "38974:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -65072,33 +65766,33 @@ "visibility": "internal" } ], - "id": 6238, + "id": 6855, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6233, + "id": 6850, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "38053:16:21", + "referencedDeclaration": 5158, + "src": "39017:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6235, + "id": 6852, "indexExpression": { "argumentTypes": null, - "id": 6234, + "id": 6851, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6224, - "src": "38070:5:21", + "referencedDeclaration": 6841, + "src": "39034:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65109,21 +65803,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38053:23:21", + "src": "39017:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6237, + "id": 6854, "indexExpression": { "argumentTypes": null, - "id": 6236, + "id": 6853, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "38077:8:21", + "referencedDeclaration": 6839, + "src": "39041:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65134,31 +65828,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38053:33:21", + "src": "39017:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "38010:76:21" + "src": "38974:76:28" }, { "expression": { "argumentTypes": null, - "id": 6242, + "id": 6859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 6239, + "id": 6856, "name": "timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6227, - "src": "38096:9:21", + "referencedDeclaration": 6844, + "src": "39060:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65170,61 +65864,61 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6240, + "id": 6857, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6232, - "src": "38108:4:21", + "referencedDeclaration": 6849, + "src": "39072:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6241, + "id": 6858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "38108:24:21", + "referencedDeclaration": 10602, + "src": "39072:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "38096:36:21", + "src": "39060:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6243, + "id": 6860, "nodeType": "ExpressionStatement", - "src": "38096:36:21" + "src": "39060:36:28" } ] }, "documentation": "@dev the variable borrow index of the user is 0 if the user is not borrowing or borrowing at stable\n@param _reserve the address of the reserve for which the information is needed\n@param _user the address of the user for which the information is needed\n@return the variable borrow index for the user*", - "id": 6245, + "id": 6862, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserLastUpdate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6225, + "id": 6842, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6222, + "id": 6839, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37897:16:21", + "scope": 6862, + "src": "38861:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65232,10 +65926,10 @@ "typeString": "address" }, "typeName": { - "id": 6221, + "id": 6838, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37897:7:21", + "src": "38861:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65247,11 +65941,11 @@ }, { "constant": false, - "id": 6224, + "id": 6841, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37915:13:21", + "scope": 6862, + "src": "38879:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65259,10 +65953,10 @@ "typeString": "address" }, "typeName": { - "id": 6223, + "id": 6840, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37915:7:21", + "src": "38879:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65273,19 +65967,19 @@ "visibility": "internal" } ], - "src": "37896:33:21" + "src": "38860:33:28" }, "returnParameters": { - "id": 6228, + "id": 6845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6227, + "id": 6844, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 6245, - "src": "37977:17:21", + "scope": 6862, + "src": "38941:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65293,10 +65987,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6226, + "id": 6843, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37977:7:21", + "src": "38941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65306,19 +66000,19 @@ "visibility": "internal" } ], - "src": "37976:19:21" + "src": "38940:19:28" }, - "scope": 7812, - "src": "37870:269:21", + "scope": 8443, + "src": "38834:269:28", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6253, + "id": 6870, "nodeType": "Block", - "src": "38285:40:21", + "src": "39249:40:28", "statements": [ { "expression": { @@ -65326,18 +66020,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6250, + "id": 6867, "name": "refreshConfigInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "38295:21:21", + "referencedDeclaration": 8400, + "src": "39259:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 6251, + "id": 6868, "isConstant": false, "isLValue": false, "isPure": false, @@ -65345,68 +66039,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38295:23:21", + "src": "39259:23:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6252, + "id": 6869, "nodeType": "ExpressionStatement", - "src": "38295:23:21" + "src": "39259:23:28" } ] }, "documentation": "@dev updates the lending pool core configuration*", - "id": 6254, + "id": 6871, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6248, + "id": 6865, "modifierName": { "argumentTypes": null, - "id": 6247, + "id": 6864, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "38257:27:21", + "referencedDeclaration": 5148, + "src": "39221:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "38257:27:21" + "src": "39221:27:28" } ], "name": "refreshConfiguration", "nodeType": "FunctionDefinition", "parameters": { - "id": 6246, + "id": 6863, "nodeType": "ParameterList", "parameters": [], - "src": "38245:2:21" + "src": "39209:2:28" }, "returnParameters": { - "id": 6249, + "id": 6866, "nodeType": "ParameterList", "parameters": [], - "src": "38285:0:21" + "src": "39249:0:28" }, - "scope": 7812, - "src": "38216:109:21", + "scope": 8443, + "src": "39180:109:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6280, + "id": 6897, "nodeType": "Block", - "src": "38850:142:21", + "src": "39814:142:28", "statements": [ { "expression": { @@ -65414,12 +66108,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6271, + "id": 6888, "name": "_aTokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "38884:14:21", + "referencedDeclaration": 6875, + "src": "39848:14:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65427,12 +66121,12 @@ }, { "argumentTypes": null, - "id": 6272, + "id": 6889, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "38900:9:21", + "referencedDeclaration": 6877, + "src": "39864:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65440,12 +66134,12 @@ }, { "argumentTypes": null, - "id": 6273, + "id": 6890, "name": "_interestRateStrategyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6262, - "src": "38911:28:21", + "referencedDeclaration": 6879, + "src": "39875:28:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65471,26 +66165,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6267, + "id": 6884, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "38860:8:21", + "referencedDeclaration": 5152, + "src": "39824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6269, + "id": 6886, "indexExpression": { "argumentTypes": null, - "id": 6268, + "id": 6885, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "38869:8:21", + "referencedDeclaration": 6873, + "src": "39833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65501,27 +66195,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "38860:18:21", + "src": "39824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6270, + "id": 6887, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 9767, - "src": "38860:23:21", + "referencedDeclaration": 10844, + "src": "39824:23:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_address_$_t_uint256_$_t_address_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_address_$_t_uint256_$_t_address_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,address,uint256,address)" } }, - "id": 6274, + "id": 6891, "isConstant": false, "isLValue": false, "isPure": false, @@ -65529,15 +66223,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38860:80:21", + "src": "39824:80:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6275, + "id": 6892, "nodeType": "ExpressionStatement", - "src": "38860:80:21" + "src": "39824:80:28" }, { "expression": { @@ -65545,12 +66239,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6277, + "id": 6894, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6256, - "src": "38975:8:21", + "referencedDeclaration": 6873, + "src": "39939:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65564,18 +66258,18 @@ "typeString": "address" } ], - "id": 6276, + "id": 6893, "name": "addReserveToListInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, - "src": "38950:24:21", + "referencedDeclaration": 8442, + "src": "39914:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 6278, + "id": 6895, "isConstant": false, "isLValue": false, "isPure": false, @@ -65583,56 +66277,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "38950:34:21", + "src": "39914:34:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6279, + "id": 6896, "nodeType": "ExpressionStatement", - "src": "38950:34:21" + "src": "39914:34:28" } ] }, "documentation": "@dev initializes a reserve\n@param _reserve the address of the reserve\n@param _aTokenAddress the address of the overlying aToken contract\n@param _decimals the decimals of the reserve currency\n@param _interestRateStrategyAddress the address of the interest rate strategy contract*", - "id": 6281, + "id": 6898, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6265, + "id": 6882, "modifierName": { "argumentTypes": null, - "id": 6264, + "id": 6881, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "38822:27:21", + "referencedDeclaration": 5148, + "src": "39786:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "38822:27:21" + "src": "39786:27:28" } ], "name": "initReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6263, + "id": 6880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6256, + "id": 6873, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38685:16:21", + "scope": 6898, + "src": "39649:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65640,10 +66334,10 @@ "typeString": "address" }, "typeName": { - "id": 6255, + "id": 6872, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38685:7:21", + "src": "39649:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65655,11 +66349,11 @@ }, { "constant": false, - "id": 6258, + "id": 6875, "name": "_aTokenAddress", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38711:22:21", + "scope": 6898, + "src": "39675:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65667,10 +66361,10 @@ "typeString": "address" }, "typeName": { - "id": 6257, + "id": 6874, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38711:7:21", + "src": "39675:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65682,11 +66376,11 @@ }, { "constant": false, - "id": 6260, + "id": 6877, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38743:17:21", + "scope": 6898, + "src": "39707:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65694,10 +66388,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6259, + "id": 6876, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38743:7:21", + "src": "39707:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65708,11 +66402,11 @@ }, { "constant": false, - "id": 6262, + "id": 6879, "name": "_interestRateStrategyAddress", "nodeType": "VariableDeclaration", - "scope": 6281, - "src": "38770:36:21", + "scope": 6898, + "src": "39734:36:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65720,10 +66414,10 @@ "typeString": "address" }, "typeName": { - "id": 6261, + "id": 6878, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38770:7:21", + "src": "39734:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65734,38 +66428,38 @@ "visibility": "internal" } ], - "src": "38675:137:21" + "src": "39639:137:28" }, "returnParameters": { - "id": 6266, + "id": 6883, "nodeType": "ParameterList", "parameters": [], - "src": "38850:0:21" + "src": "39814:0:28" }, - "scope": 7812, - "src": "38655:337:21", + "scope": 8443, + "src": "39619:337:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6399, + "id": 7016, "nodeType": "Block", - "src": "39241:1119:21", + "src": "40205:1119:28", "statements": [ { "assignments": [ - 6289 + 6906 ], "declarations": [ { "constant": false, - "id": 6289, + "id": 6906, "name": "lastReserve", "nodeType": "VariableDeclaration", - "scope": 6399, - "src": "39252:19:21", + "scope": 7016, + "src": "40216:19:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65773,10 +66467,10 @@ "typeString": "address" }, "typeName": { - "id": 6288, + "id": 6905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "39252:7:21", + "src": "40216:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65787,30 +66481,30 @@ "visibility": "internal" } ], - "id": 6296, + "id": 6913, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6290, + "id": 6907, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "39274:12:21", + "referencedDeclaration": 5161, + "src": "40238:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6295, + "id": 6912, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6294, + "id": 6911, "isConstant": false, "isLValue": false, "isPure": false, @@ -65819,18 +66513,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6291, + "id": 6908, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "39287:12:21", + "referencedDeclaration": 5161, + "src": "40251:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6292, + "id": 6909, "isConstant": false, "isLValue": true, "isPure": false, @@ -65838,7 +66532,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "39287:19:21", + "src": "40251:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65849,14 +66543,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 6293, + "id": 6910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39307:1:21", + "src": "40271:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -65864,7 +66558,7 @@ }, "value": "1" }, - "src": "39287:21:21", + "src": "40251:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65875,14 +66569,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39274:35:21", + "src": "40238:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "39252:57:21" + "src": "40216:57:28" }, { "expression": { @@ -65894,19 +66588,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6300, + "id": 6917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6298, + "id": 6915, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39328:11:21", + "referencedDeclaration": 6906, + "src": "40292:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -65916,18 +66610,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 6299, + "id": 6916, "name": "_reserveToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6283, - "src": "39343:16:21", + "referencedDeclaration": 6900, + "src": "40307:16:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "39328:31:21", + "src": "40292:31:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -65936,14 +66630,14 @@ { "argumentTypes": null, "hexValue": "52657365727665206265696e672072656d6f76656420697320646966666572656e74207468616e20746865207265736572766520726571756573746564", - "id": 6301, + "id": 6918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "39361:63:21", + "src": "40325:63:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c0b6cdd61c28de3a628d98193f9e168aa53c38e12634d9f7c75ba59a840674f", @@ -65963,21 +66657,21 @@ "typeString": "literal_string \"Reserve being removed is different than the reserve requested\"" } ], - "id": 6297, + "id": 6914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "39320:7:21", + "referencedDeclaration": 16131, + "src": "40284:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6302, + "id": 6919, "isConstant": false, "isLValue": false, "isPure": false, @@ -65985,15 +66679,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39320:105:21", + "src": "40284:105:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6303, + "id": 6920, "nodeType": "ExpressionStatement", - "src": "39320:105:21" + "src": "40284:105:28" }, { "expression": { @@ -66005,7 +66699,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6309, + "id": 6926, "isConstant": false, "isLValue": false, "isPure": false, @@ -66015,12 +66709,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6306, + "id": 6923, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39615:11:21", + "referencedDeclaration": 6906, + "src": "40579:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66034,18 +66728,18 @@ "typeString": "address" } ], - "id": 6305, + "id": 6922, "name": "getReserveTotalBorrows", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5520, - "src": "39592:22:21", + "referencedDeclaration": 6137, + "src": "40556:22:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 6307, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": false, @@ -66053,7 +66747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39592:35:21", + "src": "40556:35:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66064,14 +66758,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6308, + "id": 6925, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39631:1:21", + "src": "40595:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66079,7 +66773,7 @@ }, "value": "0" }, - "src": "39592:40:21", + "src": "40556:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -66088,14 +66782,14 @@ { "argumentTypes": null, "hexValue": "43616e6e6f742072656d6f7665206120726573657276652077697468206c6971756964697479206465706f7369746564", - "id": 6310, + "id": 6927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "39634:50:21", + "src": "40598:50:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b0bad7bd57f55516fc857d17f5ccdd59e07d83cb7e01f866f68354bbc18bc0d", @@ -66115,21 +66809,21 @@ "typeString": "literal_string \"Cannot remove a reserve with liquidity deposited\"" } ], - "id": 6304, + "id": 6921, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "39584:7:21", + "referencedDeclaration": 16131, + "src": "40548:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6311, + "id": 6928, "isConstant": false, "isLValue": false, "isPure": false, @@ -66137,20 +66831,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39584:101:21", + "src": "40548:101:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6312, + "id": 6929, "nodeType": "ExpressionStatement", - "src": "39584:101:21" + "src": "40548:101:28" }, { "expression": { "argumentTypes": null, - "id": 6318, + "id": 6935, "isConstant": false, "isLValue": false, "isPure": false, @@ -66161,26 +66855,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6313, + "id": 6930, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39696:8:21", + "referencedDeclaration": 5152, + "src": "40660:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6315, + "id": 6932, "indexExpression": { "argumentTypes": null, - "id": 6314, + "id": 6931, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39705:11:21", + "referencedDeclaration": 6906, + "src": "40669:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66191,21 +66885,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39696:21:21", + "src": "40660:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6316, + "id": 6933, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "39696:30:21", + "referencedDeclaration": 10643, + "src": "40660:30:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -66216,14 +66910,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6317, + "id": 6934, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "39729:5:21", + "src": "40693:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -66231,20 +66925,20 @@ }, "value": "false" }, - "src": "39696:38:21", + "src": "40660:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6319, + "id": 6936, "nodeType": "ExpressionStatement", - "src": "39696:38:21" + "src": "40660:38:28" }, { "expression": { "argumentTypes": null, - "id": 6327, + "id": 6944, "isConstant": false, "isLValue": false, "isPure": false, @@ -66255,26 +66949,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6320, + "id": 6937, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39744:8:21", + "referencedDeclaration": 5152, + "src": "40708:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6322, + "id": 6939, "indexExpression": { "argumentTypes": null, - "id": 6321, + "id": 6938, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39753:11:21", + "referencedDeclaration": 6906, + "src": "40717:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66285,21 +66979,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39744:21:21", + "src": "40708:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6323, + "id": 6940, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "aTokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9554, - "src": "39744:35:21", + "referencedDeclaration": 10631, + "src": "40708:35:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66313,14 +67007,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6325, + "id": 6942, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39790:1:21", + "src": "40754:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66336,20 +67030,20 @@ "typeString": "int_const 0" } ], - "id": 6324, + "id": 6941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "39782:7:21", + "src": "40746:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 6326, + "id": 6943, "isConstant": false, "isLValue": false, "isPure": true, @@ -66357,26 +67051,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "39782:10:21", + "src": "40746:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "39744:48:21", + "src": "40708:48:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6328, + "id": 6945, "nodeType": "ExpressionStatement", - "src": "39744:48:21" + "src": "40708:48:28" }, { "expression": { "argumentTypes": null, - "id": 6334, + "id": 6951, "isConstant": false, "isLValue": false, "isPure": false, @@ -66387,26 +67081,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6329, + "id": 6946, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39802:8:21", + "referencedDeclaration": 5152, + "src": "40766:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6331, + "id": 6948, "indexExpression": { "argumentTypes": null, - "id": 6330, + "id": 6947, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39811:11:21", + "referencedDeclaration": 6906, + "src": "40775:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66417,21 +67111,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39802:21:21", + "src": "40766:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6332, + "id": 6949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "39802:30:21", + "referencedDeclaration": 10629, + "src": "40766:30:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66442,14 +67136,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6333, + "id": 6950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39835:1:21", + "src": "40799:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66457,20 +67151,20 @@ }, "value": "0" }, - "src": "39802:34:21", + "src": "40766:34:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6335, + "id": 6952, "nodeType": "ExpressionStatement", - "src": "39802:34:21" + "src": "40766:34:28" }, { "expression": { "argumentTypes": null, - "id": 6341, + "id": 6958, "isConstant": false, "isLValue": false, "isPure": false, @@ -66481,26 +67175,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6336, + "id": 6953, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39846:8:21", + "referencedDeclaration": 5152, + "src": "40810:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6338, + "id": 6955, "indexExpression": { "argumentTypes": null, - "id": 6337, + "id": 6954, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39855:11:21", + "referencedDeclaration": 6906, + "src": "40819:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66511,21 +67205,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39846:21:21", + "src": "40810:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6339, + "id": 6956, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "39846:50:21", + "referencedDeclaration": 10607, + "src": "40810:50:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66536,14 +67230,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6340, + "id": 6957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39899:1:21", + "src": "40863:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66551,20 +67245,20 @@ }, "value": "0" }, - "src": "39846:54:21", + "src": "40810:54:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6342, + "id": 6959, "nodeType": "ExpressionStatement", - "src": "39846:54:21" + "src": "40810:54:28" }, { "expression": { "argumentTypes": null, - "id": 6348, + "id": 6965, "isConstant": false, "isLValue": false, "isPure": false, @@ -66575,26 +67269,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6343, + "id": 6960, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39910:8:21", + "referencedDeclaration": 5152, + "src": "40874:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6345, + "id": 6962, "indexExpression": { "argumentTypes": null, - "id": 6344, + "id": 6961, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39919:11:21", + "referencedDeclaration": 6906, + "src": "40883:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66605,21 +67299,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39910:21:21", + "src": "40874:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6346, + "id": 6963, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "39910:55:21", + "referencedDeclaration": 10621, + "src": "40874:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66630,14 +67324,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6347, + "id": 6964, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39968:1:21", + "src": "40932:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66645,20 +67339,20 @@ }, "value": "0" }, - "src": "39910:59:21", + "src": "40874:59:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6349, + "id": 6966, "nodeType": "ExpressionStatement", - "src": "39910:59:21" + "src": "40874:59:28" }, { "expression": { "argumentTypes": null, - "id": 6355, + "id": 6972, "isConstant": false, "isLValue": false, "isPure": false, @@ -66669,26 +67363,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6350, + "id": 6967, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "39979:8:21", + "referencedDeclaration": 5152, + "src": "40943:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6352, + "id": 6969, "indexExpression": { "argumentTypes": null, - "id": 6351, + "id": 6968, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "39988:11:21", + "referencedDeclaration": 6906, + "src": "40952:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66699,21 +67393,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39979:21:21", + "src": "40943:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6353, + "id": 6970, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "borrowingEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9560, - "src": "39979:38:21", + "referencedDeclaration": 10637, + "src": "40943:38:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -66724,14 +67418,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6354, + "id": 6971, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "40020:5:21", + "src": "40984:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -66739,20 +67433,20 @@ }, "value": "false" }, - "src": "39979:46:21", + "src": "40943:46:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6356, + "id": 6973, "nodeType": "ExpressionStatement", - "src": "39979:46:21" + "src": "40943:46:28" }, { "expression": { "argumentTypes": null, - "id": 6362, + "id": 6979, "isConstant": false, "isLValue": false, "isPure": false, @@ -66763,26 +67457,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6357, + "id": 6974, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40035:8:21", + "referencedDeclaration": 5152, + "src": "40999:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6359, + "id": 6976, "indexExpression": { "argumentTypes": null, - "id": 6358, + "id": 6975, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40044:11:21", + "referencedDeclaration": 6906, + "src": "41008:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66793,21 +67487,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40035:21:21", + "src": "40999:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6360, + "id": 6977, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "usageAsCollateralEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9562, - "src": "40035:46:21", + "referencedDeclaration": 10639, + "src": "40999:46:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -66818,14 +67512,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6361, + "id": 6978, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "40084:5:21", + "src": "41048:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -66833,20 +67527,20 @@ }, "value": "false" }, - "src": "40035:54:21", + "src": "40999:54:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6363, + "id": 6980, "nodeType": "ExpressionStatement", - "src": "40035:54:21" + "src": "40999:54:28" }, { "expression": { "argumentTypes": null, - "id": 6369, + "id": 6986, "isConstant": false, "isLValue": false, "isPure": false, @@ -66857,26 +67551,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6364, + "id": 6981, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40099:8:21", + "referencedDeclaration": 5152, + "src": "41063:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6366, + "id": 6983, "indexExpression": { "argumentTypes": null, - "id": 6365, + "id": 6982, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40108:11:21", + "referencedDeclaration": 6906, + "src": "41072:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66887,21 +67581,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40099:21:21", + "src": "41063:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6367, + "id": 6984, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "40099:41:21", + "referencedDeclaration": 10623, + "src": "41063:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66912,14 +67606,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6368, + "id": 6985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40143:1:21", + "src": "41107:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -66927,20 +67621,20 @@ }, "value": "0" }, - "src": "40099:45:21", + "src": "41063:45:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6370, + "id": 6987, "nodeType": "ExpressionStatement", - "src": "40099:45:21" + "src": "41063:45:28" }, { "expression": { "argumentTypes": null, - "id": 6376, + "id": 6993, "isConstant": false, "isLValue": false, "isPure": false, @@ -66951,26 +67645,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6371, + "id": 6988, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40154:8:21", + "referencedDeclaration": 5152, + "src": "41118:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6373, + "id": 6990, "indexExpression": { "argumentTypes": null, - "id": 6372, + "id": 6989, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40163:11:21", + "referencedDeclaration": 6906, + "src": "41127:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -66981,21 +67675,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40154:21:21", + "src": "41118:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6374, + "id": 6991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "40154:42:21", + "referencedDeclaration": 10625, + "src": "41118:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67006,14 +67700,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6375, + "id": 6992, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40199:1:21", + "src": "41163:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -67021,20 +67715,20 @@ }, "value": "0" }, - "src": "40154:46:21", + "src": "41118:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6377, + "id": 6994, "nodeType": "ExpressionStatement", - "src": "40154:46:21" + "src": "41118:46:28" }, { "expression": { "argumentTypes": null, - "id": 6383, + "id": 7000, "isConstant": false, "isLValue": false, "isPure": false, @@ -67045,26 +67739,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6378, + "id": 6995, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40210:8:21", + "referencedDeclaration": 5152, + "src": "41174:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6380, + "id": 6997, "indexExpression": { "argumentTypes": null, - "id": 6379, + "id": 6996, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40219:11:21", + "referencedDeclaration": 6906, + "src": "41183:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67075,21 +67769,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40210:21:21", + "src": "41174:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6381, + "id": 6998, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "40210:38:21", + "referencedDeclaration": 10627, + "src": "41174:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67100,14 +67794,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6382, + "id": 6999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40251:1:21", + "src": "41215:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -67115,20 +67809,20 @@ }, "value": "0" }, - "src": "40210:42:21", + "src": "41174:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6384, + "id": 7001, "nodeType": "ExpressionStatement", - "src": "40210:42:21" + "src": "41174:42:28" }, { "expression": { "argumentTypes": null, - "id": 6392, + "id": 7009, "isConstant": false, "isLValue": false, "isPure": false, @@ -67139,26 +67833,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6385, + "id": 7002, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40262:8:21", + "referencedDeclaration": 5152, + "src": "41226:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6387, + "id": 7004, "indexExpression": { "argumentTypes": null, - "id": 6386, + "id": 7003, "name": "lastReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6289, - "src": "40271:11:21", + "referencedDeclaration": 6906, + "src": "41235:11:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67169,21 +67863,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40262:21:21", + "src": "41226:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6388, + "id": 7005, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "40262:49:21", + "referencedDeclaration": 10633, + "src": "41226:49:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67197,14 +67891,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 6390, + "id": 7007, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40322:1:21", + "src": "41286:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -67220,20 +67914,20 @@ "typeString": "int_const 0" } ], - "id": 6389, + "id": 7006, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "40314:7:21", + "src": "41278:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 6391, + "id": 7008, "isConstant": false, "isLValue": false, "isPure": true, @@ -67241,21 +67935,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "40314:10:21", + "src": "41278:10:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "40262:62:21", + "src": "41226:62:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6393, + "id": 7010, "nodeType": "ExpressionStatement", - "src": "40262:62:21" + "src": "41226:62:28" }, { "expression": { @@ -67265,18 +67959,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 6394, + "id": 7011, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "40335:12:21", + "referencedDeclaration": 5161, + "src": "41299:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 6396, + "id": 7013, "isConstant": false, "isLValue": false, "isPure": false, @@ -67284,13 +67978,13 @@ "memberName": "pop", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "40335:16:21", + "src": "41299:16:28", "typeDescriptions": { "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 6397, + "id": 7014, "isConstant": false, "isLValue": false, "isPure": false, @@ -67298,56 +67992,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "40335:18:21", + "src": "41299:18:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6398, + "id": 7015, "nodeType": "ExpressionStatement", - "src": "40335:18:21" + "src": "41299:18:28" } ] }, "documentation": "@dev removes the last added reserve in the reservesList array\n@param _reserveToRemove the address of the reserve*", - "id": 6400, + "id": 7017, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6286, + "id": 6903, "modifierName": { "argumentTypes": null, - "id": 6285, + "id": 6902, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "39213:27:21", + "referencedDeclaration": 5148, + "src": "40177:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "39213:27:21" + "src": "40177:27:28" } ], "name": "removeLastAddedReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6284, + "id": 6901, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6283, + "id": 6900, "name": "_reserveToRemove", "nodeType": "VariableDeclaration", - "scope": 6400, - "src": "39173:24:21", + "scope": 7017, + "src": "40137:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67355,10 +68049,10 @@ "typeString": "address" }, "typeName": { - "id": 6282, + "id": 6899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "39173:7:21", + "src": "40137:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67369,30 +68063,30 @@ "visibility": "internal" } ], - "src": "39172:26:21" + "src": "40136:26:28" }, "returnParameters": { - "id": 6287, + "id": 6904, "nodeType": "ParameterList", "parameters": [], - "src": "39241:0:21" + "src": "40205:0:28" }, - "scope": 7812, - "src": "39141:1219:21", + "scope": 8443, + "src": "40105:1219:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6416, + "id": 7033, "nodeType": "Block", - "src": "40739:86:21", + "src": "41703:86:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6414, + "id": 7031, "isConstant": false, "isLValue": false, "isPure": false, @@ -67403,26 +68097,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6409, + "id": 7026, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "40749:8:21", + "referencedDeclaration": 5152, + "src": "41713:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6411, + "id": 7028, "indexExpression": { "argumentTypes": null, - "id": 6410, + "id": 7027, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6402, - "src": "40758:8:21", + "referencedDeclaration": 7019, + "src": "41722:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67433,21 +68127,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "40749:18:21", + "src": "41713:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6412, + "id": 7029, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "40749:46:21", + "referencedDeclaration": 10633, + "src": "41713:46:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67457,67 +68151,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6413, + "id": 7030, "name": "_rateStrategyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6404, - "src": "40798:20:21", + "referencedDeclaration": 7021, + "src": "41762:20:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "40749:69:21", + "src": "41713:69:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6415, + "id": 7032, "nodeType": "ExpressionStatement", - "src": "40749:69:21" + "src": "41713:69:28" } ] }, "documentation": "@dev updates the address of the interest rate strategy contract\n@param _reserve the address of the reserve\n@param _rateStrategyAddress the address of the interest rate strategy contract*", - "id": 6417, + "id": 7034, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6407, + "id": 7024, "modifierName": { "argumentTypes": null, - "id": 6406, + "id": 7023, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "40707:27:21", + "referencedDeclaration": 5148, + "src": "41671:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "40707:27:21" + "src": "41671:27:28" } ], "name": "setReserveInterestRateStrategyAddress", "nodeType": "FunctionDefinition", "parameters": { - "id": 6405, + "id": 7022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6402, + "id": 7019, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6417, - "src": "40634:16:21", + "scope": 7034, + "src": "41598:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67525,10 +68219,10 @@ "typeString": "address" }, "typeName": { - "id": 6401, + "id": 7018, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40634:7:21", + "src": "41598:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67540,11 +68234,11 @@ }, { "constant": false, - "id": 6404, + "id": 7021, "name": "_rateStrategyAddress", "nodeType": "VariableDeclaration", - "scope": 6417, - "src": "40652:28:21", + "scope": 7034, + "src": "41616:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67552,10 +68246,10 @@ "typeString": "address" }, "typeName": { - "id": 6403, + "id": 7020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40652:7:21", + "src": "41616:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67566,25 +68260,25 @@ "visibility": "internal" } ], - "src": "40633:48:21" + "src": "41597:48:28" }, "returnParameters": { - "id": 6408, + "id": 7025, "nodeType": "ParameterList", "parameters": [], - "src": "40739:0:21" + "src": "41703:0:28" }, - "scope": 7812, - "src": "40587:238:21", + "scope": 8443, + "src": "41551:238:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6433, + "id": 7050, "nodeType": "Block", - "src": "41215:77:21", + "src": "42179:77:28", "statements": [ { "expression": { @@ -67592,12 +68286,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6430, + "id": 7047, "name": "_stableBorrowRateEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "41260:24:21", + "referencedDeclaration": 7038, + "src": "42224:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67615,26 +68309,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6426, + "id": 7043, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41225:8:21", + "referencedDeclaration": 5152, + "src": "42189:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6428, + "id": 7045, "indexExpression": { "argumentTypes": null, - "id": 6427, + "id": 7044, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "41234:8:21", + "referencedDeclaration": 7036, + "src": "42198:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67645,27 +68339,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41225:18:21", + "src": "42189:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6429, + "id": 7046, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "enableBorrowing", "nodeType": "MemberAccess", - "referencedDeclaration": 9795, - "src": "41225:34:21", + "referencedDeclaration": 10872, + "src": "42189:34:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_bool_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_bool_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,bool)" } }, - "id": 6431, + "id": 7048, "isConstant": false, "isLValue": false, "isPure": false, @@ -67673,56 +68367,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41225:60:21", + "src": "42189:60:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6432, + "id": 7049, "nodeType": "ExpressionStatement", - "src": "41225:60:21" + "src": "42189:60:28" } ] }, "documentation": "@dev enables borrowing on a reserve. Also sets the stable rate borrowing\n@param _reserve the address of the reserve\n@param _stableBorrowRateEnabled true if the stable rate needs to be enabled, false otherwise*", - "id": 6434, + "id": 7051, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6424, + "id": 7041, "modifierName": { "argumentTypes": null, - "id": 6423, + "id": 7040, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41183:27:21", + "referencedDeclaration": 5148, + "src": "42147:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41183:27:21" + "src": "42147:27:28" } ], "name": "enableBorrowingOnReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6422, + "id": 7039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6419, + "id": 7036, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6434, - "src": "41109:16:21", + "scope": 7051, + "src": "42073:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67730,10 +68424,10 @@ "typeString": "address" }, "typeName": { - "id": 6418, + "id": 7035, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41109:7:21", + "src": "42073:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67745,11 +68439,11 @@ }, { "constant": false, - "id": 6421, + "id": 7038, "name": "_stableBorrowRateEnabled", "nodeType": "VariableDeclaration", - "scope": 6434, - "src": "41127:29:21", + "scope": 7051, + "src": "42091:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67757,10 +68451,10 @@ "typeString": "bool" }, "typeName": { - "id": 6420, + "id": 7037, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "41127:4:21", + "src": "42091:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67770,25 +68464,25 @@ "visibility": "internal" } ], - "src": "41108:49:21" + "src": "42072:49:28" }, "returnParameters": { - "id": 6425, + "id": 7042, "nodeType": "ParameterList", "parameters": [], - "src": "41215:0:21" + "src": "42179:0:28" }, - "scope": 7812, - "src": "41075:217:21", + "scope": 8443, + "src": "42039:217:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6447, + "id": 7064, "nodeType": "Block", - "src": "41497:54:21", + "src": "42461:54:28", "statements": [ { "expression": { @@ -67800,26 +68494,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6441, + "id": 7058, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41507:8:21", + "referencedDeclaration": 5152, + "src": "42471:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6443, + "id": 7060, "indexExpression": { "argumentTypes": null, - "id": 6442, + "id": 7059, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6436, - "src": "41516:8:21", + "referencedDeclaration": 7053, + "src": "42480:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -67830,27 +68524,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41507:18:21", + "src": "42471:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6444, + "id": 7061, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "disableBorrowing", "nodeType": "MemberAccess", - "referencedDeclaration": 9807, - "src": "41507:35:21", + "referencedDeclaration": 10884, + "src": "42471:35:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6445, + "id": 7062, "isConstant": false, "isLValue": false, "isPure": false, @@ -67858,56 +68552,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41507:37:21", + "src": "42471:37:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6446, + "id": 7063, "nodeType": "ExpressionStatement", - "src": "41507:37:21" + "src": "42471:37:28" } ] }, "documentation": "@dev disables borrowing on a reserve\n@param _reserve the address of the reserve*", - "id": 6448, + "id": 7065, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6439, + "id": 7056, "modifierName": { "argumentTypes": null, - "id": 6438, + "id": 7055, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41469:27:21", + "referencedDeclaration": 5148, + "src": "42433:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41469:27:21" + "src": "42433:27:28" } ], "name": "disableBorrowingOnReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6437, + "id": 7054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6436, + "id": 7053, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6448, - "src": "41442:16:21", + "scope": 7065, + "src": "42406:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67915,10 +68609,10 @@ "typeString": "address" }, "typeName": { - "id": 6435, + "id": 7052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41442:7:21", + "src": "42406:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67929,25 +68623,25 @@ "visibility": "internal" } ], - "src": "41441:18:21" + "src": "42405:18:28" }, "returnParameters": { - "id": 6440, + "id": 7057, "nodeType": "ParameterList", "parameters": [], - "src": "41497:0:21" + "src": "42461:0:28" }, - "scope": 7812, - "src": "41407:144:21", + "scope": 8443, + "src": "42371:144:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6470, + "id": 7087, "nodeType": "Block", - "src": "41892:164:21", + "src": "42856:164:28", "statements": [ { "expression": { @@ -67955,12 +68649,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6465, + "id": 7082, "name": "_baseLTVasCollateral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6452, - "src": "41953:20:21", + "referencedDeclaration": 7069, + "src": "42917:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67968,12 +68662,12 @@ }, { "argumentTypes": null, - "id": 6466, + "id": 7083, "name": "_liquidationThreshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6454, - "src": "41987:21:21", + "referencedDeclaration": 7071, + "src": "42951:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67981,12 +68675,12 @@ }, { "argumentTypes": null, - "id": 6467, + "id": 7084, "name": "_liquidationBonus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6456, - "src": "42022:17:21", + "referencedDeclaration": 7073, + "src": "42986:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68012,26 +68706,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6461, + "id": 7078, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "41902:8:21", + "referencedDeclaration": 5152, + "src": "42866:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6463, + "id": 7080, "indexExpression": { "argumentTypes": null, - "id": 6462, + "id": 7079, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6450, - "src": "41911:8:21", + "referencedDeclaration": 7067, + "src": "42875:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -68042,27 +68736,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "41902:18:21", + "src": "42866:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6464, + "id": 7081, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "enableAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9864, - "src": "41902:37:21", + "referencedDeclaration": 10941, + "src": "42866:37:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256,uint256)" } }, - "id": 6468, + "id": 7085, "isConstant": false, "isLValue": false, "isPure": false, @@ -68070,56 +68764,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "41902:147:21", + "src": "42866:147:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6469, + "id": 7086, "nodeType": "ExpressionStatement", - "src": "41902:147:21" + "src": "42866:147:28" } ] }, "documentation": "@dev enables a reserve to be used as collateral\n@param _reserve the address of the reserve*", - "id": 6471, + "id": 7088, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6459, + "id": 7076, "modifierName": { "argumentTypes": null, - "id": 6458, + "id": 7075, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "41864:27:21", + "referencedDeclaration": 5148, + "src": "42828:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "41864:27:21" + "src": "42828:27:28" } ], "name": "enableReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6457, + "id": 7074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6450, + "id": 7067, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41720:16:21", + "scope": 7088, + "src": "42684:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68127,10 +68821,10 @@ "typeString": "address" }, "typeName": { - "id": 6449, + "id": 7066, "name": "address", "nodeType": "ElementaryTypeName", - "src": "41720:7:21", + "src": "42684:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68142,11 +68836,11 @@ }, { "constant": false, - "id": 6452, + "id": 7069, "name": "_baseLTVasCollateral", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41746:28:21", + "scope": 7088, + "src": "42710:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68154,10 +68848,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6451, + "id": 7068, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41746:7:21", + "src": "42710:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68168,11 +68862,11 @@ }, { "constant": false, - "id": 6454, + "id": 7071, "name": "_liquidationThreshold", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41784:29:21", + "scope": 7088, + "src": "42748:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68180,10 +68874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6453, + "id": 7070, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41784:7:21", + "src": "42748:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68194,11 +68888,11 @@ }, { "constant": false, - "id": 6456, + "id": 7073, "name": "_liquidationBonus", "nodeType": "VariableDeclaration", - "scope": 6471, - "src": "41823:25:21", + "scope": 7088, + "src": "42787:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68206,10 +68900,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6455, + "id": 7072, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "41823:7:21", + "src": "42787:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68219,25 +68913,25 @@ "visibility": "internal" } ], - "src": "41710:144:21" + "src": "42674:144:28" }, "returnParameters": { - "id": 6460, + "id": 7077, "nodeType": "ParameterList", "parameters": [], - "src": "41892:0:21" + "src": "42856:0:28" }, - "scope": 7812, - "src": "41676:380:21", + "scope": 8443, + "src": "42640:380:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6484, + "id": 7101, "nodeType": "Block", - "src": "42273:57:21", + "src": "43237:57:28", "statements": [ { "expression": { @@ -68249,26 +68943,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6478, + "id": 7095, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42283:8:21", + "referencedDeclaration": 5152, + "src": "43247:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6480, + "id": 7097, "indexExpression": { "argumentTypes": null, - "id": 6479, + "id": 7096, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6473, - "src": "42292:8:21", + "referencedDeclaration": 7090, + "src": "43256:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -68279,27 +68973,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42283:18:21", + "src": "43247:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6481, + "id": 7098, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "disableAsCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9876, - "src": "42283:38:21", + "referencedDeclaration": 10953, + "src": "43247:38:28", "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6482, + "id": 7099, "isConstant": false, "isLValue": false, "isPure": false, @@ -68307,56 +69001,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "42283:40:21", + "src": "43247:40:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6483, + "id": 7100, "nodeType": "ExpressionStatement", - "src": "42283:40:21" + "src": "43247:40:28" } ] }, "documentation": "@dev disables a reserve to be used as collateral\n@param _reserve the address of the reserve*", - "id": 6485, + "id": 7102, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6476, + "id": 7093, "modifierName": { "argumentTypes": null, - "id": 6475, + "id": 7092, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42245:27:21", + "referencedDeclaration": 5148, + "src": "43209:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42245:27:21" + "src": "43209:27:28" } ], "name": "disableReserveAsCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6474, + "id": 7091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6473, + "id": 7090, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6485, - "src": "42218:16:21", + "scope": 7102, + "src": "43182:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68364,10 +69058,10 @@ "typeString": "address" }, "typeName": { - "id": 6472, + "id": 7089, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42218:7:21", + "src": "43182:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68378,53 +69072,53 @@ "visibility": "internal" } ], - "src": "42217:18:21" + "src": "43181:18:28" }, "returnParameters": { - "id": 6477, + "id": 7094, "nodeType": "ParameterList", "parameters": [], - "src": "42273:0:21" + "src": "43237:0:28" }, - "scope": 7812, - "src": "42182:148:21", + "scope": 8443, + "src": "43146:148:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6506, + "id": 7123, "nodeType": "Block", - "src": "42554:127:21", + "src": "43518:127:28", "statements": [ { "assignments": [ - 6495 + 7112 ], "declarations": [ { "constant": false, - "id": 6495, + "id": 7112, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6506, - "src": "42564:39:21", + "scope": 7123, + "src": "43528:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6494, + "id": 7111, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "42564:23:21", + "referencedDeclaration": 10646, + "src": "43528:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -68432,31 +69126,31 @@ "visibility": "internal" } ], - "id": 6499, + "id": 7116, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6496, + "id": 7113, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42606:8:21", + "referencedDeclaration": 5152, + "src": "43570:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6498, + "id": 7115, "indexExpression": { "argumentTypes": null, - "id": 6497, + "id": 7114, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "42615:8:21", + "referencedDeclaration": 7104, + "src": "43579:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -68467,19 +69161,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42606:18:21", + "src": "43570:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "42564:60:21" + "src": "43528:60:28" }, { "expression": { "argumentTypes": null, - "id": 6504, + "id": 7121, "isConstant": false, "isLValue": false, "isPure": false, @@ -68488,26 +69182,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6500, + "id": 7117, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6495, - "src": "42634:7:21", + "referencedDeclaration": 7112, + "src": "43598:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6502, + "id": 7119, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "42634:33:21", + "referencedDeclaration": 10641, + "src": "43598:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68518,14 +69212,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6503, + "id": 7120, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "42670:4:21", + "src": "43634:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -68533,56 +69227,56 @@ }, "value": "true" }, - "src": "42634:40:21", + "src": "43598:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6505, + "id": 7122, "nodeType": "ExpressionStatement", - "src": "42634:40:21" + "src": "43598:40:28" } ] }, "documentation": "@dev enable the stable borrow rate mode on a reserve\n@param _reserve the address of the reserve*", - "id": 6507, + "id": 7124, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6490, + "id": 7107, "modifierName": { "argumentTypes": null, - "id": 6489, + "id": 7106, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42526:27:21", + "referencedDeclaration": 5148, + "src": "43490:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42526:27:21" + "src": "43490:27:28" } ], "name": "enableReserveStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6488, + "id": 7105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6487, + "id": 7104, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6507, - "src": "42499:16:21", + "scope": 7124, + "src": "43463:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68590,10 +69284,10 @@ "typeString": "address" }, "typeName": { - "id": 6486, + "id": 7103, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42499:7:21", + "src": "43463:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68604,53 +69298,53 @@ "visibility": "internal" } ], - "src": "42498:18:21" + "src": "43462:18:28" }, "returnParameters": { - "id": 6491, + "id": 7108, "nodeType": "ParameterList", "parameters": [], - "src": "42554:0:21" + "src": "43518:0:28" }, - "scope": 7812, - "src": "42460:221:21", + "scope": 8443, + "src": "43424:221:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6528, + "id": 7145, "nodeType": "Block", - "src": "42907:128:21", + "src": "43871:128:28", "statements": [ { "assignments": [ - 6517 + 7134 ], "declarations": [ { "constant": false, - "id": 6517, + "id": 7134, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6528, - "src": "42917:39:21", + "scope": 7145, + "src": "43881:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6516, + "id": 7133, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "42917:23:21", + "referencedDeclaration": 10646, + "src": "43881:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -68658,31 +69352,31 @@ "visibility": "internal" } ], - "id": 6521, + "id": 7138, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6518, + "id": 7135, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "42959:8:21", + "referencedDeclaration": 5152, + "src": "43923:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6520, + "id": 7137, "indexExpression": { "argumentTypes": null, - "id": 6519, + "id": 7136, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6509, - "src": "42968:8:21", + "referencedDeclaration": 7126, + "src": "43932:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -68693,19 +69387,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "42959:18:21", + "src": "43923:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "42917:60:21" + "src": "43881:60:28" }, { "expression": { "argumentTypes": null, - "id": 6526, + "id": 7143, "isConstant": false, "isLValue": false, "isPure": false, @@ -68714,26 +69408,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6522, + "id": 7139, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6517, - "src": "42987:7:21", + "referencedDeclaration": 7134, + "src": "43951:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6524, + "id": 7141, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isStableBorrowRateEnabled", "nodeType": "MemberAccess", - "referencedDeclaration": 9564, - "src": "42987:33:21", + "referencedDeclaration": 10641, + "src": "43951:33:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68744,14 +69438,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6525, + "id": 7142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43023:5:21", + "src": "43987:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -68759,56 +69453,56 @@ }, "value": "false" }, - "src": "42987:41:21", + "src": "43951:41:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6527, + "id": 7144, "nodeType": "ExpressionStatement", - "src": "42987:41:21" + "src": "43951:41:28" } ] }, "documentation": "@dev disable the stable borrow rate mode on a reserve\n@param _reserve the address of the reserve*", - "id": 6529, + "id": 7146, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6512, + "id": 7129, "modifierName": { "argumentTypes": null, - "id": 6511, + "id": 7128, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "42879:27:21", + "referencedDeclaration": 5148, + "src": "43843:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "42879:27:21" + "src": "43843:27:28" } ], "name": "disableReserveStableBorrowRate", "nodeType": "FunctionDefinition", "parameters": { - "id": 6510, + "id": 7127, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6509, + "id": 7126, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6529, - "src": "42852:16:21", + "scope": 7146, + "src": "43816:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68816,10 +69510,10 @@ "typeString": "address" }, "typeName": { - "id": 6508, + "id": 7125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "42852:7:21", + "src": "43816:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68830,53 +69524,53 @@ "visibility": "internal" } ], - "src": "42851:18:21" + "src": "43815:18:28" }, "returnParameters": { - "id": 6513, + "id": 7130, "nodeType": "ParameterList", "parameters": [], - "src": "42907:0:21" + "src": "43871:0:28" }, - "scope": 7812, - "src": "42812:223:21", + "scope": 8443, + "src": "43776:223:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6563, + "id": 7180, "nodeType": "Block", - "src": "43217:309:21", + "src": "44181:309:28", "statements": [ { "assignments": [ - 6539 + 7156 ], "declarations": [ { "constant": false, - "id": 6539, + "id": 7156, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6563, - "src": "43227:39:21", + "scope": 7180, + "src": "44191:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6538, + "id": 7155, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "43227:23:21", + "referencedDeclaration": 10646, + "src": "44191:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -68884,31 +69578,31 @@ "visibility": "internal" } ], - "id": 6543, + "id": 7160, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6540, + "id": 7157, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "43269:8:21", + "referencedDeclaration": 5152, + "src": "44233:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6542, + "id": 7159, "indexExpression": { "argumentTypes": null, - "id": 6541, + "id": 7158, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6531, - "src": "43278:8:21", + "referencedDeclaration": 7148, + "src": "44242:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -68919,14 +69613,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "43269:18:21", + "src": "44233:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "43227:60:21" + "src": "44191:60:28" }, { "expression": { @@ -68938,7 +69632,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6553, + "id": 7170, "isConstant": false, "isLValue": false, "isPure": false, @@ -68949,7 +69643,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6548, + "id": 7165, "isConstant": false, "isLValue": false, "isPure": false, @@ -68958,26 +69652,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6545, + "id": 7162, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43319:7:21", + "referencedDeclaration": 7156, + "src": "44283:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6546, + "id": 7163, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "43319:36:21", + "referencedDeclaration": 10607, + "src": "44283:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68988,14 +69682,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6547, + "id": 7164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "43358:1:21", + "src": "44322:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -69003,7 +69697,7 @@ }, "value": "0" }, - "src": "43319:40:21", + "src": "44283:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69017,7 +69711,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6552, + "id": 7169, "isConstant": false, "isLValue": false, "isPure": false, @@ -69026,26 +69720,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6549, + "id": 7166, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43379:7:21", + "referencedDeclaration": 7156, + "src": "44343:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6550, + "id": 7167, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "43379:41:21", + "referencedDeclaration": 10621, + "src": "44343:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -69056,14 +69750,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 6551, + "id": 7168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "43423:1:21", + "src": "44387:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -69071,13 +69765,13 @@ }, "value": "0" }, - "src": "43379:45:21", + "src": "44343:45:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "43319:105:21", + "src": "44283:105:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69086,14 +69780,14 @@ { "argumentTypes": null, "hexValue": "5265736572766520686173206e6f74206265656e20696e697469616c697a656420796574", - "id": 6554, + "id": 7171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "43438:38:21", + "src": "44402:38:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e3fef771b2ec0a89d942c2f01fa56a2858b26f42bd351d7e7ecb9e7b2b9bd44", @@ -69113,21 +69807,21 @@ "typeString": "literal_string \"Reserve has not been initialized yet\"" } ], - "id": 6544, + "id": 7161, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 14550, - 14551 + 16130, + 16131 ], - "referencedDeclaration": 14551, - "src": "43298:7:21", + "referencedDeclaration": 16131, + "src": "44262:7:28", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 6555, + "id": 7172, "isConstant": false, "isLValue": false, "isPure": false, @@ -69135,20 +69829,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "43298:188:21", + "src": "44262:188:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6556, + "id": 7173, "nodeType": "ExpressionStatement", - "src": "43298:188:21" + "src": "44262:188:28" }, { "expression": { "argumentTypes": null, - "id": 6561, + "id": 7178, "isConstant": false, "isLValue": false, "isPure": false, @@ -69157,26 +69851,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6557, + "id": 7174, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6539, - "src": "43496:7:21", + "referencedDeclaration": 7156, + "src": "44460:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6559, + "id": 7176, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "43496:16:21", + "referencedDeclaration": 10643, + "src": "44460:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69187,14 +69881,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6560, + "id": 7177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43515:4:21", + "src": "44479:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -69202,56 +69896,56 @@ }, "value": "true" }, - "src": "43496:23:21", + "src": "44460:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6562, + "id": 7179, "nodeType": "ExpressionStatement", - "src": "43496:23:21" + "src": "44460:23:28" } ] }, "documentation": "@dev activates a reserve\n@param _reserve the address of the reserve*", - "id": 6564, + "id": 7181, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6534, + "id": 7151, "modifierName": { "argumentTypes": null, - "id": 6533, + "id": 7150, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "43189:27:21", + "referencedDeclaration": 5148, + "src": "44153:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "43189:27:21" + "src": "44153:27:28" } ], "name": "activateReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6532, + "id": 7149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6531, + "id": 7148, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6564, - "src": "43162:16:21", + "scope": 7181, + "src": "44126:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69259,10 +69953,10 @@ "typeString": "address" }, "typeName": { - "id": 6530, + "id": 7147, "name": "address", "nodeType": "ElementaryTypeName", - "src": "43162:7:21", + "src": "44126:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -69273,53 +69967,53 @@ "visibility": "internal" } ], - "src": "43161:18:21" + "src": "44125:18:28" }, "returnParameters": { - "id": 6535, + "id": 7152, "nodeType": "ParameterList", "parameters": [], - "src": "43217:0:21" + "src": "44181:0:28" }, - "scope": 7812, - "src": "43137:389:21", + "scope": 8443, + "src": "44101:389:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6585, + "id": 7202, "nodeType": "Block", - "src": "43712:111:21", + "src": "44676:111:28", "statements": [ { "assignments": [ - 6574 + 7191 ], "declarations": [ { "constant": false, - "id": 6574, + "id": 7191, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6585, - "src": "43722:39:21", + "scope": 7202, + "src": "44686:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6573, + "id": 7190, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "43722:23:21", + "referencedDeclaration": 10646, + "src": "44686:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -69327,31 +70021,31 @@ "visibility": "internal" } ], - "id": 6578, + "id": 7195, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6575, + "id": 7192, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "43764:8:21", + "referencedDeclaration": 5152, + "src": "44728:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6577, + "id": 7194, "indexExpression": { "argumentTypes": null, - "id": 6576, + "id": 7193, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6566, - "src": "43773:8:21", + "referencedDeclaration": 7183, + "src": "44737:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -69362,19 +70056,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "43764:18:21", + "src": "44728:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "43722:60:21" + "src": "44686:60:28" }, { "expression": { "argumentTypes": null, - "id": 6583, + "id": 7200, "isConstant": false, "isLValue": false, "isPure": false, @@ -69383,26 +70077,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6579, + "id": 7196, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6574, - "src": "43792:7:21", + "referencedDeclaration": 7191, + "src": "44756:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6581, + "id": 7198, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 9566, - "src": "43792:16:21", + "referencedDeclaration": 10643, + "src": "44756:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69413,14 +70107,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6582, + "id": 7199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "43811:5:21", + "src": "44775:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -69428,56 +70122,56 @@ }, "value": "false" }, - "src": "43792:24:21", + "src": "44756:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6584, + "id": 7201, "nodeType": "ExpressionStatement", - "src": "43792:24:21" + "src": "44756:24:28" } ] }, "documentation": "@dev deactivates a reserve\n@param _reserve the address of the reserve*", - "id": 6586, + "id": 7203, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6569, + "id": 7186, "modifierName": { "argumentTypes": null, - "id": 6568, + "id": 7185, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "43684:27:21", + "referencedDeclaration": 5148, + "src": "44648:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "43684:27:21" + "src": "44648:27:28" } ], "name": "deactivateReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6567, + "id": 7184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6566, + "id": 7183, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6586, - "src": "43657:16:21", + "scope": 7203, + "src": "44621:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69485,10 +70179,10 @@ "typeString": "address" }, "typeName": { - "id": 6565, + "id": 7182, "name": "address", "nodeType": "ElementaryTypeName", - "src": "43657:7:21", + "src": "44621:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -69499,53 +70193,53 @@ "visibility": "internal" } ], - "src": "43656:18:21" + "src": "44620:18:28" }, "returnParameters": { - "id": 6570, + "id": 7187, "nodeType": "ParameterList", "parameters": [], - "src": "43712:0:21" + "src": "44676:0:28" }, - "scope": 7812, - "src": "43630:193:21", + "scope": 8443, + "src": "44594:193:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6607, + "id": 7224, "nodeType": "Block", - "src": "44137:111:21", + "src": "45101:111:28", "statements": [ { "assignments": [ - 6596 + 7213 ], "declarations": [ { "constant": false, - "id": 6596, + "id": 7213, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6607, - "src": "44147:39:21", + "scope": 7224, + "src": "45111:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6595, + "id": 7212, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44147:23:21", + "referencedDeclaration": 10646, + "src": "45111:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -69553,31 +70247,31 @@ "visibility": "internal" } ], - "id": 6600, + "id": 7217, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6597, + "id": 7214, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44189:8:21", + "referencedDeclaration": 5152, + "src": "45153:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6599, + "id": 7216, "indexExpression": { "argumentTypes": null, - "id": 6598, + "id": 7215, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6588, - "src": "44198:8:21", + "referencedDeclaration": 7205, + "src": "45162:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -69588,19 +70282,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44189:18:21", + "src": "45153:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44147:60:21" + "src": "45111:60:28" }, { "expression": { "argumentTypes": null, - "id": 6605, + "id": 7222, "isConstant": false, "isLValue": false, "isPure": false, @@ -69609,26 +70303,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6601, + "id": 7218, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6596, - "src": "44217:7:21", + "referencedDeclaration": 7213, + "src": "45181:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6603, + "id": 7220, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "44217:17:21", + "referencedDeclaration": 10645, + "src": "45181:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69639,14 +70333,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 6604, + "id": 7221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "44237:4:21", + "src": "45201:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -69654,56 +70348,56 @@ }, "value": "true" }, - "src": "44217:24:21", + "src": "45181:24:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6606, + "id": 7223, "nodeType": "ExpressionStatement", - "src": "44217:24:21" + "src": "45181:24:28" } ] }, "documentation": "@notice allows the configurator to freeze the reserve.\nA freezed reserve does not allow any action apart from repay, redeem, liquidationCall, rebalance.\n@param _reserve the address of the reserve*", - "id": 6608, + "id": 7225, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6591, + "id": 7208, "modifierName": { "argumentTypes": null, - "id": 6590, + "id": 7207, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44109:27:21", + "referencedDeclaration": 5148, + "src": "45073:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44109:27:21" + "src": "45073:27:28" } ], "name": "freezeReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6589, + "id": 7206, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6588, + "id": 7205, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6608, - "src": "44082:16:21", + "scope": 7225, + "src": "45046:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69711,10 +70405,10 @@ "typeString": "address" }, "typeName": { - "id": 6587, + "id": 7204, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44082:7:21", + "src": "45046:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -69725,53 +70419,53 @@ "visibility": "internal" } ], - "src": "44081:18:21" + "src": "45045:18:28" }, "returnParameters": { - "id": 6592, + "id": 7209, "nodeType": "ParameterList", "parameters": [], - "src": "44137:0:21" + "src": "45101:0:28" }, - "scope": 7812, - "src": "44059:189:21", + "scope": 8443, + "src": "45023:189:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6629, + "id": 7246, "nodeType": "Block", - "src": "44516:112:21", + "src": "45480:112:28", "statements": [ { "assignments": [ - 6618 + 7235 ], "declarations": [ { "constant": false, - "id": 6618, + "id": 7235, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6629, - "src": "44526:39:21", + "scope": 7246, + "src": "45490:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6617, + "id": 7234, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44526:23:21", + "referencedDeclaration": 10646, + "src": "45490:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -69779,31 +70473,31 @@ "visibility": "internal" } ], - "id": 6622, + "id": 7239, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6619, + "id": 7236, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44568:8:21", + "referencedDeclaration": 5152, + "src": "45532:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6621, + "id": 7238, "indexExpression": { "argumentTypes": null, - "id": 6620, + "id": 7237, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6610, - "src": "44577:8:21", + "referencedDeclaration": 7227, + "src": "45541:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -69814,19 +70508,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44568:18:21", + "src": "45532:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44526:60:21" + "src": "45490:60:28" }, { "expression": { "argumentTypes": null, - "id": 6627, + "id": 7244, "isConstant": false, "isLValue": false, "isPure": false, @@ -69835,26 +70529,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6623, + "id": 7240, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6618, - "src": "44596:7:21", + "referencedDeclaration": 7235, + "src": "45560:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6625, + "id": 7242, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "isFreezed", "nodeType": "MemberAccess", - "referencedDeclaration": 9568, - "src": "44596:17:21", + "referencedDeclaration": 10645, + "src": "45560:17:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -69865,14 +70559,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 6626, + "id": 7243, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "44616:5:21", + "src": "45580:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -69880,56 +70574,56 @@ }, "value": "false" }, - "src": "44596:25:21", + "src": "45560:25:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6628, + "id": 7245, "nodeType": "ExpressionStatement", - "src": "44596:25:21" + "src": "45560:25:28" } ] }, "documentation": "@notice allows the configurator to unfreeze the reserve. A unfreezed reserve allows any action to be executed.\n@param _reserve the address of the reserve*", - "id": 6630, + "id": 7247, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6613, + "id": 7230, "modifierName": { "argumentTypes": null, - "id": 6612, + "id": 7229, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44488:27:21", + "referencedDeclaration": 5148, + "src": "45452:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44488:27:21" + "src": "45452:27:28" } ], "name": "unfreezeReserve", "nodeType": "FunctionDefinition", "parameters": { - "id": 6611, + "id": 7228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6610, + "id": 7227, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6630, - "src": "44461:16:21", + "scope": 7247, + "src": "45425:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69937,10 +70631,10 @@ "typeString": "address" }, "typeName": { - "id": 6609, + "id": 7226, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44461:7:21", + "src": "45425:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -69951,53 +70645,53 @@ "visibility": "internal" } ], - "src": "44460:18:21" + "src": "45424:18:28" }, "returnParameters": { - "id": 6614, + "id": 7231, "nodeType": "ParameterList", "parameters": [], - "src": "44516:0:21" + "src": "45480:0:28" }, - "scope": 7812, - "src": "44436:192:21", + "scope": 8443, + "src": "45400:192:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6653, + "id": 7270, "nodeType": "Block", - "src": "44946:121:21", + "src": "45910:121:28", "statements": [ { "assignments": [ - 6642 + 7259 ], "declarations": [ { "constant": false, - "id": 6642, + "id": 7259, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6653, - "src": "44956:39:21", + "scope": 7270, + "src": "45920:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6641, + "id": 7258, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "44956:23:21", + "referencedDeclaration": 10646, + "src": "45920:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -70005,31 +70699,31 @@ "visibility": "internal" } ], - "id": 6646, + "id": 7263, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6643, + "id": 7260, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "44998:8:21", + "referencedDeclaration": 5152, + "src": "45962:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6645, + "id": 7262, "indexExpression": { "argumentTypes": null, - "id": 6644, + "id": 7261, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "45007:8:21", + "referencedDeclaration": 7249, + "src": "45971:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -70040,19 +70734,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "44998:18:21", + "src": "45962:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "44956:60:21" + "src": "45920:60:28" }, { "expression": { "argumentTypes": null, - "id": 6651, + "id": 7268, "isConstant": false, "isLValue": false, "isPure": false, @@ -70061,26 +70755,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6647, + "id": 7264, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6642, - "src": "45026:7:21", + "referencedDeclaration": 7259, + "src": "45990:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6649, + "id": 7266, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "baseLTVasCollateral", "nodeType": "MemberAccess", - "referencedDeclaration": 9546, - "src": "45026:27:21", + "referencedDeclaration": 10623, + "src": "45990:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70090,67 +70784,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6650, + "id": 7267, "name": "_ltv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6634, - "src": "45056:4:21", + "referencedDeclaration": 7251, + "src": "46020:4:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45026:34:21", + "src": "45990:34:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6652, + "id": 7269, "nodeType": "ExpressionStatement", - "src": "45026:34:21" + "src": "45990:34:28" } ] }, "documentation": "@notice allows the configurator to update the loan to value of a reserve\n@param _reserve the address of the reserve\n@param _ltv the new loan to value*", - "id": 6654, + "id": 7271, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6637, + "id": 7254, "modifierName": { "argumentTypes": null, - "id": 6636, + "id": 7253, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "44914:27:21", + "referencedDeclaration": 5148, + "src": "45878:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "44914:27:21" + "src": "45878:27:28" } ], "name": "setReserveBaseLTVasCollateral", "nodeType": "FunctionDefinition", "parameters": { - "id": 6635, + "id": 7252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6632, + "id": 7249, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6654, - "src": "44857:16:21", + "scope": 7271, + "src": "45821:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70158,10 +70852,10 @@ "typeString": "address" }, "typeName": { - "id": 6631, + "id": 7248, "name": "address", "nodeType": "ElementaryTypeName", - "src": "44857:7:21", + "src": "45821:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -70173,11 +70867,11 @@ }, { "constant": false, - "id": 6634, + "id": 7251, "name": "_ltv", "nodeType": "VariableDeclaration", - "scope": 6654, - "src": "44875:12:21", + "scope": 7271, + "src": "45839:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70185,10 +70879,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6633, + "id": 7250, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "44875:7:21", + "src": "45839:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70198,53 +70892,53 @@ "visibility": "internal" } ], - "src": "44856:32:21" + "src": "45820:32:28" }, "returnParameters": { - "id": 6638, + "id": 7255, "nodeType": "ParameterList", "parameters": [], - "src": "44946:0:21" + "src": "45910:0:28" }, - "scope": 7812, - "src": "44818:249:21", + "scope": 8443, + "src": "45782:249:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6677, + "id": 7294, "nodeType": "Block", - "src": "45414:128:21", + "src": "46378:128:28", "statements": [ { "assignments": [ - 6666 + 7283 ], "declarations": [ { "constant": false, - "id": 6666, + "id": 7283, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6677, - "src": "45424:39:21", + "scope": 7294, + "src": "46388:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6665, + "id": 7282, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "45424:23:21", + "referencedDeclaration": 10646, + "src": "46388:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -70252,31 +70946,31 @@ "visibility": "internal" } ], - "id": 6670, + "id": 7287, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6667, + "id": 7284, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "45466:8:21", + "referencedDeclaration": 5152, + "src": "46430:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6669, + "id": 7286, "indexExpression": { "argumentTypes": null, - "id": 6668, + "id": 7285, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6656, - "src": "45475:8:21", + "referencedDeclaration": 7273, + "src": "46439:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -70287,19 +70981,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "45466:18:21", + "src": "46430:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "45424:60:21" + "src": "46388:60:28" }, { "expression": { "argumentTypes": null, - "id": 6675, + "id": 7292, "isConstant": false, "isLValue": false, "isPure": false, @@ -70308,26 +71002,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6671, + "id": 7288, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6666, - "src": "45494:7:21", + "referencedDeclaration": 7283, + "src": "46458:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6673, + "id": 7290, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationThreshold", "nodeType": "MemberAccess", - "referencedDeclaration": 9548, - "src": "45494:28:21", + "referencedDeclaration": 10625, + "src": "46458:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70337,67 +71031,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6674, + "id": 7291, "name": "_threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6658, - "src": "45525:10:21", + "referencedDeclaration": 7275, + "src": "46489:10:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45494:41:21", + "src": "46458:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6676, + "id": 7293, "nodeType": "ExpressionStatement", - "src": "45494:41:21" + "src": "46458:41:28" } ] }, "documentation": "@notice allows the configurator to update the liquidation threshold of a reserve\n@param _reserve the address of the reserve\n@param _threshold the new liquidation threshold*", - "id": 6678, + "id": 7295, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6661, + "id": 7278, "modifierName": { "argumentTypes": null, - "id": 6660, + "id": 7277, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "45382:27:21", + "referencedDeclaration": 5148, + "src": "46346:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "45382:27:21" + "src": "46346:27:28" } ], "name": "setReserveLiquidationThreshold", "nodeType": "FunctionDefinition", "parameters": { - "id": 6659, + "id": 7276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6656, + "id": 7273, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6678, - "src": "45319:16:21", + "scope": 7295, + "src": "46283:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70405,10 +71099,10 @@ "typeString": "address" }, "typeName": { - "id": 6655, + "id": 7272, "name": "address", "nodeType": "ElementaryTypeName", - "src": "45319:7:21", + "src": "46283:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -70420,11 +71114,11 @@ }, { "constant": false, - "id": 6658, + "id": 7275, "name": "_threshold", "nodeType": "VariableDeclaration", - "scope": 6678, - "src": "45337:18:21", + "scope": 7295, + "src": "46301:18:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70432,10 +71126,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6657, + "id": 7274, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "45337:7:21", + "src": "46301:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70445,53 +71139,53 @@ "visibility": "internal" } ], - "src": "45318:38:21" + "src": "46282:38:28" }, "returnParameters": { - "id": 6662, + "id": 7279, "nodeType": "ParameterList", "parameters": [], - "src": "45414:0:21" + "src": "46378:0:28" }, - "scope": 7812, - "src": "45279:263:21", + "scope": 8443, + "src": "46243:263:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6701, + "id": 7318, "nodeType": "Block", - "src": "45869:120:21", + "src": "46833:120:28", "statements": [ { "assignments": [ - 6690 + 7307 ], "declarations": [ { "constant": false, - "id": 6690, + "id": 7307, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6701, - "src": "45879:39:21", + "scope": 7318, + "src": "46843:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6689, + "id": 7306, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "45879:23:21", + "referencedDeclaration": 10646, + "src": "46843:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -70499,31 +71193,31 @@ "visibility": "internal" } ], - "id": 6694, + "id": 7311, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6691, + "id": 7308, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "45921:8:21", + "referencedDeclaration": 5152, + "src": "46885:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6693, + "id": 7310, "indexExpression": { "argumentTypes": null, - "id": 6692, + "id": 7309, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6680, - "src": "45930:8:21", + "referencedDeclaration": 7297, + "src": "46894:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -70534,19 +71228,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "45921:18:21", + "src": "46885:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "45879:60:21" + "src": "46843:60:28" }, { "expression": { "argumentTypes": null, - "id": 6699, + "id": 7316, "isConstant": false, "isLValue": false, "isPure": false, @@ -70555,26 +71249,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6695, + "id": 7312, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "45949:7:21", + "referencedDeclaration": 7307, + "src": "46913:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6697, + "id": 7314, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "liquidationBonus", "nodeType": "MemberAccess", - "referencedDeclaration": 9550, - "src": "45949:24:21", + "referencedDeclaration": 10627, + "src": "46913:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70584,67 +71278,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6698, + "id": 7315, "name": "_bonus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6682, - "src": "45976:6:21", + "referencedDeclaration": 7299, + "src": "46940:6:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "45949:33:21", + "src": "46913:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6700, + "id": 7317, "nodeType": "ExpressionStatement", - "src": "45949:33:21" + "src": "46913:33:28" } ] }, "documentation": "@notice allows the configurator to update the liquidation bonus of a reserve\n@param _reserve the address of the reserve\n@param _bonus the new liquidation bonus*", - "id": 6702, + "id": 7319, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6685, + "id": 7302, "modifierName": { "argumentTypes": null, - "id": 6684, + "id": 7301, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "45837:27:21", + "referencedDeclaration": 5148, + "src": "46801:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "45837:27:21" + "src": "46801:27:28" } ], "name": "setReserveLiquidationBonus", "nodeType": "FunctionDefinition", "parameters": { - "id": 6683, + "id": 7300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6680, + "id": 7297, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6702, - "src": "45778:16:21", + "scope": 7319, + "src": "46742:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70652,10 +71346,10 @@ "typeString": "address" }, "typeName": { - "id": 6679, + "id": 7296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "45778:7:21", + "src": "46742:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -70667,11 +71361,11 @@ }, { "constant": false, - "id": 6682, + "id": 7299, "name": "_bonus", "nodeType": "VariableDeclaration", - "scope": 6702, - "src": "45796:14:21", + "scope": 7319, + "src": "46760:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70679,10 +71373,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6681, + "id": 7298, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "45796:7:21", + "src": "46760:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70692,53 +71386,53 @@ "visibility": "internal" } ], - "src": "45777:34:21" + "src": "46741:34:28" }, "returnParameters": { - "id": 6686, + "id": 7303, "nodeType": "ParameterList", "parameters": [], - "src": "45869:0:21" + "src": "46833:0:28" }, - "scope": 7812, - "src": "45742:247:21", + "scope": 8443, + "src": "46706:247:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6725, + "id": 7342, "nodeType": "Block", - "src": "46302:115:21", + "src": "47266:115:28", "statements": [ { "assignments": [ - 6714 + 7331 ], "declarations": [ { "constant": false, - "id": 6714, + "id": 7331, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6725, - "src": "46312:39:21", + "scope": 7342, + "src": "47276:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6713, + "id": 7330, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "46312:23:21", + "referencedDeclaration": 10646, + "src": "47276:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -70746,31 +71440,31 @@ "visibility": "internal" } ], - "id": 6718, + "id": 7335, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6715, + "id": 7332, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "46354:8:21", + "referencedDeclaration": 5152, + "src": "47318:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6717, + "id": 7334, "indexExpression": { "argumentTypes": null, - "id": 6716, + "id": 7333, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6704, - "src": "46363:8:21", + "referencedDeclaration": 7321, + "src": "47327:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -70781,19 +71475,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "46354:18:21", + "src": "47318:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "46312:60:21" + "src": "47276:60:28" }, { "expression": { "argumentTypes": null, - "id": 6723, + "id": 7340, "isConstant": false, "isLValue": false, "isPure": false, @@ -70802,26 +71496,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6719, + "id": 7336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, - "src": "46382:7:21", + "referencedDeclaration": 7331, + "src": "47346:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6721, + "id": 7338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "decimals", "nodeType": "MemberAccess", - "referencedDeclaration": 9552, - "src": "46382:16:21", + "referencedDeclaration": 10629, + "src": "47346:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70831,67 +71525,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 6722, + "id": 7339, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6706, - "src": "46401:9:21", + "referencedDeclaration": 7323, + "src": "47365:9:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "46382:28:21", + "src": "47346:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6724, + "id": 7341, "nodeType": "ExpressionStatement", - "src": "46382:28:21" + "src": "47346:28:28" } ] }, "documentation": "@notice allows the configurator to update the reserve decimals\n@param _reserve the address of the reserve\n@param _decimals the decimals of the reserve*", - "id": 6726, + "id": 7343, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 6709, + "id": 7326, "modifierName": { "argumentTypes": null, - "id": 6708, + "id": 7325, "name": "onlyLendingPoolConfigurator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4531, - "src": "46270:27:21", + "referencedDeclaration": 5148, + "src": "47234:27:28", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "46270:27:21" + "src": "47234:27:28" } ], "name": "setReserveDecimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 6707, + "id": 7324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6704, + "id": 7321, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6726, - "src": "46208:16:21", + "scope": 7343, + "src": "47172:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70899,10 +71593,10 @@ "typeString": "address" }, "typeName": { - "id": 6703, + "id": 7320, "name": "address", "nodeType": "ElementaryTypeName", - "src": "46208:7:21", + "src": "47172:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -70914,11 +71608,11 @@ }, { "constant": false, - "id": 6706, + "id": 7323, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 6726, - "src": "46226:17:21", + "scope": 7343, + "src": "47190:17:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70926,10 +71620,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6705, + "id": 7322, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "46226:7:21", + "src": "47190:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70939,25 +71633,25 @@ "visibility": "internal" } ], - "src": "46207:37:21" + "src": "47171:37:28" }, "returnParameters": { - "id": 6710, + "id": 7327, "nodeType": "ParameterList", "parameters": [], - "src": "46302:0:21" + "src": "47266:0:28" }, - "scope": 7812, - "src": "46180:237:21", + "scope": 8443, + "src": "47144:237:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 6756, + "id": 7373, "nodeType": "Block", - "src": "47270:510:21", + "src": "48234:510:28", "statements": [ { "expression": { @@ -70969,26 +71663,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6741, + "id": 7358, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "47280:8:21", + "referencedDeclaration": 5152, + "src": "48244:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6743, + "id": 7360, "indexExpression": { "argumentTypes": null, - "id": 6742, + "id": 7359, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6728, - "src": "47289:8:21", + "referencedDeclaration": 7345, + "src": "48253:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -70999,27 +71693,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "47280:18:21", + "src": "48244:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6744, + "id": 7361, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "47280:42:21", + "referencedDeclaration": 10724, + "src": "48244:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6745, + "id": 7362, "isConstant": false, "isLValue": false, "isPure": false, @@ -71027,15 +71721,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "47280:44:21", + "src": "48244:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6746, + "id": 7363, "nodeType": "ExpressionStatement", - "src": "47280:44:21" + "src": "48244:44:28" }, { "expression": { @@ -71043,12 +71737,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6748, + "id": 7365, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6728, - "src": "47617:8:21", + "referencedDeclaration": 7345, + "src": "48581:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -71056,12 +71750,12 @@ }, { "argumentTypes": null, - "id": 6749, + "id": 7366, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6730, - "src": "47639:5:21", + "referencedDeclaration": 7347, + "src": "48603:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -71069,12 +71763,12 @@ }, { "argumentTypes": null, - "id": 6750, + "id": 7367, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6732, - "src": "47658:23:21", + "referencedDeclaration": 7349, + "src": "48622:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71082,12 +71776,12 @@ }, { "argumentTypes": null, - "id": 6751, + "id": 7368, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "47695:16:21", + "referencedDeclaration": 7351, + "src": "48659:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71095,12 +71789,12 @@ }, { "argumentTypes": null, - "id": 6752, + "id": 7369, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6736, - "src": "47725:15:21", + "referencedDeclaration": 7353, + "src": "48689:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71108,14 +71802,14 @@ }, { "argumentTypes": null, - "id": 6753, + "id": 7370, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6738, - "src": "47754:9:21", + "referencedDeclaration": 7355, + "src": "48718:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } } @@ -71143,22 +71837,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } ], - "id": 6747, + "id": 7364, "name": "updateReserveTotalBorrowsByRateModeInternal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7634, - "src": "47560:43:21", + "referencedDeclaration": 8251, + "src": "48524:43:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$9512_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_enum$_InterestRateMode_$10589_$returns$__$", "typeString": "function (address,address,uint256,uint256,uint256,enum CoreLibrary.InterestRateMode)" } }, - "id": 6754, + "id": 7371, "isConstant": false, "isLValue": false, "isPure": false, @@ -71166,36 +71860,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "47560:213:21", + "src": "48524:213:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6755, + "id": 7372, "nodeType": "ExpressionStatement", - "src": "47560:213:21" + "src": "48524:213:28" } ] }, "documentation": "@dev updates the state of a reserve as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _principalBorrowBalance the previous borrow balance of the borrower before the action\n@param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n@param _amountBorrowed the new amount borrowed\n@param _rateMode the borrow rate mode (stable, variable)*", - "id": 6757, + "id": 7374, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnBorrowInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6739, + "id": 7356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6728, + "id": 7345, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47059:16:21", + "scope": 7374, + "src": "48023:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71203,10 +71897,10 @@ "typeString": "address" }, "typeName": { - "id": 6727, + "id": 7344, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47059:7:21", + "src": "48023:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -71218,11 +71912,11 @@ }, { "constant": false, - "id": 6730, + "id": 7347, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47085:13:21", + "scope": 7374, + "src": "48049:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71230,10 +71924,10 @@ "typeString": "address" }, "typeName": { - "id": 6729, + "id": 7346, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47085:7:21", + "src": "48049:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -71245,11 +71939,11 @@ }, { "constant": false, - "id": 6732, + "id": 7349, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47108:31:21", + "scope": 7374, + "src": "48072:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71257,10 +71951,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6731, + "id": 7348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47108:7:21", + "src": "48072:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71271,11 +71965,11 @@ }, { "constant": false, - "id": 6734, + "id": 7351, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47149:24:21", + "scope": 7374, + "src": "48113:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71283,10 +71977,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6733, + "id": 7350, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47149:7:21", + "src": "48113:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71297,11 +71991,11 @@ }, { "constant": false, - "id": 6736, + "id": 7353, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47183:23:21", + "scope": 7374, + "src": "48147:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71309,10 +72003,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6735, + "id": 7352, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47183:7:21", + "src": "48147:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71323,26 +72017,26 @@ }, { "constant": false, - "id": 6738, + "id": 7355, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 6757, - "src": "47216:38:21", + "scope": 7374, + "src": "48180:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6737, + "id": 7354, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "47216:28:21", + "referencedDeclaration": 10589, + "src": "48180:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -71350,53 +72044,53 @@ "visibility": "internal" } ], - "src": "47049:211:21" + "src": "48013:211:28" }, "returnParameters": { - "id": 6740, + "id": 7357, "nodeType": "ParameterList", "parameters": [], - "src": "47270:0:21" + "src": "48234:0:28" }, - "scope": 7812, - "src": "47006:774:21", + "scope": 8443, + "src": "47970:774:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6867, + "id": 7484, "nodeType": "Block", - "src": "48535:1180:21", + "src": "49499:1180:28", "statements": [ { "assignments": [ - 6775 + 7392 ], "declarations": [ { "constant": false, - "id": 6775, + "id": 7392, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6867, - "src": "48545:39:21", + "scope": 7484, + "src": "49509:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6774, + "id": 7391, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "48545:23:21", + "referencedDeclaration": 10646, + "src": "49509:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -71404,31 +72098,31 @@ "visibility": "internal" } ], - "id": 6779, + "id": 7396, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6776, + "id": 7393, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "48587:8:21", + "referencedDeclaration": 5152, + "src": "49551:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6778, + "id": 7395, "indexExpression": { "argumentTypes": null, - "id": 6777, + "id": 7394, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "48596:8:21", + "referencedDeclaration": 7376, + "src": "49560:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -71439,42 +72133,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48587:18:21", + "src": "49551:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "48545:60:21" + "src": "49509:60:28" }, { "assignments": [ - 6783 + 7400 ], "declarations": [ { "constant": false, - "id": 6783, + "id": 7400, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6867, - "src": "48615:40:21", + "scope": 7484, + "src": "49579:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6782, + "id": 7399, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "48615:27:21", + "referencedDeclaration": 10605, + "src": "49579:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -71482,33 +72176,33 @@ "visibility": "internal" } ], - "id": 6789, + "id": 7406, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6784, + "id": 7401, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "48658:16:21", + "referencedDeclaration": 5158, + "src": "49622:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6786, + "id": 7403, "indexExpression": { "argumentTypes": null, - "id": 6785, + "id": 7402, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6761, - "src": "48675:5:21", + "referencedDeclaration": 7378, + "src": "49639:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -71519,21 +72213,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48658:23:21", + "src": "49622:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6788, + "id": 7405, "indexExpression": { "argumentTypes": null, - "id": 6787, + "id": 7404, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6759, - "src": "48682:8:21", + "referencedDeclaration": 7376, + "src": "49646:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -71544,37 +72238,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "48658:33:21", + "src": "49622:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "48615:76:21" + "src": "49579:76:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6794, + "id": 7411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6790, + "id": 7407, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "48706:9:21", + "referencedDeclaration": 7386, + "src": "49670:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -71586,32 +72280,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6791, + "id": 7408, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "48719:11:21", + "referencedDeclaration": 11332, + "src": "49683:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6792, + "id": 7409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "48719:28:21", + "referencedDeclaration": 10589, + "src": "49683:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6793, + "id": 7410, "isConstant": false, "isLValue": false, "isPure": true, @@ -71619,13 +72313,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "48719:35:21", + "src": "49683:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "48706:48:21", + "src": "49670:48:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -71635,24 +72329,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6813, + "id": 7430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6809, + "id": 7426, "name": "_rateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6769, - "src": "48995:9:21", + "referencedDeclaration": 7386, + "src": "49959:9:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -71664,32 +72358,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6810, + "id": 7427, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "49008:11:21", + "referencedDeclaration": 11332, + "src": "49972:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6811, + "id": 7428, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "49008:28:21", + "referencedDeclaration": 10589, + "src": "49972:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6812, + "id": 7429, "isConstant": false, "isLValue": false, "isPure": true, @@ -71697,22 +72391,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "49008:37:21", + "src": "49972:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "48995:50:21", + "src": "49959:50:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 6832, + "id": 7449, "nodeType": "Block", - "src": "49295:59:21", + "src": "50259:59:28", "statements": [ { "expression": { @@ -71721,14 +72415,14 @@ { "argumentTypes": null, "hexValue": "496e76616c696420626f72726f772072617465206d6f6465", - "id": 6829, + "id": 7446, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "49316:26:21", + "src": "50280:26:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_dbb490cfc6f0431271e9ffb0a8191270d9899ecd413f945b698120b6dec3ba16", @@ -71744,21 +72438,21 @@ "typeString": "literal_string \"Invalid borrow rate mode\"" } ], - "id": 6828, + "id": 7445, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "49309:6:21", + "referencedDeclaration": 16133, + "src": "50273:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 6830, + "id": 7447, "isConstant": false, "isLValue": false, "isPure": false, @@ -71766,30 +72460,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49309:34:21", + "src": "50273:34:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6831, + "id": 7448, "nodeType": "ExpressionStatement", - "src": "49309:34:21" + "src": "50273:34:28" } ] }, - "id": 6833, + "id": 7450, "nodeType": "IfStatement", - "src": "48991:363:21", + "src": "49955:363:28", "trueBody": { - "id": 6827, + "id": 7444, "nodeType": "Block", - "src": "49047:242:21", + "src": "50011:242:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6818, + "id": 7435, "isConstant": false, "isLValue": false, "isPure": false, @@ -71798,26 +72492,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6814, + "id": 7431, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49157:4:21", + "referencedDeclaration": 7400, + "src": "50121:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6816, + "id": 7433, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "49157:21:21", + "referencedDeclaration": 10600, + "src": "50121:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71828,14 +72522,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6817, + "id": 7434, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "49181:1:21", + "src": "50145:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -71843,20 +72537,20 @@ }, "value": "0" }, - "src": "49157:25:21", + "src": "50121:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6819, + "id": 7436, "nodeType": "ExpressionStatement", - "src": "49157:25:21" + "src": "50121:25:28" }, { "expression": { "argumentTypes": null, - "id": 6825, + "id": 7442, "isConstant": false, "isLValue": false, "isPure": false, @@ -71865,26 +72559,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6820, + "id": 7437, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49196:4:21", + "referencedDeclaration": 7400, + "src": "50160:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6822, + "id": 7439, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "49196:38:21", + "referencedDeclaration": 10596, + "src": "50160:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71896,56 +72590,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6823, + "id": 7440, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "49237:7:21", + "referencedDeclaration": 7392, + "src": "50201:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6824, + "id": 7441, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "49237:41:21", + "referencedDeclaration": 10621, + "src": "50201:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49196:82:21", + "src": "50160:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6826, + "id": 7443, "nodeType": "ExpressionStatement", - "src": "49196:82:21" + "src": "50160:82:28" } ] } }, - "id": 6834, + "id": 7451, "nodeType": "IfStatement", - "src": "48702:652:21", + "src": "49666:652:28", "trueBody": { - "id": 6808, + "id": 7425, "nodeType": "Block", - "src": "48756:229:21", + "src": "49720:229:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 6800, + "id": 7417, "isConstant": false, "isLValue": false, "isPure": false, @@ -71954,26 +72648,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6795, + "id": 7412, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "48863:4:21", + "referencedDeclaration": 7400, + "src": "49827:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6797, + "id": 7414, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "48863:21:21", + "referencedDeclaration": 10600, + "src": "49827:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -71985,45 +72679,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6798, + "id": 7415, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "48887:7:21", + "referencedDeclaration": 7392, + "src": "49851:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6799, + "id": 7416, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "48887:31:21", + "referencedDeclaration": 10617, + "src": "49851:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "48863:55:21", + "src": "49827:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6801, + "id": 7418, "nodeType": "ExpressionStatement", - "src": "48863:55:21" + "src": "49827:55:28" }, { "expression": { "argumentTypes": null, - "id": 6806, + "id": 7423, "isConstant": false, "isLValue": false, "isPure": false, @@ -72032,26 +72726,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6802, + "id": 7419, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "48932:4:21", + "referencedDeclaration": 7400, + "src": "49896:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6804, + "id": 7421, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "48932:38:21", + "referencedDeclaration": 10596, + "src": "49896:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72062,14 +72756,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 6805, + "id": 7422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "48973:1:21", + "src": "49937:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -72077,15 +72771,15 @@ }, "value": "0" }, - "src": "48932:42:21", + "src": "49896:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6807, + "id": 7424, "nodeType": "ExpressionStatement", - "src": "48932:42:21" + "src": "49896:42:28" } ] } @@ -72093,7 +72787,7 @@ { "expression": { "argumentTypes": null, - "id": 6846, + "id": 7463, "isConstant": false, "isLValue": false, "isPure": false, @@ -72102,26 +72796,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6835, + "id": 7452, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49428:4:21", + "referencedDeclaration": 7400, + "src": "50392:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6837, + "id": 7454, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "49428:27:21", + "referencedDeclaration": 10594, + "src": "50392:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72134,12 +72828,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6844, + "id": 7461, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6765, - "src": "49524:16:21", + "referencedDeclaration": 7382, + "src": "50488:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72158,12 +72852,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6841, + "id": 7458, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "49490:15:21", + "referencedDeclaration": 7380, + "src": "50454:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72181,46 +72875,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6838, + "id": 7455, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49458:4:21", + "referencedDeclaration": 7400, + "src": "50422:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6839, + "id": 7456, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "49458:27:21", + "referencedDeclaration": 10594, + "src": "50422:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6840, + "id": 7457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49458:31:21", + "referencedDeclaration": 15070, + "src": "50422:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6842, + "id": 7459, "isConstant": false, "isLValue": false, "isPure": false, @@ -72228,27 +72922,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49458:48:21", + "src": "50422:48:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6843, + "id": 7460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49458:52:21", + "referencedDeclaration": 15070, + "src": "50422:52:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6845, + "id": 7462, "isConstant": false, "isLValue": false, "isPure": false, @@ -72256,26 +72950,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49458:92:21", + "src": "50422:92:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49428:122:21", + "src": "50392:122:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6847, + "id": 7464, "nodeType": "ExpressionStatement", - "src": "49428:122:21" + "src": "50392:122:28" }, { "expression": { "argumentTypes": null, - "id": 6856, + "id": 7473, "isConstant": false, "isLValue": false, "isPure": false, @@ -72284,26 +72978,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6848, + "id": 7465, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49560:4:21", + "referencedDeclaration": 7400, + "src": "50524:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6850, + "id": 7467, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "49560:19:21", + "referencedDeclaration": 10598, + "src": "50524:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72316,12 +73010,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6854, + "id": 7471, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6767, - "src": "49606:4:21", + "referencedDeclaration": 7384, + "src": "50570:4:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72339,46 +73033,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6851, + "id": 7468, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49582:4:21", + "referencedDeclaration": 7400, + "src": "50546:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6852, + "id": 7469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "49582:19:21", + "referencedDeclaration": 10598, + "src": "50546:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6853, + "id": 7470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "49582:23:21", + "referencedDeclaration": 15070, + "src": "50546:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6855, + "id": 7472, "isConstant": false, "isLValue": false, "isPure": false, @@ -72386,26 +73080,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49582:29:21", + "src": "50546:29:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "49560:51:21", + "src": "50524:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6857, + "id": 7474, "nodeType": "ExpressionStatement", - "src": "49560:51:21" + "src": "50524:51:28" }, { "expression": { "argumentTypes": null, - "id": 6865, + "id": 7482, "isConstant": false, "isLValue": false, "isPure": false, @@ -72414,26 +73108,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6858, + "id": 7475, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6783, - "src": "49657:4:21", + "referencedDeclaration": 7400, + "src": "50621:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6860, + "id": 7477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "49657:24:21", + "referencedDeclaration": 10602, + "src": "50621:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -72448,18 +73142,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6862, + "id": 7479, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "49691:5:21", + "referencedDeclaration": 16117, + "src": "50655:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6863, + "id": 7480, "isConstant": false, "isLValue": false, "isPure": false, @@ -72467,7 +73161,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "49691:15:21", + "src": "50655:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72481,20 +73175,20 @@ "typeString": "uint256" } ], - "id": 6861, + "id": 7478, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "49684:6:21", + "src": "50648:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 6864, + "id": 7481, "isConstant": false, "isLValue": false, "isPure": false, @@ -72502,42 +73196,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "49684:23:21", + "src": "50648:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "49657:50:21", + "src": "50621:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 6866, + "id": 7483, "nodeType": "ExpressionStatement", - "src": "49657:50:21" + "src": "50621:50:28" } ] }, "documentation": "@dev updates the state of a user as a consequence of a borrow action.\n@param _reserve the address of the reserve on which the user is borrowing\n@param _user the address of the borrower\n@param _amountBorrowed the amount borrowed\n@param _balanceIncrease the accrued interest of the user on the previous borrowed amount\n@param _rateMode the borrow rate mode (stable, variable)\n@return the final borrow rate for the user. Emitted by the borrow() event*", - "id": 6868, + "id": 7485, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnBorrowInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6770, + "id": 7387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6759, + "id": 7376, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48343:16:21", + "scope": 7485, + "src": "49307:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72545,10 +73239,10 @@ "typeString": "address" }, "typeName": { - "id": 6758, + "id": 7375, "name": "address", "nodeType": "ElementaryTypeName", - "src": "48343:7:21", + "src": "49307:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -72560,11 +73254,11 @@ }, { "constant": false, - "id": 6761, + "id": 7378, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48369:13:21", + "scope": 7485, + "src": "49333:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72572,10 +73266,10 @@ "typeString": "address" }, "typeName": { - "id": 6760, + "id": 7377, "name": "address", "nodeType": "ElementaryTypeName", - "src": "48369:7:21", + "src": "49333:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -72587,11 +73281,11 @@ }, { "constant": false, - "id": 6763, + "id": 7380, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48392:23:21", + "scope": 7485, + "src": "49356:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72599,10 +73293,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6762, + "id": 7379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48392:7:21", + "src": "49356:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72613,11 +73307,11 @@ }, { "constant": false, - "id": 6765, + "id": 7382, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48425:24:21", + "scope": 7485, + "src": "49389:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72625,10 +73319,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6764, + "id": 7381, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48425:7:21", + "src": "49389:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72639,11 +73333,11 @@ }, { "constant": false, - "id": 6767, + "id": 7384, "name": "_fee", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48459:12:21", + "scope": 7485, + "src": "49423:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72651,10 +73345,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6766, + "id": 7383, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "48459:7:21", + "src": "49423:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72665,26 +73359,26 @@ }, { "constant": false, - "id": 6769, + "id": 7386, "name": "_rateMode", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "48481:38:21", + "scope": 7485, + "src": "49445:38:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6768, + "id": 7385, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "48481:28:21", + "referencedDeclaration": 10589, + "src": "49445:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -72692,53 +73386,53 @@ "visibility": "internal" } ], - "src": "48333:192:21" + "src": "49297:192:28" }, "returnParameters": { - "id": 6771, + "id": 7388, "nodeType": "ParameterList", "parameters": [], - "src": "48535:0:21" + "src": "49499:0:28" }, - "scope": 7812, - "src": "48293:1422:21", + "scope": 8443, + "src": "49257:1422:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 6948, + "id": 7565, "nodeType": "Block", - "src": "50275:1010:21", + "src": "51239:1010:28", "statements": [ { "assignments": [ - 6882 + 7499 ], "declarations": [ { "constant": false, - "id": 6882, + "id": 7499, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50285:39:21", + "scope": 7565, + "src": "51249:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6881, + "id": 7498, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "50285:23:21", + "referencedDeclaration": 10646, + "src": "51249:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -72746,31 +73440,31 @@ "visibility": "internal" } ], - "id": 6886, + "id": 7503, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6883, + "id": 7500, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "50327:8:21", + "referencedDeclaration": 5152, + "src": "51291:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6885, + "id": 7502, "indexExpression": { "argumentTypes": null, - "id": 6884, + "id": 7501, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50336:8:21", + "referencedDeclaration": 7487, + "src": "51300:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -72781,42 +73475,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50327:18:21", + "src": "51291:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "50285:60:21" + "src": "51249:60:28" }, { "assignments": [ - 6890 + 7507 ], "declarations": [ { "constant": false, - "id": 6890, + "id": 7507, "name": "user", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50355:40:21", + "scope": 7565, + "src": "51319:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6889, + "id": 7506, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "50355:27:21", + "referencedDeclaration": 10605, + "src": "51319:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -72824,33 +73518,33 @@ "visibility": "internal" } ], - "id": 6896, + "id": 7513, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6891, + "id": 7508, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "50398:16:21", + "referencedDeclaration": 5158, + "src": "51362:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6893, + "id": 7510, "indexExpression": { "argumentTypes": null, - "id": 6892, - "name": "_reserve", + "id": 7509, + "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50415:8:21", + "referencedDeclaration": 7489, + "src": "51379:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -72861,21 +73555,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50398:26:21", + "src": "51362:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6895, + "id": 7512, "indexExpression": { "argumentTypes": null, - "id": 6894, - "name": "_user", + "id": 7511, + "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "50425:5:21", + "referencedDeclaration": 7487, + "src": "51386:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -72886,42 +73580,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50398:33:21", + "src": "51362:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "50355:76:21" + "src": "51319:76:28" }, { "assignments": [ - 6900 + 7517 ], "declarations": [ { "constant": false, - "id": 6900, + "id": 7517, "name": "borrowRateMode", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "50442:43:21", + "scope": 7565, + "src": "51406:43:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 6899, + "id": 7516, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "50442:28:21", + "referencedDeclaration": 10589, + "src": "51406:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -72929,18 +73623,18 @@ "visibility": "internal" } ], - "id": 6905, + "id": 7522, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 6902, + "id": 7519, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50517:8:21", + "referencedDeclaration": 7487, + "src": "51481:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -72948,12 +73642,12 @@ }, { "argumentTypes": null, - "id": 6903, + "id": 7520, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6872, - "src": "50527:5:21", + "referencedDeclaration": 7489, + "src": "51491:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -72971,18 +73665,18 @@ "typeString": "address" } ], - "id": 6901, + "id": 7518, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "50488:28:21", + "referencedDeclaration": 6688, + "src": "51452:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 6904, + "id": 7521, "isConstant": false, "isLValue": false, "isPure": false, @@ -72990,14 +73684,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50488:45:21", + "src": "51452:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "50442:91:21" + "src": "51406:91:28" }, { "expression": { @@ -73009,26 +73703,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6906, + "id": 7523, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "50573:8:21", + "referencedDeclaration": 5152, + "src": "51537:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6908, + "id": 7525, "indexExpression": { "argumentTypes": null, - "id": 6907, + "id": 7524, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "50582:8:21", + "referencedDeclaration": 7487, + "src": "51546:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -73039,27 +73733,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "50573:18:21", + "src": "51537:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 6909, + "id": 7526, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "50573:42:21", + "referencedDeclaration": 10724, + "src": "51537:42:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 6910, + "id": 7527, "isConstant": false, "isLValue": false, "isPure": false, @@ -73067,38 +73761,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50573:44:21", + "src": "51537:44:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6911, + "id": 7528, "nodeType": "ExpressionStatement", - "src": "50573:44:21" + "src": "51537:44:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 6916, + "id": 7533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 6912, + "id": 7529, "name": "borrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6900, - "src": "50736:14:21", + "referencedDeclaration": 7517, + "src": "51700:14:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -73110,32 +73804,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6913, + "id": 7530, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "50754:11:21", + "referencedDeclaration": 11332, + "src": "51718:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 6914, + "id": 7531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "50754:28:21", + "referencedDeclaration": 10589, + "src": "51718:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 6915, + "id": 7532, "isConstant": false, "isLValue": false, "isPure": true, @@ -73143,22 +73837,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "50754:35:21", + "src": "51718:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "50736:53:21", + "src": "51700:53:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 6946, + "id": 7563, "nodeType": "Block", - "src": "51125:154:21", + "src": "52089:154:28", "statements": [ { "expression": { @@ -73166,12 +73860,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6937, + "id": 7554, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "51176:16:21", + "referencedDeclaration": 7493, + "src": "52140:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73187,32 +73881,32 @@ ], "expression": { "argumentTypes": null, - "id": 6934, + "id": 7551, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "51139:7:21", + "referencedDeclaration": 7499, + "src": "52103:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6936, + "id": 7553, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "51139:36:21", + "referencedDeclaration": 11212, + "src": "52103:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 6938, + "id": 7555, "isConstant": false, "isLValue": false, "isPure": false, @@ -73220,15 +73914,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "51139:54:21", + "src": "52103:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6939, + "id": 7556, "nodeType": "ExpressionStatement", - "src": "51139:54:21" + "src": "52103:54:28" }, { "expression": { @@ -73236,12 +73930,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6943, + "id": 7560, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "51244:23:21", + "referencedDeclaration": 7491, + "src": "52208:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73257,32 +73951,32 @@ ], "expression": { "argumentTypes": null, - "id": 6940, + "id": 7557, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "51207:7:21", + "referencedDeclaration": 7499, + "src": "52171:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6942, + "id": 7559, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "51207:36:21", + "referencedDeclaration": 11238, + "src": "52171:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 6944, + "id": 7561, "isConstant": false, "isLValue": false, "isPure": false, @@ -73290,25 +73984,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "51207:61:21", + "src": "52171:61:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6945, + "id": 7562, "nodeType": "ExpressionStatement", - "src": "51207:61:21" + "src": "52171:61:28" } ] }, - "id": 6947, + "id": 7564, "nodeType": "IfStatement", - "src": "50732:547:21", + "src": "51696:547:28", "trueBody": { - "id": 6933, + "id": 7550, "nodeType": "Block", - "src": "50791:328:21", + "src": "51755:328:28", "statements": [ { "expression": { @@ -73316,12 +74010,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6920, + "id": 7537, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "50877:16:21", + "referencedDeclaration": 7493, + "src": "51841:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73331,26 +74025,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6921, + "id": 7538, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "50911:4:21", + "referencedDeclaration": 7507, + "src": "51875:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6922, + "id": 7539, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "50911:21:21", + "referencedDeclaration": 10600, + "src": "51875:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73370,32 +74064,32 @@ ], "expression": { "argumentTypes": null, - "id": 6917, + "id": 7534, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "50805:7:21", + "referencedDeclaration": 7499, + "src": "51769:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6919, + "id": 7536, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "50805:54:21", + "referencedDeclaration": 11107, + "src": "51769:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 6923, + "id": 7540, "isConstant": false, "isLValue": false, "isPure": false, @@ -73403,15 +74097,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50805:141:21", + "src": "51769:141:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6924, + "id": 7541, "nodeType": "ExpressionStatement", - "src": "50805:141:21" + "src": "51769:141:28" }, { "expression": { @@ -73419,12 +74113,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6928, + "id": 7545, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6874, - "src": "51032:23:21", + "referencedDeclaration": 7491, + "src": "51996:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73434,26 +74128,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6929, + "id": 7546, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "51073:4:21", + "referencedDeclaration": 7507, + "src": "52037:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6930, + "id": 7547, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "51073:21:21", + "referencedDeclaration": 10600, + "src": "52037:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73473,32 +74167,32 @@ ], "expression": { "argumentTypes": null, - "id": 6925, + "id": 7542, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "50960:7:21", + "referencedDeclaration": 7499, + "src": "51924:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6927, + "id": 7544, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "50960:54:21", + "referencedDeclaration": 11194, + "src": "51924:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 6931, + "id": 7548, "isConstant": false, "isLValue": false, "isPure": false, @@ -73506,15 +74200,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "50960:148:21", + "src": "51924:148:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6932, + "id": 7549, "nodeType": "ExpressionStatement", - "src": "50960:148:21" + "src": "51924:148:28" } ] } @@ -73522,23 +74216,23 @@ ] }, "documentation": "@dev updates the state of the reserve as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 6949, + "id": 7566, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnRepayInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6877, + "id": 7494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6870, + "id": 7487, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50145:16:21", + "scope": 7566, + "src": "51109:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73546,10 +74240,10 @@ "typeString": "address" }, "typeName": { - "id": 6869, + "id": 7486, "name": "address", "nodeType": "ElementaryTypeName", - "src": "50145:7:21", + "src": "51109:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -73561,11 +74255,11 @@ }, { "constant": false, - "id": 6872, + "id": 7489, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50171:13:21", + "scope": 7566, + "src": "51135:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73573,10 +74267,10 @@ "typeString": "address" }, "typeName": { - "id": 6871, + "id": 7488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "50171:7:21", + "src": "51135:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -73588,11 +74282,11 @@ }, { "constant": false, - "id": 6874, + "id": 7491, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50194:31:21", + "scope": 7566, + "src": "51158:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73600,10 +74294,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6873, + "id": 7490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "50194:7:21", + "src": "51158:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73614,11 +74308,11 @@ }, { "constant": false, - "id": 6876, + "id": 7493, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "50235:24:21", + "scope": 7566, + "src": "51199:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73626,10 +74320,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6875, + "id": 7492, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "50235:7:21", + "src": "51199:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73639,53 +74333,53 @@ "visibility": "internal" } ], - "src": "50135:130:21" + "src": "51099:130:28" }, "returnParameters": { - "id": 6878, + "id": 7495, "nodeType": "ParameterList", "parameters": [], - "src": "50275:0:21" + "src": "51239:0:28" }, - "scope": 7812, - "src": "50093:1192:21", + "scope": 8443, + "src": "51057:1192:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7036, + "id": 7653, "nodeType": "Block", - "src": "52060:1017:21", + "src": "53024:1017:28", "statements": [ { "assignments": [ - 6967 + 7584 ], "declarations": [ { "constant": false, - "id": 6967, + "id": 7584, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "52070:39:21", + "scope": 7653, + "src": "53034:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 6966, + "id": 7583, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "52070:23:21", + "referencedDeclaration": 10646, + "src": "53034:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -73693,31 +74387,31 @@ "visibility": "internal" } ], - "id": 6971, + "id": 7588, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6968, + "id": 7585, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "52112:8:21", + "referencedDeclaration": 5152, + "src": "53076:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 6970, + "id": 7587, "indexExpression": { "argumentTypes": null, - "id": 6969, + "id": 7586, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "52121:8:21", + "referencedDeclaration": 7568, + "src": "53085:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -73728,42 +74422,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52112:18:21", + "src": "53076:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "52070:60:21" + "src": "53034:60:28" }, { "assignments": [ - 6975 + 7592 ], "declarations": [ { "constant": false, - "id": 6975, + "id": 7592, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7036, - "src": "52140:40:21", + "scope": 7653, + "src": "53104:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 6974, + "id": 7591, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "52140:27:21", + "referencedDeclaration": 10605, + "src": "53104:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -73771,33 +74465,33 @@ "visibility": "internal" } ], - "id": 6981, + "id": 7598, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 6976, + "id": 7593, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "52183:16:21", + "referencedDeclaration": 5158, + "src": "53147:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 6978, + "id": 7595, "indexExpression": { "argumentTypes": null, - "id": 6977, + "id": 7594, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "52200:5:21", + "referencedDeclaration": 7570, + "src": "53164:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -73808,21 +74502,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52183:23:21", + "src": "53147:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 6980, + "id": 7597, "indexExpression": { "argumentTypes": null, - "id": 6979, + "id": 7596, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6951, - "src": "52207:8:21", + "referencedDeclaration": 7568, + "src": "53171:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -73833,19 +74527,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "52183:33:21", + "src": "53147:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "52140:76:21" + "src": "53104:76:28" }, { "expression": { "argumentTypes": null, - "id": 6993, + "id": 7610, "isConstant": false, "isLValue": false, "isPure": false, @@ -73854,26 +74548,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6982, + "id": 7599, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52349:4:21", + "referencedDeclaration": 7592, + "src": "53313:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6984, + "id": 7601, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "52349:27:21", + "referencedDeclaration": 10594, + "src": "53313:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73886,12 +74580,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6991, + "id": 7608, "name": "_paybackAmountMinusFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6955, - "src": "52446:23:21", + "referencedDeclaration": 7572, + "src": "53410:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73910,12 +74604,12 @@ "arguments": [ { "argumentTypes": null, - "id": 6988, + "id": 7605, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "52411:16:21", + "referencedDeclaration": 7576, + "src": "53375:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73933,46 +74627,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6985, + "id": 7602, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52379:4:21", + "referencedDeclaration": 7592, + "src": "53343:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6986, + "id": 7603, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "52379:27:21", + "referencedDeclaration": 10594, + "src": "53343:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6987, + "id": 7604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "52379:31:21", + "referencedDeclaration": 15070, + "src": "53343:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6989, + "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, @@ -73980,27 +74674,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52379:49:21", + "src": "53343:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6990, + "id": 7607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "52379:53:21", + "referencedDeclaration": 15095, + "src": "53343:53:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 6992, + "id": 7609, "isConstant": false, "isLValue": false, "isPure": false, @@ -74008,26 +74702,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52379:100:21", + "src": "53343:100:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52349:130:21", + "src": "53313:130:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6994, + "id": 7611, "nodeType": "ExpressionStatement", - "src": "52349:130:21" + "src": "53313:130:28" }, { "expression": { "argumentTypes": null, - "id": 7000, + "id": 7617, "isConstant": false, "isLValue": false, "isPure": false, @@ -74036,26 +74730,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6995, + "id": 7612, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52489:4:21", + "referencedDeclaration": 7592, + "src": "53453:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 6997, + "id": 7614, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "52489:38:21", + "referencedDeclaration": 10596, + "src": "53453:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74067,68 +74761,68 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 6998, + "id": 7615, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6967, - "src": "52530:7:21", + "referencedDeclaration": 7584, + "src": "53494:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 6999, + "id": 7616, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "52530:41:21", + "referencedDeclaration": 10621, + "src": "53494:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52489:82:21", + "src": "53453:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7001, + "id": 7618, "nodeType": "ExpressionStatement", - "src": "52489:82:21" + "src": "53453:82:28" }, { "condition": { "argumentTypes": null, - "id": 7002, + "id": 7619, "name": "_repaidWholeLoan", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "52772:16:21", + "referencedDeclaration": 7578, + "src": "53736:16:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7016, + "id": 7633, "nodeType": "IfStatement", - "src": "52768:128:21", + "src": "53732:128:28", "trueBody": { - "id": 7015, + "id": 7632, "nodeType": "Block", - "src": "52790:106:21", + "src": "53754:106:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7007, + "id": 7624, "isConstant": false, "isLValue": false, "isPure": false, @@ -74137,26 +74831,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7003, + "id": 7620, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52804:4:21", + "referencedDeclaration": 7592, + "src": "53768:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7005, + "id": 7622, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "52804:21:21", + "referencedDeclaration": 10600, + "src": "53768:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74167,14 +74861,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7006, + "id": 7623, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "52828:1:21", + "src": "53792:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -74182,20 +74876,20 @@ }, "value": "0" }, - "src": "52804:25:21", + "src": "53768:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7008, + "id": 7625, "nodeType": "ExpressionStatement", - "src": "52804:25:21" + "src": "53768:25:28" }, { "expression": { "argumentTypes": null, - "id": 7013, + "id": 7630, "isConstant": false, "isLValue": false, "isPure": false, @@ -74204,26 +74898,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7009, + "id": 7626, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52843:4:21", + "referencedDeclaration": 7592, + "src": "53807:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7011, + "id": 7628, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "52843:38:21", + "referencedDeclaration": 10596, + "src": "53807:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74234,14 +74928,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7012, + "id": 7629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "52884:1:21", + "src": "53848:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -74249,15 +74943,15 @@ }, "value": "0" }, - "src": "52843:42:21", + "src": "53807:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7014, + "id": 7631, "nodeType": "ExpressionStatement", - "src": "52843:42:21" + "src": "53807:42:28" } ] } @@ -74265,7 +74959,7 @@ { "expression": { "argumentTypes": null, - "id": 7025, + "id": 7642, "isConstant": false, "isLValue": false, "isPure": false, @@ -74274,26 +74968,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7017, + "id": 7634, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52905:4:21", + "referencedDeclaration": 7592, + "src": "53869:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7019, + "id": 7636, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "52905:19:21", + "referencedDeclaration": 10598, + "src": "53869:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74306,12 +75000,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7023, + "id": 7640, "name": "_originationFeeRepaid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "52951:21:21", + "referencedDeclaration": 7574, + "src": "53915:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74329,46 +75023,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7020, + "id": 7637, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "52927:4:21", + "referencedDeclaration": 7592, + "src": "53891:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7021, + "id": 7638, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "52927:19:21", + "referencedDeclaration": 10598, + "src": "53891:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7022, + "id": 7639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "52927:23:21", + "referencedDeclaration": 15095, + "src": "53891:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7024, + "id": 7641, "isConstant": false, "isLValue": false, "isPure": false, @@ -74376,26 +75070,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "52927:46:21", + "src": "53891:46:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "52905:68:21", + "src": "53869:68:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7026, + "id": 7643, "nodeType": "ExpressionStatement", - "src": "52905:68:21" + "src": "53869:68:28" }, { "expression": { "argumentTypes": null, - "id": 7034, + "id": 7651, "isConstant": false, "isLValue": false, "isPure": false, @@ -74404,26 +75098,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7027, + "id": 7644, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "53019:4:21", + "referencedDeclaration": 7592, + "src": "53983:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7029, + "id": 7646, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "53019:24:21", + "referencedDeclaration": 10602, + "src": "53983:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -74438,18 +75132,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7031, + "id": 7648, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "53053:5:21", + "referencedDeclaration": 16117, + "src": "54017:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7032, + "id": 7649, "isConstant": false, "isLValue": false, "isPure": false, @@ -74457,7 +75151,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "53053:15:21", + "src": "54017:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74471,20 +75165,20 @@ "typeString": "uint256" } ], - "id": 7030, + "id": 7647, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "53046:6:21", + "src": "54010:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7033, + "id": 7650, "isConstant": false, "isLValue": false, "isPure": false, @@ -74492,42 +75186,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "53046:23:21", + "src": "54010:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "53019:50:21", + "src": "53983:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7035, + "id": 7652, "nodeType": "ExpressionStatement", - "src": "53019:50:21" + "src": "53983:50:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a repay action.\n@param _reserve the address of the reserve on which the user is repaying\n@param _user the address of the borrower\n@param _paybackAmountMinusFees the amount being paid back minus fees\n@param _originationFeeRepaid the fee on the amount that is being repaid\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _repaidWholeLoan true if the user is repaying the whole loan*", - "id": 7037, + "id": 7654, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnRepayInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 6962, + "id": 7579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6951, + "id": 7568, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51860:16:21", + "scope": 7654, + "src": "52824:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74535,10 +75229,10 @@ "typeString": "address" }, "typeName": { - "id": 6950, + "id": 7567, "name": "address", "nodeType": "ElementaryTypeName", - "src": "51860:7:21", + "src": "52824:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -74550,11 +75244,11 @@ }, { "constant": false, - "id": 6953, + "id": 7570, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51886:13:21", + "scope": 7654, + "src": "52850:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74562,10 +75256,10 @@ "typeString": "address" }, "typeName": { - "id": 6952, + "id": 7569, "name": "address", "nodeType": "ElementaryTypeName", - "src": "51886:7:21", + "src": "52850:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -74577,11 +75271,11 @@ }, { "constant": false, - "id": 6955, + "id": 7572, "name": "_paybackAmountMinusFees", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51909:31:21", + "scope": 7654, + "src": "52873:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74589,10 +75283,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6954, + "id": 7571, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51909:7:21", + "src": "52873:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74603,11 +75297,11 @@ }, { "constant": false, - "id": 6957, + "id": 7574, "name": "_originationFeeRepaid", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51950:29:21", + "scope": 7654, + "src": "52914:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74615,10 +75309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6956, + "id": 7573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51950:7:21", + "src": "52914:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74629,11 +75323,11 @@ }, { "constant": false, - "id": 6959, + "id": 7576, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "51989:24:21", + "scope": 7654, + "src": "52953:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74641,10 +75335,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6958, + "id": 7575, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "51989:7:21", + "src": "52953:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74655,11 +75349,11 @@ }, { "constant": false, - "id": 6961, + "id": 7578, "name": "_repaidWholeLoan", "nodeType": "VariableDeclaration", - "scope": 7037, - "src": "52023:21:21", + "scope": 7654, + "src": "52987:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74667,10 +75361,10 @@ "typeString": "bool" }, "typeName": { - "id": 6960, + "id": 7577, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "52023:4:21", + "src": "52987:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -74680,53 +75374,53 @@ "visibility": "internal" } ], - "src": "51850:200:21" + "src": "52814:200:28" }, "returnParameters": { - "id": 6963, + "id": 7580, "nodeType": "ParameterList", "parameters": [], - "src": "52060:0:21" + "src": "53024:0:28" }, - "scope": 7812, - "src": "51811:1266:21", + "scope": 8443, + "src": "52775:1266:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7128, + "id": 7745, "nodeType": "Block", - "src": "53809:1223:21", + "src": "54773:1223:28", "statements": [ { "assignments": [ - 7053 + 7670 ], "declarations": [ { "constant": false, - "id": 7053, + "id": 7670, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "53819:39:21", + "scope": 7745, + "src": "54783:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7052, + "id": 7669, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "53819:23:21", + "referencedDeclaration": 10646, + "src": "54783:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -74734,31 +75428,31 @@ "visibility": "internal" } ], - "id": 7057, + "id": 7674, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7054, + "id": 7671, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "53861:8:21", + "referencedDeclaration": 5152, + "src": "54825:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7056, + "id": 7673, "indexExpression": { "argumentTypes": null, - "id": 7055, + "id": 7672, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "53870:8:21", + "referencedDeclaration": 7656, + "src": "54834:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -74769,42 +75463,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53861:18:21", + "src": "54825:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "53819:60:21" + "src": "54783:60:28" }, { "assignments": [ - 7061 + 7678 ], "declarations": [ { "constant": false, - "id": 7061, + "id": 7678, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7128, - "src": "53889:40:21", + "scope": 7745, + "src": "54853:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7060, + "id": 7677, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "53889:27:21", + "referencedDeclaration": 10605, + "src": "54853:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -74812,33 +75506,33 @@ "visibility": "internal" } ], - "id": 7067, + "id": 7684, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7062, + "id": 7679, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "53932:16:21", + "referencedDeclaration": 5158, + "src": "54896:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7064, + "id": 7681, "indexExpression": { "argumentTypes": null, - "id": 7063, + "id": 7680, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7041, - "src": "53949:5:21", + "referencedDeclaration": 7658, + "src": "54913:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -74849,21 +75543,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53932:23:21", + "src": "54896:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7066, + "id": 7683, "indexExpression": { "argumentTypes": null, - "id": 7065, + "id": 7682, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7039, - "src": "53956:8:21", + "referencedDeclaration": 7656, + "src": "54920:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -74874,14 +75568,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "53932:33:21", + "src": "54896:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "53889:76:21" + "src": "54853:76:28" }, { "expression": { @@ -74891,32 +75585,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7068, + "id": 7685, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54014:7:21", + "referencedDeclaration": 7670, + "src": "54978:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7070, + "id": 7687, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "54014:31:21", + "referencedDeclaration": 10724, + "src": "54978:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7071, + "id": 7688, "isConstant": false, "isLValue": false, "isPure": false, @@ -74924,38 +75618,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54014:33:21", + "src": "54978:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7072, + "id": 7689, "nodeType": "ExpressionStatement", - "src": "54014:33:21" + "src": "54978:33:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7077, + "id": 7694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7073, + "id": 7690, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7047, - "src": "54062:16:21", + "referencedDeclaration": 7664, + "src": "55026:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -74967,32 +75661,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7074, + "id": 7691, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "54082:11:21", + "referencedDeclaration": 11332, + "src": "55046:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7075, + "id": 7692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "54082:28:21", + "referencedDeclaration": 10589, + "src": "55046:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7076, + "id": 7693, "isConstant": false, "isLValue": false, "isPure": true, @@ -75000,13 +75694,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "54082:35:21", + "src": "55046:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "54062:55:21", + "src": "55026:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -75016,24 +75710,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7101, + "id": 7718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7097, + "id": 7714, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7047, - "src": "54552:16:21", + "referencedDeclaration": 7664, + "src": "55516:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -75045,32 +75739,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7098, + "id": 7715, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "54572:11:21", + "referencedDeclaration": 11332, + "src": "55536:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7099, + "id": 7716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "54572:28:21", + "referencedDeclaration": 10589, + "src": "55536:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7100, + "id": 7717, "isConstant": false, "isLValue": false, "isPure": true, @@ -75078,22 +75772,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "54572:37:21", + "src": "55536:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "54552:57:21", + "src": "55516:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7125, + "id": 7742, "nodeType": "Block", - "src": "54965:61:21", + "src": "55929:61:28", "statements": [ { "expression": { @@ -75102,14 +75796,14 @@ { "argumentTypes": null, "hexValue": "496e76616c69642072617465206d6f6465207265636569766564", - "id": 7122, + "id": 7739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "54986:28:21", + "src": "55950:28:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e1a15775d6c7f103e1a6169d1edc5198416901b826d36295bcf76352fa29fea", @@ -75125,21 +75819,21 @@ "typeString": "literal_string \"Invalid rate mode received\"" } ], - "id": 7121, + "id": 7738, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "54979:6:21", + "referencedDeclaration": 16133, + "src": "55943:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7123, + "id": 7740, "isConstant": false, "isLValue": false, "isPure": false, @@ -75147,38 +75841,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54979:36:21", + "src": "55943:36:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7124, + "id": 7741, "nodeType": "ExpressionStatement", - "src": "54979:36:21" + "src": "55943:36:28" } ] }, - "id": 7126, + "id": 7743, "nodeType": "IfStatement", - "src": "54548:478:21", + "src": "55512:478:28", "trueBody": { - "id": 7120, + "id": 7737, "nodeType": "Block", - "src": "54611:348:21", + "src": "55575:348:28", "statements": [ { "assignments": [ - 7103 + 7720 ], "declarations": [ { "constant": false, - "id": 7103, + "id": 7720, "name": "currentStableRate", "nodeType": "VariableDeclaration", - "scope": 7120, - "src": "54654:25:21", + "scope": 7737, + "src": "55618:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75186,10 +75880,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7102, + "id": 7719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "54654:7:21", + "src": "55618:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75199,38 +75893,38 @@ "visibility": "internal" } ], - "id": 7106, + "id": 7723, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7104, + "id": 7721, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54682:7:21", + "referencedDeclaration": 7670, + "src": "55646:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7105, + "id": 7722, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "54682:31:21", + "referencedDeclaration": 10617, + "src": "55646:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "54654:59:21" + "src": "55618:59:28" }, { "expression": { @@ -75238,12 +75932,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7110, + "id": 7727, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7043, - "src": "54764:23:21", + "referencedDeclaration": 7660, + "src": "55728:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75259,32 +75953,32 @@ ], "expression": { "argumentTypes": null, - "id": 7107, + "id": 7724, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54727:7:21", + "referencedDeclaration": 7670, + "src": "55691:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7109, + "id": 7726, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "54727:36:21", + "referencedDeclaration": 11238, + "src": "55691:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7111, + "id": 7728, "isConstant": false, "isLValue": false, "isPure": false, @@ -75292,15 +75986,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54727:61:21", + "src": "55691:61:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7112, + "id": 7729, "nodeType": "ExpressionStatement", - "src": "54727:61:21" + "src": "55691:61:28" }, { "expression": { @@ -75308,12 +76002,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7116, + "id": 7733, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "54874:24:21", + "referencedDeclaration": 7662, + "src": "55838:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75321,12 +76015,12 @@ }, { "argumentTypes": null, - "id": 7117, + "id": 7734, "name": "currentStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7103, - "src": "54916:17:21", + "referencedDeclaration": 7720, + "src": "55880:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75346,32 +76040,32 @@ ], "expression": { "argumentTypes": null, - "id": 7113, + "id": 7730, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54802:7:21", + "referencedDeclaration": 7670, + "src": "55766:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7115, + "id": 7732, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "54802:54:21", + "referencedDeclaration": 11107, + "src": "55766:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7118, + "id": 7735, "isConstant": false, "isLValue": false, "isPure": false, @@ -75379,39 +76073,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54802:145:21", + "src": "55766:145:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7119, + "id": 7736, "nodeType": "ExpressionStatement", - "src": "54802:145:21" + "src": "55766:145:28" } ] } }, - "id": 7127, + "id": 7744, "nodeType": "IfStatement", - "src": "54058:968:21", + "src": "55022:968:28", "trueBody": { - "id": 7096, + "id": 7713, "nodeType": "Block", - "src": "54119:423:21", + "src": "55083:423:28", "statements": [ { "assignments": [ - 7079 + 7696 ], "declarations": [ { "constant": false, - "id": 7079, + "id": 7696, "name": "userCurrentStableRate", "nodeType": "VariableDeclaration", - "scope": 7096, - "src": "54133:29:21", + "scope": 7713, + "src": "55097:29:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75419,10 +76113,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7078, + "id": 7695, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "54133:7:21", + "src": "55097:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75432,38 +76126,38 @@ "visibility": "internal" } ], - "id": 7082, + "id": 7699, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7080, + "id": 7697, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7061, - "src": "54165:4:21", + "referencedDeclaration": 7678, + "src": "55129:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7081, + "id": 7698, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "54165:21:21", + "referencedDeclaration": 10600, + "src": "55129:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "54133:53:21" + "src": "55097:53:28" }, { "expression": { @@ -75471,12 +76165,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7086, + "id": 7703, "name": "_principalBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7043, - "src": "54304:23:21", + "referencedDeclaration": 7660, + "src": "55268:23:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75484,12 +76178,12 @@ }, { "argumentTypes": null, - "id": 7087, + "id": 7704, "name": "userCurrentStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7079, - "src": "54345:21:21", + "referencedDeclaration": 7696, + "src": "55309:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75509,32 +76203,32 @@ ], "expression": { "argumentTypes": null, - "id": 7083, + "id": 7700, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54232:7:21", + "referencedDeclaration": 7670, + "src": "55196:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7085, + "id": 7702, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "54232:54:21", + "referencedDeclaration": 11194, + "src": "55196:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7088, + "id": 7705, "isConstant": false, "isLValue": false, "isPure": false, @@ -75542,15 +76236,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54232:148:21", + "src": "55196:148:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7089, + "id": 7706, "nodeType": "ExpressionStatement", - "src": "54232:148:21" + "src": "55196:148:28" }, { "expression": { @@ -75558,12 +76252,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7093, + "id": 7710, "name": "_compoundedBorrowBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "54478:24:21", + "referencedDeclaration": 7662, + "src": "55442:24:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75579,32 +76273,32 @@ ], "expression": { "argumentTypes": null, - "id": 7090, + "id": 7707, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7053, - "src": "54441:7:21", + "referencedDeclaration": 7670, + "src": "55405:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7092, + "id": 7709, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "54441:36:21", + "referencedDeclaration": 11212, + "src": "55405:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7094, + "id": 7711, "isConstant": false, "isLValue": false, "isPure": false, @@ -75612,15 +76306,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "54441:62:21", + "src": "55405:62:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7095, + "id": 7712, "nodeType": "ExpressionStatement", - "src": "54441:62:21" + "src": "55405:62:28" } ] } @@ -75628,23 +76322,23 @@ ] }, "documentation": "@dev updates the state of the user as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is performing the rate swap\n@param _user the address of the borrower\n@param _principalBorrowBalance the the principal amount borrowed by the user\n@param _compoundedBorrowBalance the principal amount plus the accrued interest\n@param _currentRateMode the rate mode at which the user borrowed*", - "id": 7129, + "id": 7746, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnSwapRateInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7048, + "id": 7665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7039, + "id": 7656, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53616:16:21", + "scope": 7746, + "src": "54580:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75652,10 +76346,10 @@ "typeString": "address" }, "typeName": { - "id": 7038, + "id": 7655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53616:7:21", + "src": "54580:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -75667,11 +76361,11 @@ }, { "constant": false, - "id": 7041, + "id": 7658, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53642:13:21", + "scope": 7746, + "src": "54606:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75679,10 +76373,10 @@ "typeString": "address" }, "typeName": { - "id": 7040, + "id": 7657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53642:7:21", + "src": "54606:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -75694,11 +76388,11 @@ }, { "constant": false, - "id": 7043, + "id": 7660, "name": "_principalBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53665:31:21", + "scope": 7746, + "src": "54629:31:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75706,10 +76400,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7042, + "id": 7659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53665:7:21", + "src": "54629:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75720,11 +76414,11 @@ }, { "constant": false, - "id": 7045, + "id": 7662, "name": "_compoundedBorrowBalance", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53706:32:21", + "scope": 7746, + "src": "54670:32:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75732,10 +76426,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7044, + "id": 7661, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53706:7:21", + "src": "54670:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75746,26 +76440,26 @@ }, { "constant": false, - "id": 7047, + "id": 7664, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 7129, - "src": "53748:45:21", + "scope": 7746, + "src": "54712:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7046, + "id": 7663, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "53748:28:21", + "referencedDeclaration": 10589, + "src": "54712:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -75773,53 +76467,53 @@ "visibility": "internal" } ], - "src": "53606:193:21" + "src": "54570:193:28" }, "returnParameters": { - "id": 7049, + "id": 7666, "nodeType": "ParameterList", "parameters": [], - "src": "53809:0:21" + "src": "54773:0:28" }, - "scope": 7812, - "src": "53561:1471:21", + "scope": 8443, + "src": "54525:1471:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7246, + "id": 7863, "nodeType": "Block", - "src": "55646:1145:21", + "src": "56610:1145:28", "statements": [ { "assignments": [ - 7145 + 7762 ], "declarations": [ { "constant": false, - "id": 7145, + "id": 7762, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55656:40:21", + "scope": 7863, + "src": "56620:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7144, + "id": 7761, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "55656:27:21", + "referencedDeclaration": 10605, + "src": "56620:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -75827,33 +76521,33 @@ "visibility": "internal" } ], - "id": 7151, + "id": 7768, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7146, + "id": 7763, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "55699:16:21", + "referencedDeclaration": 5158, + "src": "56663:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7148, + "id": 7765, "indexExpression": { "argumentTypes": null, - "id": 7147, + "id": 7764, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7133, - "src": "55716:5:21", + "referencedDeclaration": 7750, + "src": "56680:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -75864,21 +76558,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55699:23:21", + "src": "56663:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7150, + "id": 7767, "indexExpression": { "argumentTypes": null, - "id": 7149, + "id": 7766, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "55723:8:21", + "referencedDeclaration": 7748, + "src": "56687:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -75889,42 +76583,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55699:33:21", + "src": "56663:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "55656:76:21" + "src": "56620:76:28" }, { "assignments": [ - 7155 + 7772 ], "declarations": [ { "constant": false, - "id": 7155, + "id": 7772, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55742:39:21", + "scope": 7863, + "src": "56706:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7154, + "id": 7771, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "55742:23:21", + "referencedDeclaration": 10646, + "src": "56706:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -75932,31 +76626,31 @@ "visibility": "internal" } ], - "id": 7159, + "id": 7776, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7156, + "id": 7773, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "55784:8:21", + "referencedDeclaration": 5152, + "src": "56748:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7158, + "id": 7775, "indexExpression": { "argumentTypes": null, - "id": 7157, + "id": 7774, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7131, - "src": "55793:8:21", + "referencedDeclaration": 7748, + "src": "56757:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -75967,42 +76661,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "55784:18:21", + "src": "56748:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "55742:60:21" + "src": "56706:60:28" }, { "assignments": [ - 7163 + 7780 ], "declarations": [ { "constant": false, - "id": 7163, + "id": 7780, "name": "newMode", "nodeType": "VariableDeclaration", - "scope": 7246, - "src": "55813:36:21", + "scope": 7863, + "src": "56777:36:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7162, + "id": 7779, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55813:28:21", + "referencedDeclaration": 10589, + "src": "56777:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -76010,39 +76704,39 @@ "visibility": "internal" } ], - "id": 7167, + "id": 7784, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7164, + "id": 7781, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "55852:11:21", + "referencedDeclaration": 11332, + "src": "56816:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7165, + "id": 7782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "55852:28:21", + "referencedDeclaration": 10589, + "src": "56816:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7166, + "id": 7783, "isConstant": false, "isLValue": false, "isPure": true, @@ -76050,37 +76744,37 @@ "memberName": "NONE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "55852:33:21", + "src": "56816:33:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "55813:72:21" + "src": "56777:72:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7172, + "id": 7789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7168, + "id": 7785, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "55900:16:21", + "referencedDeclaration": 7754, + "src": "56864:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -76092,32 +76786,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7169, + "id": 7786, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "55920:11:21", + "referencedDeclaration": 11332, + "src": "56884:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7170, + "id": 7787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "55920:28:21", + "referencedDeclaration": 10589, + "src": "56884:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7171, + "id": 7788, "isConstant": false, "isLValue": false, "isPure": true, @@ -76125,13 +76819,13 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "55920:37:21", + "src": "56884:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "55900:57:21", + "src": "56864:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -76141,24 +76835,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7197, + "id": 7814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7193, + "id": 7810, "name": "_currentRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7137, - "src": "56195:16:21", + "referencedDeclaration": 7754, + "src": "57159:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -76170,32 +76864,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7194, + "id": 7811, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56215:11:21", + "referencedDeclaration": 11332, + "src": "57179:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7195, + "id": 7812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56215:28:21", + "referencedDeclaration": 10589, + "src": "57179:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7196, + "id": 7813, "isConstant": false, "isLValue": false, "isPure": true, @@ -76203,22 +76897,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56215:35:21", + "src": "57179:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56195:55:21", + "src": "57159:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7222, + "id": 7839, "nodeType": "Block", - "src": "56465:70:21", + "src": "57429:70:28", "statements": [ { "expression": { @@ -76227,14 +76921,14 @@ { "argumentTypes": null, "hexValue": "496e76616c696420696e7465726573742072617465206d6f6465207265636569766564", - "id": 7219, + "id": 7836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "56486:37:21", + "src": "57450:37:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ddb4b1b31e811fede84f85e9b5ed1d56ae1791ba0b591de8e5f20548e15aed53", @@ -76250,21 +76944,21 @@ "typeString": "literal_string \"Invalid interest rate mode received\"" } ], - "id": 7218, + "id": 7835, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "56479:6:21", + "referencedDeclaration": 16133, + "src": "57443:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7220, + "id": 7837, "isConstant": false, "isLValue": false, "isPure": false, @@ -76272,44 +76966,44 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56479:45:21", + "src": "57443:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7221, + "id": 7838, "nodeType": "ExpressionStatement", - "src": "56479:45:21" + "src": "57443:45:28" } ] }, - "id": 7223, + "id": 7840, "nodeType": "IfStatement", - "src": "56191:344:21", + "src": "57155:344:28", "trueBody": { - "id": 7217, + "id": 7834, "nodeType": "Block", - "src": "56252:207:21", + "src": "57216:207:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7202, + "id": 7819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7198, + "id": 7815, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56266:7:21", + "referencedDeclaration": 7780, + "src": "57230:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -76321,32 +77015,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7199, + "id": 7816, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56276:11:21", + "referencedDeclaration": 11332, + "src": "57240:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7200, + "id": 7817, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56276:28:21", + "referencedDeclaration": 10589, + "src": "57240:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7201, + "id": 7818, "isConstant": false, "isLValue": false, "isPure": true, @@ -76354,26 +77048,26 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56276:37:21", + "src": "57240:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56266:47:21", + "src": "57230:47:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 7203, + "id": 7820, "nodeType": "ExpressionStatement", - "src": "56266:47:21" + "src": "57230:47:28" }, { "expression": { "argumentTypes": null, - "id": 7208, + "id": 7825, "isConstant": false, "isLValue": false, "isPure": false, @@ -76382,26 +77076,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7204, + "id": 7821, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56327:4:21", + "referencedDeclaration": 7762, + "src": "57291:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7206, + "id": 7823, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "56327:21:21", + "referencedDeclaration": 10600, + "src": "57291:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76412,14 +77106,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7207, + "id": 7824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "56351:1:21", + "src": "57315:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -76427,20 +77121,20 @@ }, "value": "0" }, - "src": "56327:25:21", + "src": "57291:25:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7209, + "id": 7826, "nodeType": "ExpressionStatement", - "src": "56327:25:21" + "src": "57291:25:28" }, { "expression": { "argumentTypes": null, - "id": 7215, + "id": 7832, "isConstant": false, "isLValue": false, "isPure": false, @@ -76449,26 +77143,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7210, + "id": 7827, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56366:4:21", + "referencedDeclaration": 7762, + "src": "57330:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7212, + "id": 7829, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "56366:38:21", + "referencedDeclaration": 10596, + "src": "57330:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76480,70 +77174,70 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7213, + "id": 7830, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7155, - "src": "56407:7:21", + "referencedDeclaration": 7772, + "src": "57371:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7214, + "id": 7831, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "56407:41:21", + "referencedDeclaration": 10621, + "src": "57371:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56366:82:21", + "src": "57330:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7216, + "id": 7833, "nodeType": "ExpressionStatement", - "src": "56366:82:21" + "src": "57330:82:28" } ] } }, - "id": 7224, + "id": 7841, "nodeType": "IfStatement", - "src": "55896:639:21", + "src": "56860:639:28", "trueBody": { - "id": 7192, + "id": 7809, "nodeType": "Block", - "src": "55959:226:21", + "src": "56923:226:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7177, + "id": 7794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7173, + "id": 7790, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56004:7:21", + "referencedDeclaration": 7780, + "src": "56968:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -76555,32 +77249,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7174, + "id": 7791, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "56014:11:21", + "referencedDeclaration": 11332, + "src": "56978:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7175, + "id": 7792, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "56014:28:21", + "referencedDeclaration": 10589, + "src": "56978:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7176, + "id": 7793, "isConstant": false, "isLValue": false, "isPure": true, @@ -76588,26 +77282,26 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56014:35:21", + "src": "56978:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "56004:45:21", + "src": "56968:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "id": 7178, + "id": 7795, "nodeType": "ExpressionStatement", - "src": "56004:45:21" + "src": "56968:45:28" }, { "expression": { "argumentTypes": null, - "id": 7184, + "id": 7801, "isConstant": false, "isLValue": false, "isPure": false, @@ -76616,26 +77310,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7179, + "id": 7796, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56063:4:21", + "referencedDeclaration": 7762, + "src": "57027:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7181, + "id": 7798, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "56063:21:21", + "referencedDeclaration": 10600, + "src": "57027:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76647,45 +77341,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7182, + "id": 7799, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7155, - "src": "56087:7:21", + "referencedDeclaration": 7772, + "src": "57051:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7183, + "id": 7800, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "56087:31:21", + "referencedDeclaration": 10617, + "src": "57051:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56063:55:21", + "src": "57027:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7185, + "id": 7802, "nodeType": "ExpressionStatement", - "src": "56063:55:21" + "src": "57027:55:28" }, { "expression": { "argumentTypes": null, - "id": 7190, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, @@ -76694,26 +77388,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7186, + "id": 7803, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56132:4:21", + "referencedDeclaration": 7762, + "src": "57096:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7188, + "id": 7805, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "56132:38:21", + "referencedDeclaration": 10596, + "src": "57096:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76724,14 +77418,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 7189, + "id": 7806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "56173:1:21", + "src": "57137:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -76739,15 +77433,15 @@ }, "value": "0" }, - "src": "56132:42:21", + "src": "57096:42:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7191, + "id": 7808, "nodeType": "ExpressionStatement", - "src": "56132:42:21" + "src": "57096:42:28" } ] } @@ -76755,7 +77449,7 @@ { "expression": { "argumentTypes": null, - "id": 7233, + "id": 7850, "isConstant": false, "isLValue": false, "isPure": false, @@ -76764,26 +77458,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7225, + "id": 7842, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56585:4:21", + "referencedDeclaration": 7762, + "src": "57549:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7227, + "id": 7844, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "56585:27:21", + "referencedDeclaration": 10594, + "src": "57549:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76796,12 +77490,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7231, + "id": 7848, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7135, - "src": "56647:16:21", + "referencedDeclaration": 7752, + "src": "57611:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76819,46 +77513,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7228, + "id": 7845, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56615:4:21", + "referencedDeclaration": 7762, + "src": "57579:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7229, + "id": 7846, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "56615:27:21", + "referencedDeclaration": 10594, + "src": "57579:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7230, + "id": 7847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "56615:31:21", + "referencedDeclaration": 15070, + "src": "57579:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7232, + "id": 7849, "isConstant": false, "isLValue": false, "isPure": false, @@ -76866,26 +77560,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56615:49:21", + "src": "57579:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "56585:79:21", + "src": "57549:79:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7234, + "id": 7851, "nodeType": "ExpressionStatement", - "src": "56585:79:21" + "src": "57549:79:28" }, { "expression": { "argumentTypes": null, - "id": 7242, + "id": 7859, "isConstant": false, "isLValue": false, "isPure": false, @@ -76894,26 +77588,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7235, + "id": 7852, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7145, - "src": "56709:4:21", + "referencedDeclaration": 7762, + "src": "57673:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7237, + "id": 7854, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "56709:24:21", + "referencedDeclaration": 10602, + "src": "57673:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -76928,18 +77622,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7239, + "id": 7856, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "56743:5:21", + "referencedDeclaration": 16117, + "src": "57707:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7240, + "id": 7857, "isConstant": false, "isLValue": false, "isPure": false, @@ -76947,7 +77641,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "56743:15:21", + "src": "57707:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -76961,20 +77655,20 @@ "typeString": "uint256" } ], - "id": 7238, + "id": 7855, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "56736:6:21", + "src": "57700:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7241, + "id": 7858, "isConstant": false, "isLValue": false, "isPure": false, @@ -76982,61 +77676,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "56736:23:21", + "src": "57700:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "56709:50:21", + "src": "57673:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7243, + "id": 7860, "nodeType": "ExpressionStatement", - "src": "56709:50:21" + "src": "57673:50:28" }, { "expression": { "argumentTypes": null, - "id": 7244, + "id": 7861, "name": "newMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7163, - "src": "56777:7:21", + "referencedDeclaration": 7780, + "src": "57741:7:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "functionReturnParameters": 7141, - "id": 7245, + "functionReturnParameters": 7758, + "id": 7862, "nodeType": "Return", - "src": "56770:14:21" + "src": "57734:14:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a swap rate action.\n@param _reserve the address of the reserve on which the user is performing the swap\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _currentRateMode the current rate mode of the user*", - "id": 7247, + "id": 7864, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnSwapRateInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7138, + "id": 7755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7131, + "id": 7748, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55463:16:21", + "scope": 7864, + "src": "56427:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77044,10 +77738,10 @@ "typeString": "address" }, "typeName": { - "id": 7130, + "id": 7747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55463:7:21", + "src": "56427:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -77059,11 +77753,11 @@ }, { "constant": false, - "id": 7133, + "id": 7750, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55489:13:21", + "scope": 7864, + "src": "56453:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77071,10 +77765,10 @@ "typeString": "address" }, "typeName": { - "id": 7132, + "id": 7749, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55489:7:21", + "src": "56453:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -77086,11 +77780,11 @@ }, { "constant": false, - "id": 7135, + "id": 7752, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55512:24:21", + "scope": 7864, + "src": "56476:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77098,10 +77792,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7134, + "id": 7751, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "55512:7:21", + "src": "56476:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77112,26 +77806,26 @@ }, { "constant": false, - "id": 7137, + "id": 7754, "name": "_currentRateMode", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55546:45:21", + "scope": 7864, + "src": "56510:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7136, + "id": 7753, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55546:28:21", + "referencedDeclaration": 10589, + "src": "56510:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -77139,34 +77833,34 @@ "visibility": "internal" } ], - "src": "55453:144:21" + "src": "56417:144:28" }, "returnParameters": { - "id": 7141, + "id": 7758, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7140, + "id": 7757, "name": "", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "55616:28:21", + "scope": 7864, + "src": "56580:28:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7139, + "id": 7756, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "55616:28:21", + "referencedDeclaration": 10589, + "src": "56580:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -77174,47 +77868,47 @@ "visibility": "internal" } ], - "src": "55615:30:21" + "src": "56579:30:28" }, - "scope": 7812, - "src": "55411:1380:21", + "scope": 8443, + "src": "56375:1380:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7326, + "id": 7943, "nodeType": "Block", - "src": "57395:1211:21", + "src": "58359:1211:28", "statements": [ { "assignments": [ - 7261 + 7878 ], "declarations": [ { "constant": false, - "id": 7261, + "id": 7878, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57405:39:21", + "scope": 7943, + "src": "58369:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7260, + "id": 7877, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "57405:23:21", + "referencedDeclaration": 10646, + "src": "58369:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -77222,31 +77916,31 @@ "visibility": "internal" } ], - "id": 7265, + "id": 7882, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7262, + "id": 7879, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "57447:8:21", + "referencedDeclaration": 5152, + "src": "58411:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7264, + "id": 7881, "indexExpression": { "argumentTypes": null, - "id": 7263, + "id": 7880, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57456:17:21", + "referencedDeclaration": 7866, + "src": "58420:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -77257,42 +77951,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57447:27:21", + "src": "58411:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "57405:69:21" + "src": "58369:69:28" }, { "assignments": [ - 7269 + 7886 ], "declarations": [ { "constant": false, - "id": 7269, + "id": 7886, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57484:40:21", + "scope": 7943, + "src": "58448:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7268, + "id": 7885, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "57484:27:21", + "referencedDeclaration": 10605, + "src": "58448:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -77300,33 +77994,33 @@ "visibility": "internal" } ], - "id": 7275, + "id": 7892, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7270, + "id": 7887, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "57527:16:21", + "referencedDeclaration": 5158, + "src": "58491:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7272, + "id": 7889, "indexExpression": { "argumentTypes": null, - "id": 7271, + "id": 7888, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7251, - "src": "57544:5:21", + "referencedDeclaration": 7868, + "src": "58508:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -77337,21 +78031,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57527:23:21", + "src": "58491:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7274, + "id": 7891, "indexExpression": { "argumentTypes": null, - "id": 7273, + "id": 7890, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57551:17:21", + "referencedDeclaration": 7866, + "src": "58515:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -77362,14 +78056,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "57527:42:21", + "src": "58491:42:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "57484:85:21" + "src": "58448:85:28" }, { "expression": { @@ -77379,32 +78073,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7276, + "id": 7893, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "57620:7:21", + "referencedDeclaration": 7878, + "src": "58584:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7278, + "id": 7895, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "57620:31:21", + "referencedDeclaration": 10724, + "src": "58584:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7279, + "id": 7896, "isConstant": false, "isLValue": false, "isPure": false, @@ -77412,43 +78106,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57620:33:21", + "src": "58584:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7280, + "id": 7897, "nodeType": "ExpressionStatement", - "src": "57620:33:21" + "src": "58584:33:28" }, { "assignments": [ - 7284 + 7901 ], "declarations": [ { "constant": false, - "id": 7284, + "id": 7901, "name": "borrowRateMode", "nodeType": "VariableDeclaration", - "scope": 7326, - "src": "57664:43:21", + "scope": 7943, + "src": "58628:43:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7283, + "id": 7900, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "57664:28:21", + "referencedDeclaration": 10589, + "src": "58628:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -77456,18 +78150,18 @@ "visibility": "internal" } ], - "id": 7289, + "id": 7906, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7286, + "id": 7903, "name": "_principalReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "57752:17:21", + "referencedDeclaration": 7866, + "src": "58716:17:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -77475,12 +78169,12 @@ }, { "argumentTypes": null, - "id": 7287, + "id": 7904, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7251, - "src": "57783:5:21", + "referencedDeclaration": 7868, + "src": "58747:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -77498,18 +78192,18 @@ "typeString": "address" } ], - "id": 7285, + "id": 7902, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "57710:28:21", + "referencedDeclaration": 6688, + "src": "58674:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7288, + "id": 7905, "isConstant": false, "isLValue": false, "isPure": false, @@ -77517,37 +78211,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57710:88:21", + "src": "58674:88:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "57664:134:21" + "src": "58628:134:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7294, + "id": 7911, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7290, + "id": 7907, "name": "borrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "57813:14:21", + "referencedDeclaration": 7901, + "src": "58777:14:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -77559,32 +78253,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7291, + "id": 7908, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "57831:11:21", + "referencedDeclaration": 11332, + "src": "58795:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7292, + "id": 7909, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "57831:28:21", + "referencedDeclaration": 10589, + "src": "58795:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7293, + "id": 7910, "isConstant": false, "isLValue": false, "isPure": true, @@ -77592,22 +78286,22 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "57831:35:21", + "src": "58795:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "57813:53:21", + "src": "58777:53:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7324, + "id": 7941, "nodeType": "Block", - "src": "58324:275:21", + "src": "59288:275:28", "statements": [ { "expression": { @@ -77615,12 +78309,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7315, + "id": 7932, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7255, - "src": "58443:16:21", + "referencedDeclaration": 7872, + "src": "59407:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77636,32 +78330,32 @@ ], "expression": { "argumentTypes": null, - "id": 7312, + "id": 7929, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58406:7:21", + "referencedDeclaration": 7878, + "src": "59370:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7314, + "id": 7931, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "58406:36:21", + "referencedDeclaration": 11212, + "src": "59370:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7316, + "id": 7933, "isConstant": false, "isLValue": false, "isPure": false, @@ -77669,15 +78363,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58406:54:21", + "src": "59370:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7317, + "id": 7934, "nodeType": "ExpressionStatement", - "src": "58406:54:21" + "src": "59370:54:28" }, { "expression": { @@ -77685,12 +78379,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7321, + "id": 7938, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7253, - "src": "58569:18:21", + "referencedDeclaration": 7870, + "src": "59533:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77706,32 +78400,32 @@ ], "expression": { "argumentTypes": null, - "id": 7318, + "id": 7935, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58532:7:21", + "referencedDeclaration": 7878, + "src": "59496:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7320, + "id": 7937, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "58532:36:21", + "referencedDeclaration": 11238, + "src": "59496:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7322, + "id": 7939, "isConstant": false, "isLValue": false, "isPure": false, @@ -77739,25 +78433,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58532:56:21", + "src": "59496:56:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7323, + "id": 7940, "nodeType": "ExpressionStatement", - "src": "58532:56:21" + "src": "59496:56:28" } ] }, - "id": 7325, + "id": 7942, "nodeType": "IfStatement", - "src": "57809:790:21", + "src": "58773:790:28", "trueBody": { - "id": 7311, + "id": 7928, "nodeType": "Block", - "src": "57868:450:21", + "src": "58832:450:28", "statements": [ { "expression": { @@ -77765,12 +78459,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7298, + "id": 7915, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7255, - "src": "58022:16:21", + "referencedDeclaration": 7872, + "src": "58986:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77780,26 +78474,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7299, + "id": 7916, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7269, - "src": "58056:4:21", + "referencedDeclaration": 7886, + "src": "59020:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7300, + "id": 7917, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "58056:21:21", + "referencedDeclaration": 10600, + "src": "59020:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77819,32 +78513,32 @@ ], "expression": { "argumentTypes": null, - "id": 7295, + "id": 7912, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "57950:7:21", + "referencedDeclaration": 7878, + "src": "58914:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7297, + "id": 7914, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "57950:54:21", + "referencedDeclaration": 11107, + "src": "58914:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7301, + "id": 7918, "isConstant": false, "isLValue": false, "isPure": false, @@ -77852,15 +78546,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "57950:141:21", + "src": "58914:141:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7302, + "id": 7919, "nodeType": "ExpressionStatement", - "src": "57950:141:21" + "src": "58914:141:28" }, { "expression": { @@ -77868,12 +78562,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7306, + "id": 7923, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7253, - "src": "58235:18:21", + "referencedDeclaration": 7870, + "src": "59199:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77883,26 +78577,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7307, + "id": 7924, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7269, - "src": "58271:4:21", + "referencedDeclaration": 7886, + "src": "59235:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7308, + "id": 7925, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "58271:21:21", + "referencedDeclaration": 10600, + "src": "59235:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77922,32 +78616,32 @@ ], "expression": { "argumentTypes": null, - "id": 7303, + "id": 7920, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "58163:7:21", + "referencedDeclaration": 7878, + "src": "59127:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7305, + "id": 7922, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "58163:54:21", + "referencedDeclaration": 11194, + "src": "59127:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7309, + "id": 7926, "isConstant": false, "isLValue": false, "isPure": false, @@ -77955,15 +78649,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58163:143:21", + "src": "59127:143:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7310, + "id": 7927, "nodeType": "ExpressionStatement", - "src": "58163:143:21" + "src": "59127:143:28" } ] } @@ -77971,23 +78665,23 @@ ] }, "documentation": "@dev updates the state of the principal reserve as a consequence of a liquidation action.\n@param _principalReserve the address of the principal reserve that is being repaid\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7327, + "id": 7944, "implemented": true, "kind": "function", "modifiers": [], "name": "updatePrincipalReserveStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7256, + "id": 7873, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7249, + "id": 7866, "name": "_principalReserve", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57261:25:21", + "scope": 7944, + "src": "58225:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77995,10 +78689,10 @@ "typeString": "address" }, "typeName": { - "id": 7248, + "id": 7865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57261:7:21", + "src": "58225:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -78010,11 +78704,11 @@ }, { "constant": false, - "id": 7251, + "id": 7868, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57296:13:21", + "scope": 7944, + "src": "58260:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -78022,10 +78716,10 @@ "typeString": "address" }, "typeName": { - "id": 7250, + "id": 7867, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57296:7:21", + "src": "58260:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -78037,11 +78731,11 @@ }, { "constant": false, - "id": 7253, + "id": 7870, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57319:26:21", + "scope": 7944, + "src": "58283:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -78049,10 +78743,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7252, + "id": 7869, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "57319:7:21", + "src": "58283:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78063,11 +78757,11 @@ }, { "constant": false, - "id": 7255, + "id": 7872, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7327, - "src": "57355:24:21", + "scope": 7944, + "src": "58319:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -78075,10 +78769,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7254, + "id": 7871, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "57355:7:21", + "src": "58319:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78088,25 +78782,25 @@ "visibility": "internal" } ], - "src": "57251:134:21" + "src": "58215:134:28" }, "returnParameters": { - "id": 7257, + "id": 7874, "nodeType": "ParameterList", "parameters": [], - "src": "57395:0:21" + "src": "58359:0:28" }, - "scope": 7812, - "src": "57194:1412:21", + "scope": 8443, + "src": "58158:1412:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7338, + "id": 7955, "nodeType": "Block", - "src": "58930:108:21", + "src": "59894:108:28", "statements": [ { "expression": { @@ -78118,26 +78812,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7332, + "id": 7949, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "58976:8:21", + "referencedDeclaration": 5152, + "src": "59940:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7334, + "id": 7951, "indexExpression": { "argumentTypes": null, - "id": 7333, + "id": 7950, "name": "_collateralReserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7329, - "src": "58985:18:21", + "referencedDeclaration": 7946, + "src": "59949:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78148,27 +78842,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "58976:28:21", + "src": "59940:28:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, - "id": 7335, + "id": 7952, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "58976:52:21", + "referencedDeclaration": 10724, + "src": "59940:52:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7336, + "id": 7953, "isConstant": false, "isLValue": false, "isPure": false, @@ -78176,36 +78870,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "58976:54:21", + "src": "59940:54:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7337, + "id": 7954, "nodeType": "ExpressionStatement", - "src": "58976:54:21" + "src": "59940:54:28" } ] }, "documentation": "@dev updates the state of the collateral reserve as a consequence of a liquidation action.\n@param _collateralReserve the address of the collateral reserve that is being liquidated*", - "id": 7339, + "id": 7956, "implemented": true, "kind": "function", "modifiers": [], "name": "updateCollateralReserveStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7330, + "id": 7947, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7329, + "id": 7946, "name": "_collateralReserve", "nodeType": "VariableDeclaration", - "scope": 7339, - "src": "58888:26:21", + "scope": 7956, + "src": "59852:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -78213,10 +78907,10 @@ "typeString": "address" }, "typeName": { - "id": 7328, + "id": 7945, "name": "address", "nodeType": "ElementaryTypeName", - "src": "58888:7:21", + "src": "59852:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -78227,53 +78921,53 @@ "visibility": "internal" } ], - "src": "58878:42:21" + "src": "59842:42:28" }, "returnParameters": { - "id": 7331, + "id": 7948, "nodeType": "ParameterList", "parameters": [], - "src": "58930:0:21" + "src": "59894:0:28" }, - "scope": 7812, - "src": "58820:218:21", + "scope": 8443, + "src": "59784:218:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7424, + "id": 8041, "nodeType": "Block", - "src": "59722:835:21", + "src": "60686:835:28", "statements": [ { "assignments": [ - 7355 + 7972 ], "declarations": [ { "constant": false, - "id": 7355, + "id": 7972, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "59732:40:21", + "scope": 8041, + "src": "60696:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7354, + "id": 7971, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "59732:27:21", + "referencedDeclaration": 10605, + "src": "60696:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -78281,33 +78975,33 @@ "visibility": "internal" } ], - "id": 7361, + "id": 7978, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7356, + "id": 7973, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "59775:16:21", + "referencedDeclaration": 5158, + "src": "60739:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7358, + "id": 7975, "indexExpression": { "argumentTypes": null, - "id": 7357, + "id": 7974, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, - "src": "59792:5:21", + "referencedDeclaration": 7960, + "src": "60756:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78318,21 +79012,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59775:23:21", + "src": "60739:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7360, + "id": 7977, "indexExpression": { "argumentTypes": null, - "id": 7359, + "id": 7976, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "59799:8:21", + "referencedDeclaration": 7958, + "src": "60763:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78343,42 +79037,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59775:33:21", + "src": "60739:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "59732:76:21" + "src": "60696:76:28" }, { "assignments": [ - 7365 + 7982 ], "declarations": [ { "constant": false, - "id": 7365, + "id": 7982, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7424, - "src": "59818:39:21", + "scope": 8041, + "src": "60782:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7364, + "id": 7981, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "59818:23:21", + "referencedDeclaration": 10646, + "src": "60782:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -78386,31 +79080,31 @@ "visibility": "internal" } ], - "id": 7369, + "id": 7986, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7366, + "id": 7983, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "59860:8:21", + "referencedDeclaration": 5152, + "src": "60824:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7368, + "id": 7985, "indexExpression": { "argumentTypes": null, - "id": 7367, + "id": 7984, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "59869:8:21", + "referencedDeclaration": 7958, + "src": "60833:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78421,19 +79115,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "59860:18:21", + "src": "60824:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "59818:60:21" + "src": "60782:60:28" }, { "expression": { "argumentTypes": null, - "id": 7381, + "id": 7998, "isConstant": false, "isLValue": false, "isPure": false, @@ -78442,26 +79136,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7370, + "id": 7987, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "59980:4:21", + "referencedDeclaration": 7972, + "src": "60944:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7372, + "id": 7989, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "59980:27:21", + "referencedDeclaration": 10594, + "src": "60944:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78474,12 +79168,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7379, + "id": 7996, "name": "_amountToLiquidate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, - "src": "60077:18:21", + "referencedDeclaration": 7962, + "src": "61041:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78498,12 +79192,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7376, + "id": 7993, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7349, - "src": "60042:16:21", + "referencedDeclaration": 7966, + "src": "61006:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78521,46 +79215,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7373, + "id": 7990, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60010:4:21", + "referencedDeclaration": 7972, + "src": "60974:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7374, + "id": 7991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "60010:27:21", + "referencedDeclaration": 10594, + "src": "60974:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7375, + "id": 7992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "60010:31:21", + "referencedDeclaration": 15070, + "src": "60974:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7377, + "id": 7994, "isConstant": false, "isLValue": false, "isPure": false, @@ -78568,27 +79262,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60010:49:21", + "src": "60974:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7378, + "id": 7995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "60010:53:21", + "referencedDeclaration": 15095, + "src": "60974:53:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7380, + "id": 7997, "isConstant": false, "isLValue": false, "isPure": false, @@ -78596,30 +79290,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60010:95:21", + "src": "60974:95:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "59980:125:21", + "src": "60944:125:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7382, + "id": 7999, "nodeType": "ExpressionStatement", - "src": "59980:125:21" + "src": "60944:125:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7390, + "id": 8007, "isConstant": false, "isLValue": false, "isPure": false, @@ -78629,12 +79323,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7384, + "id": 8001, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "60162:8:21", + "referencedDeclaration": 7958, + "src": "61126:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78642,12 +79336,12 @@ }, { "argumentTypes": null, - "id": 7385, + "id": 8002, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7343, - "src": "60172:5:21", + "referencedDeclaration": 7960, + "src": "61136:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -78665,18 +79359,18 @@ "typeString": "address" } ], - "id": 7383, + "id": 8000, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "60133:28:21", + "referencedDeclaration": 6688, + "src": "61097:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7386, + "id": 8003, "isConstant": false, "isLValue": false, "isPure": false, @@ -78684,9 +79378,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60133:45:21", + "src": "61097:45:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -78698,32 +79392,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7387, + "id": 8004, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "60182:11:21", + "referencedDeclaration": 11332, + "src": "61146:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7388, + "id": 8005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "60182:28:21", + "referencedDeclaration": 10589, + "src": "61146:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7389, + "id": 8006, "isConstant": false, "isLValue": false, "isPure": true, @@ -78731,31 +79425,31 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "60182:37:21", + "src": "61146:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "60133:86:21", + "src": "61097:86:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7399, + "id": 8016, "nodeType": "IfStatement", - "src": "60116:221:21", + "src": "61080:221:28", "trueBody": { - "id": 7398, + "id": 8015, "nodeType": "Block", - "src": "60230:107:21", + "src": "61194:107:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7396, + "id": 8013, "isConstant": false, "isLValue": false, "isPure": false, @@ -78764,26 +79458,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7391, + "id": 8008, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60244:4:21", + "referencedDeclaration": 7972, + "src": "61208:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7393, + "id": 8010, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9519, - "src": "60244:38:21", + "referencedDeclaration": 10596, + "src": "61208:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78795,40 +79489,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7394, + "id": 8011, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "60285:7:21", + "referencedDeclaration": 7982, + "src": "61249:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7395, + "id": 8012, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "60285:41:21", + "referencedDeclaration": 10621, + "src": "61249:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "60244:82:21", + "src": "61208:82:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7397, + "id": 8014, "nodeType": "ExpressionStatement", - "src": "60244:82:21" + "src": "61208:82:28" } ] } @@ -78840,19 +79534,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7402, + "id": 8019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7400, + "id": 8017, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "60350:14:21", + "referencedDeclaration": 7964, + "src": "61314:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78863,14 +79557,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 7401, + "id": 8018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "60367:1:21", + "src": "61331:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -78878,25 +79572,25 @@ }, "value": "0" }, - "src": "60350:18:21", + "src": "61314:18:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7414, + "id": 8031, "nodeType": "IfStatement", - "src": "60347:108:21", + "src": "61311:108:28", "trueBody": { - "id": 7413, + "id": 8030, "nodeType": "Block", - "src": "60369:86:21", + "src": "61333:86:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7411, + "id": 8028, "isConstant": false, "isLValue": false, "isPure": false, @@ -78905,26 +79599,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7403, + "id": 8020, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60383:4:21", + "referencedDeclaration": 7972, + "src": "61347:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7405, + "id": 8022, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "60383:19:21", + "referencedDeclaration": 10598, + "src": "61347:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78937,12 +79631,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7409, + "id": 8026, "name": "_feeLiquidated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "60429:14:21", + "referencedDeclaration": 7964, + "src": "61393:14:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -78960,46 +79654,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7406, + "id": 8023, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60405:4:21", + "referencedDeclaration": 7972, + "src": "61369:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7407, + "id": 8024, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "originationFee", "nodeType": "MemberAccess", - "referencedDeclaration": 9521, - "src": "60405:19:21", + "referencedDeclaration": 10598, + "src": "61369:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7408, + "id": 8025, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "60405:23:21", + "referencedDeclaration": 15095, + "src": "61369:23:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7410, + "id": 8027, "isConstant": false, "isLValue": false, "isPure": false, @@ -79007,21 +79701,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60405:39:21", + "src": "61369:39:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "60383:61:21", + "src": "61347:61:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7412, + "id": 8029, "nodeType": "ExpressionStatement", - "src": "60383:61:21" + "src": "61347:61:28" } ] } @@ -79029,7 +79723,7 @@ { "expression": { "argumentTypes": null, - "id": 7422, + "id": 8039, "isConstant": false, "isLValue": false, "isPure": false, @@ -79038,26 +79732,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7415, + "id": 8032, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7355, - "src": "60500:4:21", + "referencedDeclaration": 7972, + "src": "61464:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7417, + "id": 8034, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "60500:24:21", + "referencedDeclaration": 10602, + "src": "61464:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -79072,18 +79766,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7419, + "id": 8036, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "60534:5:21", + "referencedDeclaration": 16117, + "src": "61498:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7420, + "id": 8037, "isConstant": false, "isLValue": false, "isPure": false, @@ -79091,7 +79785,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "60534:15:21", + "src": "61498:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79105,20 +79799,20 @@ "typeString": "uint256" } ], - "id": 7418, + "id": 8035, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "60527:6:21", + "src": "61491:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7421, + "id": 8038, "isConstant": false, "isLValue": false, "isPure": false, @@ -79126,42 +79820,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "60527:23:21", + "src": "61491:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "60500:50:21", + "src": "61464:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7423, + "id": 8040, "nodeType": "ExpressionStatement", - "src": "60500:50:21" + "src": "61464:50:28" } ] }, "documentation": "@dev updates the state of the user being liquidated as a consequence of a liquidation action.\n@param _reserve the address of the principal reserve that is being repaid\n@param _user the address of the borrower\n@param _amountToLiquidate the amount being repaid by the liquidator\n@param _feeLiquidated the amount of origination fee being liquidated\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7425, + "id": 8042, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnLiquidationInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7350, + "id": 7967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7341, + "id": 7958, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59565:16:21", + "scope": 8042, + "src": "60529:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79169,10 +79863,10 @@ "typeString": "address" }, "typeName": { - "id": 7340, + "id": 7957, "name": "address", "nodeType": "ElementaryTypeName", - "src": "59565:7:21", + "src": "60529:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -79184,11 +79878,11 @@ }, { "constant": false, - "id": 7343, + "id": 7960, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59591:13:21", + "scope": 8042, + "src": "60555:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79196,10 +79890,10 @@ "typeString": "address" }, "typeName": { - "id": 7342, + "id": 7959, "name": "address", "nodeType": "ElementaryTypeName", - "src": "59591:7:21", + "src": "60555:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -79211,11 +79905,11 @@ }, { "constant": false, - "id": 7345, + "id": 7962, "name": "_amountToLiquidate", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59614:26:21", + "scope": 8042, + "src": "60578:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79223,10 +79917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7344, + "id": 7961, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59614:7:21", + "src": "60578:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79237,11 +79931,11 @@ }, { "constant": false, - "id": 7347, + "id": 7964, "name": "_feeLiquidated", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59650:22:21", + "scope": 8042, + "src": "60614:22:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79249,10 +79943,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7346, + "id": 7963, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59650:7:21", + "src": "60614:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79263,11 +79957,11 @@ }, { "constant": false, - "id": 7349, + "id": 7966, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7425, - "src": "59682:24:21", + "scope": 8042, + "src": "60646:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79275,10 +79969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7348, + "id": 7965, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "59682:7:21", + "src": "60646:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79288,53 +79982,53 @@ "visibility": "internal" } ], - "src": "59555:157:21" + "src": "60519:157:28" }, "returnParameters": { - "id": 7351, + "id": 7968, "nodeType": "ParameterList", "parameters": [], - "src": "59722:0:21" + "src": "60686:0:28" }, - "scope": 7812, - "src": "59510:1047:21", + "scope": 8443, + "src": "60474:1047:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7465, + "id": 8082, "nodeType": "Block", - "src": "61017:348:21", + "src": "61981:348:28", "statements": [ { "assignments": [ - 7437 + 8054 ], "declarations": [ { "constant": false, - "id": 7437, + "id": 8054, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7465, - "src": "61027:39:21", + "scope": 8082, + "src": "61991:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7436, + "id": 8053, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "61027:23:21", + "referencedDeclaration": 10646, + "src": "61991:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -79342,31 +80036,31 @@ "visibility": "internal" } ], - "id": 7441, + "id": 8058, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7438, + "id": 8055, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "61069:8:21", + "referencedDeclaration": 5152, + "src": "62033:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7440, + "id": 8057, "indexExpression": { "argumentTypes": null, - "id": 7439, + "id": 8056, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "61078:8:21", + "referencedDeclaration": 8044, + "src": "62042:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79377,42 +80071,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61069:18:21", + "src": "62033:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61027:60:21" + "src": "61991:60:28" }, { "assignments": [ - 7445 + 8062 ], "declarations": [ { "constant": false, - "id": 7445, + "id": 8062, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7465, - "src": "61097:40:21", + "scope": 8082, + "src": "62061:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7444, + "id": 8061, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "61097:27:21", + "referencedDeclaration": 10605, + "src": "62061:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -79420,33 +80114,33 @@ "visibility": "internal" } ], - "id": 7451, + "id": 8068, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7446, + "id": 8063, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "61140:16:21", + "referencedDeclaration": 5158, + "src": "62104:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7448, + "id": 8065, "indexExpression": { "argumentTypes": null, - "id": 7447, + "id": 8064, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7429, - "src": "61157:5:21", + "referencedDeclaration": 8046, + "src": "62121:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79457,21 +80151,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61140:23:21", + "src": "62104:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7450, + "id": 8067, "indexExpression": { "argumentTypes": null, - "id": 7449, + "id": 8066, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "61164:8:21", + "referencedDeclaration": 8044, + "src": "62128:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79482,14 +80176,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61140:33:21", + "src": "62104:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61097:76:21" + "src": "62061:76:28" }, { "expression": { @@ -79499,32 +80193,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7452, + "id": 8069, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "61184:7:21", + "referencedDeclaration": 8054, + "src": "62148:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7454, + "id": 8071, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "updateCumulativeIndexes", "nodeType": "MemberAccess", - "referencedDeclaration": 9647, - "src": "61184:31:21", + "referencedDeclaration": 10724, + "src": "62148:31:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer)" } }, - "id": 7455, + "id": 8072, "isConstant": false, "isLValue": false, "isPure": false, @@ -79532,15 +80226,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "61184:33:21", + "src": "62148:33:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7456, + "id": 8073, "nodeType": "ExpressionStatement", - "src": "61184:33:21" + "src": "62148:33:28" }, { "expression": { @@ -79548,12 +80242,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7460, + "id": 8077, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7431, - "src": "61296:16:21", + "referencedDeclaration": 8048, + "src": "62260:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79563,26 +80257,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7461, + "id": 8078, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7445, - "src": "61326:4:21", + "referencedDeclaration": 8062, + "src": "62290:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7462, + "id": 8079, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "61326:21:21", + "referencedDeclaration": 10600, + "src": "62290:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79602,32 +80296,32 @@ ], "expression": { "argumentTypes": null, - "id": 7457, + "id": 8074, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7437, - "src": "61228:7:21", + "referencedDeclaration": 8054, + "src": "62192:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7459, + "id": 8076, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "61228:54:21", + "referencedDeclaration": 11107, + "src": "62192:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7463, + "id": 8080, "isConstant": false, "isLValue": false, "isPure": false, @@ -79635,36 +80329,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "61228:129:21", + "src": "62192:129:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7464, + "id": 8081, "nodeType": "ExpressionStatement", - "src": "61228:129:21" + "src": "62192:129:28" } ] }, "documentation": "@dev updates the state of the reserve as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7466, + "id": 8083, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveStateOnRebalanceInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7432, + "id": 8049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7427, + "id": 8044, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60928:16:21", + "scope": 8083, + "src": "61892:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79672,10 +80366,10 @@ "typeString": "address" }, "typeName": { - "id": 7426, + "id": 8043, "name": "address", "nodeType": "ElementaryTypeName", - "src": "60928:7:21", + "src": "61892:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -79687,11 +80381,11 @@ }, { "constant": false, - "id": 7429, + "id": 8046, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60954:13:21", + "scope": 8083, + "src": "61918:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79699,10 +80393,10 @@ "typeString": "address" }, "typeName": { - "id": 7428, + "id": 8045, "name": "address", "nodeType": "ElementaryTypeName", - "src": "60954:7:21", + "src": "61918:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -79714,11 +80408,11 @@ }, { "constant": false, - "id": 7431, + "id": 8048, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7466, - "src": "60977:24:21", + "scope": 8083, + "src": "61941:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -79726,10 +80420,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7430, + "id": 8047, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "60977:7:21", + "src": "61941:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79739,53 +80433,53 @@ "visibility": "internal" } ], - "src": "60918:89:21" + "src": "61882:89:28" }, "returnParameters": { - "id": 7433, + "id": 8050, "nodeType": "ParameterList", "parameters": [], - "src": "61017:0:21" + "src": "61981:0:28" }, - "scope": 7812, - "src": "60872:493:21", + "scope": 8443, + "src": "61836:493:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7519, + "id": 8136, "nodeType": "Block", - "src": "61819:414:21", + "src": "62783:414:28", "statements": [ { "assignments": [ - 7478 + 8095 ], "declarations": [ { "constant": false, - "id": 7478, + "id": 8095, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7519, - "src": "61829:40:21", + "scope": 8136, + "src": "62793:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7477, + "id": 8094, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "61829:27:21", + "referencedDeclaration": 10605, + "src": "62793:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -79793,33 +80487,33 @@ "visibility": "internal" } ], - "id": 7484, + "id": 8101, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7479, + "id": 8096, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "61872:16:21", + "referencedDeclaration": 5158, + "src": "62836:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7481, + "id": 8098, "indexExpression": { "argumentTypes": null, - "id": 7480, + "id": 8097, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7470, - "src": "61889:5:21", + "referencedDeclaration": 8087, + "src": "62853:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79830,21 +80524,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61872:23:21", + "src": "62836:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7483, + "id": 8100, "indexExpression": { "argumentTypes": null, - "id": 7482, + "id": 8099, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, - "src": "61896:8:21", + "referencedDeclaration": 8085, + "src": "62860:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79855,42 +80549,42 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61872:33:21", + "src": "62836:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61829:76:21" + "src": "62793:76:28" }, { "assignments": [ - 7488 + 8105 ], "declarations": [ { "constant": false, - "id": 7488, + "id": 8105, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7519, - "src": "61915:39:21", + "scope": 8136, + "src": "62879:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7487, + "id": 8104, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "61915:23:21", + "referencedDeclaration": 10646, + "src": "62879:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -79898,31 +80592,31 @@ "visibility": "internal" } ], - "id": 7492, + "id": 8109, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7489, + "id": 8106, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "61957:8:21", + "referencedDeclaration": 5152, + "src": "62921:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7491, + "id": 8108, "indexExpression": { "argumentTypes": null, - "id": 7490, + "id": 8107, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7468, - "src": "61966:8:21", + "referencedDeclaration": 8085, + "src": "62930:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -79933,19 +80627,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "61957:18:21", + "src": "62921:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "61915:60:21" + "src": "62879:60:28" }, { "expression": { "argumentTypes": null, - "id": 7501, + "id": 8118, "isConstant": false, "isLValue": false, "isPure": false, @@ -79954,26 +80648,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7493, + "id": 8110, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "61986:4:21", + "referencedDeclaration": 8095, + "src": "62950:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7495, + "id": 8112, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "61986:27:21", + "referencedDeclaration": 10594, + "src": "62950:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -79986,12 +80680,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7499, + "id": 8116, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7472, - "src": "62048:16:21", + "referencedDeclaration": 8089, + "src": "63012:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80009,46 +80703,46 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7496, + "id": 8113, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62016:4:21", + "referencedDeclaration": 8095, + "src": "62980:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7497, + "id": 8114, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "principalBorrowBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 9517, - "src": "62016:27:21", + "referencedDeclaration": 10594, + "src": "62980:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7498, + "id": 8115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "62016:31:21", + "referencedDeclaration": 15070, + "src": "62980:31:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7500, + "id": 8117, "isConstant": false, "isLValue": false, "isPure": false, @@ -80056,26 +80750,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62016:49:21", + "src": "62980:49:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "61986:79:21", + "src": "62950:79:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7502, + "id": 8119, "nodeType": "ExpressionStatement", - "src": "61986:79:21" + "src": "62950:79:28" }, { "expression": { "argumentTypes": null, - "id": 7508, + "id": 8125, "isConstant": false, "isLValue": false, "isPure": false, @@ -80084,26 +80778,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7503, + "id": 8120, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62075:4:21", + "referencedDeclaration": 8095, + "src": "63039:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7505, + "id": 8122, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "62075:21:21", + "referencedDeclaration": 10600, + "src": "63039:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80115,45 +80809,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7506, + "id": 8123, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "62099:7:21", + "referencedDeclaration": 8105, + "src": "63063:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7507, + "id": 8124, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "62099:31:21", + "referencedDeclaration": 10617, + "src": "63063:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "62075:55:21", + "src": "63039:55:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7509, + "id": 8126, "nodeType": "ExpressionStatement", - "src": "62075:55:21" + "src": "63039:55:28" }, { "expression": { "argumentTypes": null, - "id": 7517, + "id": 8134, "isConstant": false, "isLValue": false, "isPure": false, @@ -80162,26 +80856,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7510, + "id": 8127, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7478, - "src": "62176:4:21", + "referencedDeclaration": 8095, + "src": "63140:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7512, + "id": 8129, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9525, - "src": "62176:24:21", + "referencedDeclaration": 10602, + "src": "63140:24:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -80196,18 +80890,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7514, + "id": 8131, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "62210:5:21", + "referencedDeclaration": 16117, + "src": "63174:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7515, + "id": 8132, "isConstant": false, "isLValue": false, "isPure": false, @@ -80215,7 +80909,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "62210:15:21", + "src": "63174:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80229,20 +80923,20 @@ "typeString": "uint256" } ], - "id": 7513, + "id": 8130, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "62203:6:21", + "src": "63167:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7516, + "id": 8133, "isConstant": false, "isLValue": false, "isPure": false, @@ -80250,42 +80944,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62203:23:21", + "src": "63167:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "62176:50:21", + "src": "63140:50:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7518, + "id": 8135, "nodeType": "ExpressionStatement", - "src": "62176:50:21" + "src": "63140:50:28" } ] }, "documentation": "@dev updates the state of the user as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount*", - "id": 7520, + "id": 8137, "implemented": true, "kind": "function", "modifiers": [], "name": "updateUserStateOnRebalanceInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7473, + "id": 8090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7468, + "id": 8085, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61730:16:21", + "scope": 8137, + "src": "62694:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -80293,10 +80987,10 @@ "typeString": "address" }, "typeName": { - "id": 7467, + "id": 8084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "61730:7:21", + "src": "62694:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -80308,11 +81002,11 @@ }, { "constant": false, - "id": 7470, + "id": 8087, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61756:13:21", + "scope": 8137, + "src": "62720:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -80320,10 +81014,10 @@ "typeString": "address" }, "typeName": { - "id": 7469, + "id": 8086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "61756:7:21", + "src": "62720:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -80335,11 +81029,11 @@ }, { "constant": false, - "id": 7472, + "id": 8089, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7520, - "src": "61779:24:21", + "scope": 8137, + "src": "62743:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -80347,10 +81041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7471, + "id": 8088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "61779:7:21", + "src": "62743:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80360,53 +81054,53 @@ "visibility": "internal" } ], - "src": "61720:89:21" + "src": "62684:89:28" }, "returnParameters": { - "id": 7474, + "id": 8091, "nodeType": "ParameterList", "parameters": [], - "src": "61819:0:21" + "src": "62783:0:28" }, - "scope": 7812, - "src": "61677:556:21", + "scope": 8443, + "src": "62641:556:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7633, + "id": 8250, "nodeType": "Block", - "src": "62893:1262:21", + "src": "63857:1262:28", "statements": [ { "assignments": [ - 7538 + 8155 ], "declarations": [ { "constant": false, - "id": 7538, + "id": 8155, "name": "previousRateMode", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "62903:45:21", + "scope": 8250, + "src": "63867:45:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7537, + "id": 8154, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "62903:28:21", + "referencedDeclaration": 10589, + "src": "63867:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -80414,18 +81108,18 @@ "visibility": "internal" } ], - "id": 7543, + "id": 8160, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7540, + "id": 8157, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "62993:8:21", + "referencedDeclaration": 8139, + "src": "63957:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -80433,12 +81127,12 @@ }, { "argumentTypes": null, - "id": 7541, + "id": 8158, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7524, - "src": "63015:5:21", + "referencedDeclaration": 8141, + "src": "63979:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -80456,18 +81150,18 @@ "typeString": "address" } ], - "id": 7539, + "id": 8156, "name": "getUserCurrentBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6071, - "src": "62951:28:21", + "referencedDeclaration": 6688, + "src": "63915:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_enum$_InterestRateMode_$10589_$", "typeString": "function (address,address) view returns (enum CoreLibrary.InterestRateMode)" } }, - "id": 7542, + "id": 8159, "isConstant": false, "isLValue": false, "isPure": false, @@ -80475,42 +81169,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "62951:79:21", + "src": "63915:79:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, "nodeType": "VariableDeclarationStatement", - "src": "62903:127:21" + "src": "63867:127:28" }, { "assignments": [ - 7547 + 8164 ], "declarations": [ { "constant": false, - "id": 7547, + "id": 8164, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "63040:39:21", + "scope": 8250, + "src": "64004:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7546, + "id": 8163, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "63040:23:21", + "referencedDeclaration": 10646, + "src": "64004:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -80518,31 +81212,31 @@ "visibility": "internal" } ], - "id": 7551, + "id": 8168, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7548, + "id": 8165, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "63082:8:21", + "referencedDeclaration": 5152, + "src": "64046:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7550, + "id": 8167, "indexExpression": { "argumentTypes": null, - "id": 7549, + "id": 8166, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "63091:8:21", + "referencedDeclaration": 8139, + "src": "64055:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -80553,37 +81247,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63082:18:21", + "src": "64046:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "63040:60:21" + "src": "64004:60:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7556, + "id": 8173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7552, + "id": 8169, "name": "previousRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "63115:16:21", + "referencedDeclaration": 8155, + "src": "64079:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -80595,32 +81289,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7553, + "id": 8170, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63135:11:21", + "referencedDeclaration": 11332, + "src": "64099:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7554, + "id": 8171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63135:28:21", + "referencedDeclaration": 10589, + "src": "64099:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7555, + "id": 8172, "isConstant": false, "isLValue": false, "isPure": true, @@ -80628,13 +81322,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63135:35:21", + "src": "64099:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63115:55:21", + "src": "64079:55:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -80644,24 +81338,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7580, + "id": 8197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7576, + "id": 8193, "name": "previousRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "63439:16:21", + "referencedDeclaration": 8155, + "src": "64403:16:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -80673,32 +81367,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7577, + "id": 8194, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63459:11:21", + "referencedDeclaration": 11332, + "src": "64423:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7578, + "id": 8195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63459:28:21", + "referencedDeclaration": 10589, + "src": "64423:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7579, + "id": 8196, "isConstant": false, "isLValue": false, "isPure": true, @@ -80706,26 +81400,26 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63459:37:21", + "src": "64423:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63439:57:21", + "src": "64403:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7588, + "id": 8205, "nodeType": "IfStatement", - "src": "63435:143:21", + "src": "64399:143:28", "trueBody": { - "id": 7587, + "id": 8204, "nodeType": "Block", - "src": "63498:80:21", + "src": "64462:80:28", "statements": [ { "expression": { @@ -80733,12 +81427,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7584, + "id": 8201, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63549:17:21", + "referencedDeclaration": 8143, + "src": "64513:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80754,32 +81448,32 @@ ], "expression": { "argumentTypes": null, - "id": 7581, + "id": 8198, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63512:7:21", + "referencedDeclaration": 8164, + "src": "64476:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7583, + "id": 8200, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10161, - "src": "63512:36:21", + "referencedDeclaration": 11238, + "src": "64476:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7585, + "id": 8202, "isConstant": false, "isLValue": false, "isPure": false, @@ -80787,54 +81481,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63512:55:21", + "src": "64476:55:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7586, + "id": 8203, "nodeType": "ExpressionStatement", - "src": "63512:55:21" + "src": "64476:55:28" } ] } }, - "id": 7589, + "id": 8206, "nodeType": "IfStatement", - "src": "63111:467:21", + "src": "64075:467:28", "trueBody": { - "id": 7575, + "id": 8192, "nodeType": "Block", - "src": "63172:257:21", + "src": "64136:257:28", "statements": [ { "assignments": [ - 7560 + 8177 ], "declarations": [ { "constant": false, - "id": 7560, + "id": 8177, "name": "user", "nodeType": "VariableDeclaration", - "scope": 7575, - "src": "63186:40:21", + "scope": 8192, + "src": "64150:40:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" }, "typeName": { "contractScope": null, - "id": 7559, + "id": 8176, "name": "CoreLibrary.UserReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "63186:27:21", + "referencedDeclaration": 10605, + "src": "64150:27:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData" } }, @@ -80842,33 +81536,33 @@ "visibility": "internal" } ], - "id": 7566, + "id": 8183, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7561, + "id": 8178, "name": "usersReserveData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "63229:16:21", + "referencedDeclaration": 5158, + "src": "64193:16:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$_$", + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$_$", "typeString": "mapping(address => mapping(address => struct CoreLibrary.UserReserveData storage ref))" } }, - "id": 7563, + "id": 8180, "indexExpression": { "argumentTypes": null, - "id": 7562, + "id": 8179, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7524, - "src": "63246:5:21", + "referencedDeclaration": 8141, + "src": "64210:5:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -80879,21 +81573,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63229:23:21", + "src": "64193:23:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$9528_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserReserveData_$10605_storage_$", "typeString": "mapping(address => struct CoreLibrary.UserReserveData storage ref)" } }, - "id": 7565, + "id": 8182, "indexExpression": { "argumentTypes": null, - "id": 7564, + "id": 8181, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "63253:8:21", + "referencedDeclaration": 8139, + "src": "64217:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -80904,14 +81598,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "63229:33:21", + "src": "64193:33:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage", "typeString": "struct CoreLibrary.UserReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "63186:76:21" + "src": "64150:76:28" }, { "expression": { @@ -80919,12 +81613,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7570, + "id": 8187, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63348:17:21", + "referencedDeclaration": 8143, + "src": "64312:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80934,26 +81628,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7571, + "id": 8188, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7560, - "src": "63383:4:21", + "referencedDeclaration": 8177, + "src": "64347:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_UserReserveData_$9528_storage_ptr", + "typeIdentifier": "t_struct$_UserReserveData_$10605_storage_ptr", "typeString": "struct CoreLibrary.UserReserveData storage pointer" } }, - "id": 7572, + "id": 8189, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "stableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9523, - "src": "63383:21:21", + "referencedDeclaration": 10600, + "src": "64347:21:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -80973,32 +81667,32 @@ ], "expression": { "argumentTypes": null, - "id": 7567, + "id": 8184, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63276:7:21", + "referencedDeclaration": 8164, + "src": "64240:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7569, + "id": 8186, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "decreaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10117, - "src": "63276:54:21", + "referencedDeclaration": 11194, + "src": "64240:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7573, + "id": 8190, "isConstant": false, "isLValue": false, "isPure": false, @@ -81006,31 +81700,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63276:142:21", + "src": "64240:142:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7574, + "id": 8191, "nodeType": "ExpressionStatement", - "src": "63276:142:21" + "src": "64240:142:28" } ] } }, { "assignments": [ - 7591 + 8208 ], "declarations": [ { "constant": false, - "id": 7591, + "id": 8208, "name": "newPrincipalAmount", "nodeType": "VariableDeclaration", - "scope": 7633, - "src": "63588:26:21", + "scope": 8250, + "src": "64552:26:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81038,10 +81732,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7590, + "id": 8207, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "63588:7:21", + "src": "64552:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81051,18 +81745,18 @@ "visibility": "internal" } ], - "id": 7599, + "id": 8216, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7597, + "id": 8214, "name": "_amountBorrowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7530, - "src": "63661:15:21", + "referencedDeclaration": 8147, + "src": "64625:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81081,12 +81775,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7594, + "id": 8211, "name": "_balanceIncrease", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7528, - "src": "63639:16:21", + "referencedDeclaration": 8145, + "src": "64603:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81102,32 +81796,32 @@ ], "expression": { "argumentTypes": null, - "id": 7592, + "id": 8209, "name": "_principalBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7526, - "src": "63617:17:21", + "referencedDeclaration": 8143, + "src": "64581:17:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7593, + "id": 8210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "63617:21:21", + "referencedDeclaration": 15070, + "src": "64581:21:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7595, + "id": 8212, "isConstant": false, "isLValue": false, "isPure": false, @@ -81135,27 +81829,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63617:39:21", + "src": "64581:39:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7596, + "id": 8213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "63617:43:21", + "referencedDeclaration": 15070, + "src": "64581:43:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7598, + "id": 8215, "isConstant": false, "isLValue": false, "isPure": false, @@ -81163,37 +81857,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63617:60:21", + "src": "64581:60:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "63588:89:21" + "src": "64552:89:28" }, { "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7604, + "id": 8221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7600, + "id": 8217, "name": "_newBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7532, - "src": "63691:18:21", + "referencedDeclaration": 8149, + "src": "64655:18:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -81205,32 +81899,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7601, + "id": 8218, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63713:11:21", + "referencedDeclaration": 11332, + "src": "64677:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7602, + "id": 8219, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63713:28:21", + "referencedDeclaration": 10589, + "src": "64677:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7603, + "id": 8220, "isConstant": false, "isLValue": false, "isPure": true, @@ -81238,13 +81932,13 @@ "memberName": "STABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63713:35:21", + "src": "64677:35:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63691:57:21", + "src": "64655:57:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -81254,24 +81948,24 @@ "condition": { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, - "id": 7618, + "id": 8235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7614, + "id": 8231, "name": "_newBorrowRateMode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7532, - "src": "63938:18:21", + "referencedDeclaration": 8149, + "src": "64902:18:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -81283,32 +81977,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7615, + "id": 8232, "name": "CoreLibrary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "63960:11:21", + "referencedDeclaration": 11332, + "src": "64924:11:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$10255_$", + "typeIdentifier": "t_type$_t_contract$_CoreLibrary_$11332_$", "typeString": "type(library CoreLibrary)" } }, - "id": 7616, + "id": 8233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "InterestRateMode", "nodeType": "MemberAccess", - "referencedDeclaration": 9512, - "src": "63960:28:21", + "referencedDeclaration": 10589, + "src": "64924:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$9512_$", + "typeIdentifier": "t_type$_t_enum$_InterestRateMode_$10589_$", "typeString": "type(enum CoreLibrary.InterestRateMode)" } }, - "id": 7617, + "id": 8234, "isConstant": false, "isLValue": false, "isPure": true, @@ -81316,22 +82010,22 @@ "memberName": "VARIABLE", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "63960:37:21", + "src": "64924:37:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, - "src": "63938:59:21", + "src": "64902:59:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7630, + "id": 8247, "nodeType": "Block", - "src": "64086:63:21", + "src": "65050:63:28", "statements": [ { "expression": { @@ -81340,14 +82034,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964206e657720626f72726f772072617465206d6f6465", - "id": 7627, + "id": 8244, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "64107:30:21", + "src": "65071:30:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d24c550e14a5a7931248372756216de03b37e128eed349b9738559a1cd913df0", @@ -81363,21 +82057,21 @@ "typeString": "literal_string \"Invalid new borrow rate mode\"" } ], - "id": 7626, + "id": 8243, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 14552, - 14553 + 16132, + 16133 ], - "referencedDeclaration": 14553, - "src": "64100:6:21", + "referencedDeclaration": 16133, + "src": "65064:6:28", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 7628, + "id": 8245, "isConstant": false, "isLValue": false, "isPure": false, @@ -81385,25 +82079,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "64100:38:21", + "src": "65064:38:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7629, + "id": 8246, "nodeType": "ExpressionStatement", - "src": "64100:38:21" + "src": "65064:38:28" } ] }, - "id": 7631, + "id": 8248, "nodeType": "IfStatement", - "src": "63934:215:21", + "src": "64898:215:28", "trueBody": { - "id": 7625, + "id": 8242, "nodeType": "Block", - "src": "63999:81:21", + "src": "64963:81:28", "statements": [ { "expression": { @@ -81411,12 +82105,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7622, + "id": 8239, "name": "newPrincipalAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7591, - "src": "64050:18:21", + "referencedDeclaration": 8208, + "src": "65014:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81432,32 +82126,32 @@ ], "expression": { "argumentTypes": null, - "id": 7619, + "id": 8236, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "64013:7:21", + "referencedDeclaration": 8164, + "src": "64977:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7621, + "id": 8238, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 10135, - "src": "64013:36:21", + "referencedDeclaration": 11212, + "src": "64977:36:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256)" } }, - "id": 7623, + "id": 8240, "isConstant": false, "isLValue": false, "isPure": false, @@ -81465,26 +82159,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "64013:56:21", + "src": "64977:56:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7624, + "id": 8241, "nodeType": "ExpressionStatement", - "src": "64013:56:21" + "src": "64977:56:28" } ] } }, - "id": 7632, + "id": 8249, "nodeType": "IfStatement", - "src": "63687:462:21", + "src": "64651:462:28", "trueBody": { - "id": 7613, + "id": 8230, "nodeType": "Block", - "src": "63750:178:21", + "src": "64714:178:28", "statements": [ { "expression": { @@ -81492,12 +82186,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7608, + "id": 8225, "name": "newPrincipalAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7591, - "src": "63836:18:21", + "referencedDeclaration": 8208, + "src": "64800:18:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81507,26 +82201,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7609, + "id": 8226, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63872:7:21", + "referencedDeclaration": 8164, + "src": "64836:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7610, + "id": 8227, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "63872:31:21", + "referencedDeclaration": 10617, + "src": "64836:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81546,32 +82240,32 @@ ], "expression": { "argumentTypes": null, - "id": 7605, + "id": 8222, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "63764:7:21", + "referencedDeclaration": 8164, + "src": "64728:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7607, + "id": 8224, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increaseTotalBorrowsStableAndUpdateAverageRate", "nodeType": "MemberAccess", - "referencedDeclaration": 10030, - "src": "63764:54:21", + "referencedDeclaration": 11107, + "src": "64728:54:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$9569_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$9569_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_ReserveData_$10646_storage_ptr_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_ReserveData_$10646_storage_ptr_$", "typeString": "function (struct CoreLibrary.ReserveData storage pointer,uint256,uint256)" } }, - "id": 7611, + "id": 8228, "isConstant": false, "isLValue": false, "isPure": false, @@ -81579,15 +82273,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "63764:153:21", + "src": "64728:153:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7612, + "id": 8229, "nodeType": "ExpressionStatement", - "src": "63764:153:21" + "src": "64728:153:28" } ] } @@ -81595,23 +82289,23 @@ ] }, "documentation": "@dev updates the state of the user as a consequence of a stable rate rebalance\n@param _reserve the address of the principal reserve where the user borrowed\n@param _user the address of the borrower\n@param _balanceIncrease the accrued interest on the borrowed amount\n@param _amountBorrowed the accrued interest on the borrowed amount*", - "id": 7634, + "id": 8251, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveTotalBorrowsByRateModeInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7533, + "id": 8150, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7522, + "id": 8139, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62679:16:21", + "scope": 8251, + "src": "63643:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81619,10 +82313,10 @@ "typeString": "address" }, "typeName": { - "id": 7521, + "id": 8138, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62679:7:21", + "src": "63643:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -81634,11 +82328,11 @@ }, { "constant": false, - "id": 7524, + "id": 8141, "name": "_user", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62705:13:21", + "scope": 8251, + "src": "63669:13:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81646,10 +82340,10 @@ "typeString": "address" }, "typeName": { - "id": 7523, + "id": 8140, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62705:7:21", + "src": "63669:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -81661,11 +82355,11 @@ }, { "constant": false, - "id": 7526, + "id": 8143, "name": "_principalBalance", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62728:25:21", + "scope": 8251, + "src": "63692:25:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81673,10 +82367,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7525, + "id": 8142, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62728:7:21", + "src": "63692:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81687,11 +82381,11 @@ }, { "constant": false, - "id": 7528, + "id": 8145, "name": "_balanceIncrease", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62763:24:21", + "scope": 8251, + "src": "63727:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81699,10 +82393,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7527, + "id": 8144, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62763:7:21", + "src": "63727:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81713,11 +82407,11 @@ }, { "constant": false, - "id": 7530, + "id": 8147, "name": "_amountBorrowed", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62797:23:21", + "scope": 8251, + "src": "63761:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81725,10 +82419,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7529, + "id": 8146, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62797:7:21", + "src": "63761:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81739,26 +82433,26 @@ }, { "constant": false, - "id": 7532, + "id": 8149, "name": "_newBorrowRateMode", "nodeType": "VariableDeclaration", - "scope": 7634, - "src": "62830:47:21", + "scope": 8251, + "src": "63794:47:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" }, "typeName": { "contractScope": null, - "id": 7531, + "id": 8148, "name": "CoreLibrary.InterestRateMode", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9512, - "src": "62830:28:21", + "referencedDeclaration": 10589, + "src": "63794:28:28", "typeDescriptions": { - "typeIdentifier": "t_enum$_InterestRateMode_$9512", + "typeIdentifier": "t_enum$_InterestRateMode_$10589", "typeString": "enum CoreLibrary.InterestRateMode" } }, @@ -81766,53 +82460,53 @@ "visibility": "internal" } ], - "src": "62669:214:21" + "src": "63633:214:28" }, "returnParameters": { - "id": 7534, + "id": 8151, "nodeType": "ParameterList", "parameters": [], - "src": "62893:0:21" + "src": "63857:0:28" }, - "scope": 7812, - "src": "62617:1538:21", + "scope": 8443, + "src": "63581:1538:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7718, + "id": 8340, "nodeType": "Block", - "src": "64856:1092:21", + "src": "65820:1193:28", "statements": [ { "assignments": [ - 7646 + 8263 ], "declarations": [ { "constant": false, - "id": 7646, + "id": 8263, "name": "reserve", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64866:39:21", + "scope": 8340, + "src": "65830:39:28", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" }, "typeName": { "contractScope": null, - "id": 7645, + "id": 8262, "name": "CoreLibrary.ReserveData", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9569, - "src": "64866:23:21", + "referencedDeclaration": 10646, + "src": "65830:23:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData" } }, @@ -81820,31 +82514,31 @@ "visibility": "internal" } ], - "id": 7650, + "id": 8267, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7647, + "id": 8264, "name": "reserves", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "64908:8:21", + "referencedDeclaration": 5152, + "src": "65872:8:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$9569_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_ReserveData_$10646_storage_$", "typeString": "mapping(address => struct CoreLibrary.ReserveData storage ref)" } }, - "id": 7649, + "id": 8266, "indexExpression": { "argumentTypes": null, - "id": 7648, + "id": 8265, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "64917:8:21", + "referencedDeclaration": 8253, + "src": "65881:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -81855,29 +82549,94 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "64908:18:21", + "src": "65872:18:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage", "typeString": "struct CoreLibrary.ReserveData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "64866:60:21" + "src": "65830:60:28" }, { "assignments": [ - 7652, - 7654, - 7656 + 8269 ], "declarations": [ { "constant": false, - "id": 7652, + "id": 8269, + "name": "currentAvgStableRate", + "nodeType": "VariableDeclaration", + "scope": 8340, + "src": "65901:28:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "65901:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8272, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8270, + "name": "reserve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8263, + "src": "65932:7:28", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", + "typeString": "struct CoreLibrary.ReserveData storage pointer" + } + }, + "id": 8271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAverageStableBorrowRate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10619, + "src": "65932:38:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "65901:69:28" + }, + { + "assignments": [ + 8274, + 8276, + 8278 + ], + "declarations": [ + { + "constant": false, + "id": 8274, "name": "newLiquidityRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64937:24:21", + "scope": 8340, + "src": "65982:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81885,10 +82644,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7651, + "id": 8273, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64937:7:21", + "src": "65982:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81899,11 +82658,11 @@ }, { "constant": false, - "id": 7654, + "id": 8276, "name": "newStableRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64963:21:21", + "scope": 8340, + "src": "66008:21:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81911,10 +82670,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7653, + "id": 8275, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64963:7:21", + "src": "66008:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81925,11 +82684,11 @@ }, { "constant": false, - "id": 7656, + "id": 8278, "name": "newVariableRate", "nodeType": "VariableDeclaration", - "scope": 7718, - "src": "64986:23:21", + "scope": 8340, + "src": "66031:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81937,10 +82696,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7655, + "id": 8277, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64986:7:21", + "src": "66031:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81950,18 +82709,18 @@ "visibility": "internal" } ], - "id": 7679, + "id": 8300, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7662, + "id": 8284, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65167:8:21", + "referencedDeclaration": 8253, + "src": "66212:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -81972,12 +82731,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7670, + "id": 8292, "name": "_liquidityTaken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7640, - "src": "65253:15:21", + "referencedDeclaration": 8257, + "src": "66298:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -81996,12 +82755,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7667, + "id": 8289, "name": "_liquidityAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7638, - "src": "65232:15:21", + "referencedDeclaration": 8255, + "src": "66277:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82020,12 +82779,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7664, + "id": 8286, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65218:8:21", + "referencedDeclaration": 8253, + "src": "66263:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -82039,18 +82798,18 @@ "typeString": "address" } ], - "id": 7663, + "id": 8285, "name": "getReserveAvailableLiquidity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5461, - "src": "65189:28:21", + "referencedDeclaration": 6078, + "src": "66234:28:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 7665, + "id": 8287, "isConstant": false, "isLValue": false, "isPure": false, @@ -82058,27 +82817,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:38:21", + "src": "66234:38:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7666, + "id": 8288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 13490, - "src": "65189:42:21", + "referencedDeclaration": 15070, + "src": "66234:42:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7668, + "id": 8290, "isConstant": false, "isLValue": false, "isPure": false, @@ -82086,27 +82845,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:59:21", + "src": "66234:59:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7669, + "id": 8291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 13515, - "src": "65189:63:21", + "referencedDeclaration": 15095, + "src": "66234:63:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 7671, + "id": 8293, "isConstant": false, "isLValue": false, "isPure": false, @@ -82114,7 +82873,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65189:80:21", + "src": "66234:80:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82124,26 +82883,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7672, + "id": 8294, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65283:7:21", + "referencedDeclaration": 8263, + "src": "66328:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7673, + "id": 8295, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsStable", "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "65283:26:21", + "referencedDeclaration": 10611, + "src": "66328:26:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82153,26 +82912,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7674, + "id": 8296, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65323:7:21", + "referencedDeclaration": 8263, + "src": "66368:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7675, + "id": 8297, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "totalBorrowsVariable", "nodeType": "MemberAccess", - "referencedDeclaration": 9536, - "src": "65323:28:21", + "referencedDeclaration": 10613, + "src": "66368:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82180,28 +82939,12 @@ }, { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7676, - "name": "reserve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65365:7:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", - "typeString": "struct CoreLibrary.ReserveData storage pointer" - } - }, - "id": 7677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAverageStableBorrowRate", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "65365:38:21", + "id": 8298, + "name": "currentAvgStableRate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8269, + "src": "66410:20:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82238,26 +82981,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7658, + "id": 8280, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65055:7:21", + "referencedDeclaration": 8263, + "src": "66100:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7659, + "id": 8281, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "interestRateStrategyAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 9556, - "src": "65055:52:21", + "referencedDeclaration": 10633, + "src": "66100:52:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -82271,18 +83014,18 @@ "typeString": "address" } ], - "id": 7657, + "id": 8279, "name": "IReserveInterestRateStrategy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "65013:28:21", + "referencedDeclaration": 2519, + "src": "66058:28:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$1698_$", + "typeIdentifier": "t_type$_t_contract$_IReserveInterestRateStrategy_$2519_$", "typeString": "type(contract IReserveInterestRateStrategy)" } }, - "id": 7660, + "id": 8282, "isConstant": false, "isLValue": false, "isPure": false, @@ -82290,27 +83033,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65013:104:21", + "src": "66058:104:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$1698", + "typeIdentifier": "t_contract$_IReserveInterestRateStrategy_$2519", "typeString": "contract IReserveInterestRateStrategy" } }, - "id": 7661, + "id": 8283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "calculateInterestRates", "nodeType": "MemberAccess", - "referencedDeclaration": 1697, - "src": "65013:140:21", + "referencedDeclaration": 2518, + "src": "66058:140:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (address,uint256,uint256,uint256,uint256) view external returns (uint256,uint256,uint256)" } }, - "id": 7678, + "id": 8299, "isConstant": false, "isLValue": false, "isPure": false, @@ -82318,19 +83061,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65013:400:21", + "src": "66058:382:28", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", - "src": "64936:477:21" + "src": "65981:459:28" }, { "expression": { "argumentTypes": null, - "id": 7684, + "id": 8305, "isConstant": false, "isLValue": false, "isPure": false, @@ -82339,26 +83082,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7680, + "id": 8301, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65424:7:21", + "referencedDeclaration": 8263, + "src": "66451:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7682, + "id": 8303, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentLiquidityRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "65424:28:21", + "referencedDeclaration": 10609, + "src": "66451:28:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82368,31 +83111,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7683, + "id": 8304, "name": "newLiquidityRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7652, - "src": "65455:16:21", + "referencedDeclaration": 8274, + "src": "66482:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65424:47:21", + "src": "66451:47:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7685, + "id": 8306, "nodeType": "ExpressionStatement", - "src": "65424:47:21" + "src": "66451:47:28" }, { "expression": { "argumentTypes": null, - "id": 7690, + "id": 8311, "isConstant": false, "isLValue": false, "isPure": false, @@ -82401,26 +83144,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7686, + "id": 8307, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65481:7:21", + "referencedDeclaration": 8263, + "src": "66508:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7688, + "id": 8309, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentStableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9540, - "src": "65481:31:21", + "referencedDeclaration": 10617, + "src": "66508:31:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82430,31 +83173,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7689, + "id": 8310, "name": "newStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7654, - "src": "65515:13:21", + "referencedDeclaration": 8276, + "src": "66542:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65481:47:21", + "src": "66508:47:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7691, + "id": 8312, "nodeType": "ExpressionStatement", - "src": "65481:47:21" + "src": "66508:47:28" }, { "expression": { "argumentTypes": null, - "id": 7696, + "id": 8317, "isConstant": false, "isLValue": false, "isPure": false, @@ -82463,26 +83206,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7692, + "id": 8313, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65538:7:21", + "referencedDeclaration": 8263, + "src": "66565:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7694, + "id": 8315, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "currentVariableBorrowRate", "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "65538:33:21", + "referencedDeclaration": 10615, + "src": "66565:33:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82492,31 +83235,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 7695, + "id": 8316, "name": "newVariableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7656, - "src": "65574:15:21", + "referencedDeclaration": 8278, + "src": "66601:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "65538:51:21", + "src": "66565:51:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7697, + "id": 8318, "nodeType": "ExpressionStatement", - "src": "65538:51:21" + "src": "66565:51:28" }, { "expression": { "argumentTypes": null, - "id": 7705, + "id": 8326, "isConstant": false, "isLValue": false, "isPure": false, @@ -82525,26 +83268,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7698, + "id": 8319, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65635:7:21", + "referencedDeclaration": 8263, + "src": "66662:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7700, + "id": 8321, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastUpdateTimestamp", "nodeType": "MemberAccess", - "referencedDeclaration": 9558, - "src": "65635:27:21", + "referencedDeclaration": 10635, + "src": "66662:27:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" @@ -82559,18 +83302,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7702, + "id": 8323, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14537, - "src": "65672:5:21", + "referencedDeclaration": 16117, + "src": "66699:5:28", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 7703, + "id": 8324, "isConstant": false, "isLValue": false, "isPure": false, @@ -82578,7 +83321,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "65672:15:21", + "src": "66699:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82592,20 +83335,20 @@ "typeString": "uint256" } ], - "id": 7701, + "id": 8322, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "65665:6:21", + "src": "66692:6:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint40_$", "typeString": "type(uint40)" }, "typeName": "uint40" }, - "id": 7704, + "id": 8325, "isConstant": false, "isLValue": false, "isPure": false, @@ -82613,21 +83356,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65665:23:21", + "src": "66692:23:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "src": "65635:53:21", + "src": "66662:53:28", "typeDescriptions": { "typeIdentifier": "t_uint40", "typeString": "uint40" } }, - "id": 7706, + "id": 8327, "nodeType": "ExpressionStatement", - "src": "65635:53:21" + "src": "66662:53:28" }, { "eventCall": { @@ -82635,12 +83378,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7708, + "id": 8329, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7636, - "src": "65732:8:21", + "referencedDeclaration": 8253, + "src": "66763:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -82648,12 +83391,12 @@ }, { "argumentTypes": null, - "id": 7709, + "id": 8330, "name": "newLiquidityRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7652, - "src": "65754:16:21", + "referencedDeclaration": 8274, + "src": "66785:16:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82661,12 +83404,12 @@ }, { "argumentTypes": null, - "id": 7710, + "id": 8331, "name": "newStableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7654, - "src": "65784:13:21", + "referencedDeclaration": 8276, + "src": "66815:13:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82674,12 +83417,25 @@ }, { "argumentTypes": null, - "id": 7711, + "id": 8332, + "name": "currentAvgStableRate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8269, + "src": "66842:20:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 8333, "name": "newVariableRate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7656, - "src": "65811:15:21", + "referencedDeclaration": 8278, + "src": "66876:15:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82689,26 +83445,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7712, + "id": 8334, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65840:7:21", + "referencedDeclaration": 8263, + "src": "66905:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7713, + "id": 8335, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastLiquidityCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9530, - "src": "65840:36:21", + "referencedDeclaration": 10607, + "src": "66905:36:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82718,26 +83474,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7714, + "id": 8336, "name": "reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7646, - "src": "65890:7:21", + "referencedDeclaration": 8263, + "src": "66955:7:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_ReserveData_$9569_storage_ptr", + "typeIdentifier": "t_struct$_ReserveData_$10646_storage_ptr", "typeString": "struct CoreLibrary.ReserveData storage pointer" } }, - "id": 7715, + "id": 8337, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastVariableBorrowCumulativeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 9544, - "src": "65890:41:21", + "referencedDeclaration": 10621, + "src": "66955:41:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82766,23 +83522,27 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 7707, - "name": "ReserveUpdated", + "id": 8328, + "name": "ReserveDataUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4501, - "src": "65704:14:21", + "referencedDeclaration": 5118, + "src": "66731:18:28", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "id": 7716, + "id": 8338, "isConstant": false, "isLValue": false, "isPure": false, @@ -82790,36 +83550,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "65704:237:21", + "src": "66731:275:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7717, + "id": 8339, "nodeType": "EmitStatement", - "src": "65699:242:21" + "src": "66726:280:28" } ] }, "documentation": "@dev Updates the reserve current stable borrow rate Rf, the current variable borrow rate Rv and the current liquidity rate Rl.\nAlso updates the lastUpdateTimestamp value. Please refer to the whitepaper for further information.\n@param _reserve the address of the reserve to be updated\n@param _liquidityAdded the amount of liquidity added to the protocol (deposit or repay) in the previous action\n@param _liquidityTaken the amount of liquidity taken from the protocol (redeem or borrow)*", - "id": 7719, + "id": 8341, "implemented": true, "kind": "function", "modifiers": [], "name": "updateReserveInterestRatesAndTimestampInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7641, + "id": 8258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7636, + "id": 8253, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64758:16:21", + "scope": 8341, + "src": "65722:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -82827,10 +83587,10 @@ "typeString": "address" }, "typeName": { - "id": 7635, + "id": 8252, "name": "address", "nodeType": "ElementaryTypeName", - "src": "64758:7:21", + "src": "65722:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -82842,11 +83602,11 @@ }, { "constant": false, - "id": 7638, + "id": 8255, "name": "_liquidityAdded", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64784:23:21", + "scope": 8341, + "src": "65748:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -82854,10 +83614,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7637, + "id": 8254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64784:7:21", + "src": "65748:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82868,11 +83628,11 @@ }, { "constant": false, - "id": 7640, + "id": 8257, "name": "_liquidityTaken", "nodeType": "VariableDeclaration", - "scope": 7719, - "src": "64817:23:21", + "scope": 8341, + "src": "65781:23:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -82880,10 +83640,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7639, + "id": 8256, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "64817:7:21", + "src": "65781:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -82893,38 +83653,38 @@ "visibility": "internal" } ], - "src": "64748:98:21" + "src": "65712:98:28" }, "returnParameters": { - "id": 7642, + "id": 8259, "nodeType": "ParameterList", "parameters": [], - "src": "64856:0:21" + "src": "65820:0:28" }, - "scope": 7812, - "src": "64693:1255:21", + "scope": 8443, + "src": "65657:1356:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7758, + "id": 8389, "nodeType": "Block", - "src": "66260:280:21", + "src": "67325:412:28", "statements": [ { "assignments": [ - 7727 + 8349 ], "declarations": [ { "constant": false, - "id": 7727, + "id": 8349, "name": "receiver", "nodeType": "VariableDeclaration", - "scope": 7758, - "src": "66270:24:21", + "scope": 8389, + "src": "67335:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -82932,10 +83692,10 @@ "typeString": "address payable" }, "typeName": { - "id": 7726, + "id": 8348, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66270:15:21", + "src": "67335:15:28", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -82946,7 +83706,7 @@ "visibility": "internal" } ], - "id": 7735, + "id": 8357, "initialValue": { "argumentTypes": null, "arguments": [ @@ -82960,18 +83720,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7730, + "id": 8352, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "66313:17:21", + "referencedDeclaration": 5122, + "src": "67378:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 7731, + "id": 8353, "isConstant": false, "isLValue": false, "isPure": false, @@ -82979,13 +83739,13 @@ "memberName": "getTokenDistributor", "nodeType": "MemberAccess", "referencedDeclaration": 485, - "src": "66313:37:21", + "src": "67378:37:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 7732, + "id": 8354, "isConstant": false, "isLValue": false, "isPure": false, @@ -82993,7 +83753,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66313:39:21", + "src": "67378:39:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83007,20 +83767,20 @@ "typeString": "address" } ], - "id": 7729, + "id": 8351, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "66305:7:21", + "src": "67370:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": "uint160" }, - "id": 7733, + "id": 8355, "isConstant": false, "isLValue": false, "isPure": false, @@ -83028,7 +83788,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66305:48:21", + "src": "67370:48:28", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" @@ -83042,20 +83802,20 @@ "typeString": "uint160" } ], - "id": 7728, + "id": 8350, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "66297:7:21", + "src": "67362:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 7734, + "id": 8356, "isConstant": false, "isLValue": false, "isPure": false, @@ -83063,14 +83823,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66297:57:21", + "src": "67362:57:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "VariableDeclarationStatement", - "src": "66270:84:21" + "src": "67335:84:28" }, { "condition": { @@ -83079,19 +83839,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7740, + "id": 8362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7736, + "id": 8358, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "66369:6:21", + "referencedDeclaration": 8343, + "src": "67434:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83106,32 +83866,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7737, + "id": 8359, "name": "EthAddressLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10266, - "src": "66379:13:21", + "referencedDeclaration": 11343, + "src": "67444:13:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$10266_$", + "typeIdentifier": "t_type$_t_contract$_EthAddressLib_$11343_$", "typeString": "type(library EthAddressLib)" } }, - "id": 7738, + "id": 8360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ethAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 10265, - "src": "66379:24:21", + "referencedDeclaration": 11342, + "src": "67444:24:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_address_$", "typeString": "function () pure returns (address)" } }, - "id": 7739, + "id": 8361, "isConstant": false, "isLValue": false, "isPure": false, @@ -83139,76 +83899,167 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66379:26:21", + "src": "67444:26:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66369:36:21", + "src": "67434:36:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7756, + "id": 8387, "nodeType": "Block", - "src": "66483:51:21", + "src": "67548:183:28", "statements": [ { - "expression": { + "assignments": [ + 8373, + null + ], + "declarations": [ + { + "constant": false, + "id": 8373, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 8387, + "src": "67602:11:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "67602:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 8381, + "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7753, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7723, - "src": "66515:7:21", + "hexValue": "", + "id": 8379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67648:2:28", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "arguments": [ + { + "argumentTypes": null, + "id": 8377, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8345, + "src": "67639:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { - "argumentTypes": null, - "id": 7750, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7727, - "src": "66497:8:21", + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8374, + "name": "receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8349, + "src": "67619:8:28", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "67619:13:28", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "67619:19:28", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_function_setvalue_pure$_t_uint256_$returns$_t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value_$", + "typeString": "function (uint256) pure returns (function (bytes memory) payable returns (bool,bytes memory))" } }, - "id": 7752, + "id": 8378, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "66497:17:21", + "names": [], + "nodeType": "FunctionCall", + "src": "67619:28:28", "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 7754, + "id": 8380, "isConstant": false, "isLValue": false, "isPure": false, @@ -83216,25 +84067,103 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66497:26:21", + "src": "67619:32:28", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "67601:50:28" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8383, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "67673:6:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "5472616e7366657220746f20746f6b656e206469737472696275746f72206661696c6564", + "id": 8384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "67681:38:28", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_92dff4247f7ac34d6cab679a9067917e131b3dbc0441a54d6f182042cf60d563", + "typeString": "literal_string \"Transfer to token distributor failed\"" + }, + "value": "Transfer to token distributor failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_92dff4247f7ac34d6cab679a9067917e131b3dbc0441a54d6f182042cf60d563", + "typeString": "literal_string \"Transfer to token distributor failed\"" + } + ], + "id": 8382, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 16130, + 16131 + ], + "referencedDeclaration": 16131, + "src": "67665:7:28", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "67665:55:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7755, + "id": 8386, "nodeType": "ExpressionStatement", - "src": "66497:26:21" + "src": "67665:55:28" } ] }, - "id": 7757, + "id": 8388, "nodeType": "IfStatement", - "src": "66365:169:21", + "src": "67430:301:28", "trueBody": { - "id": 7749, + "id": 8371, "nodeType": "Block", - "src": "66407:70:21", + "src": "67472:70:28", "statements": [ { "expression": { @@ -83242,12 +84171,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7745, + "id": 8367, "name": "receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7727, - "src": "66448:8:21", + "referencedDeclaration": 8349, + "src": "67513:8:28", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -83255,12 +84184,12 @@ }, { "argumentTypes": null, - "id": 7746, + "id": 8368, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7723, - "src": "66458:7:21", + "referencedDeclaration": 8345, + "src": "67523:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83283,12 +84212,12 @@ "arguments": [ { "argumentTypes": null, - "id": 7742, + "id": 8364, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "66427:6:21", + "referencedDeclaration": 8343, + "src": "67492:6:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83302,18 +84231,18 @@ "typeString": "address" } ], - "id": 7741, + "id": 8363, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 14104, - "src": "66421:5:21", + "referencedDeclaration": 15684, + "src": "67486:5:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$14104_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$15684_$", "typeString": "type(contract ERC20)" } }, - "id": 7743, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, @@ -83321,27 +84250,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66421:13:21", + "src": "67486:13:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$14104", + "typeIdentifier": "t_contract$_ERC20_$15684", "typeString": "contract ERC20" } }, - "id": 7744, + "id": 8366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 14295, - "src": "66421:26:21", + "referencedDeclaration": 15875, + "src": "67486:26:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$14262_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$14262_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$15842_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$15842_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 7747, + "id": 8369, "isConstant": false, "isLValue": false, "isPure": false, @@ -83349,15 +84278,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66421:45:21", + "src": "67486:45:28", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7748, + "id": 8370, "nodeType": "ExpressionStatement", - "src": "66421:45:21" + "src": "67486:45:28" } ] } @@ -83365,23 +84294,23 @@ ] }, "documentation": "@dev transfers to the protocol fees of a flashloan to the fees collection address\n@param _token the address of the token being transferred\n@param _amount the amount being transferred*", - "id": 7759, + "id": 8390, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFlashLoanProtocolFeeInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7724, + "id": 8346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7721, + "id": 8343, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 7759, - "src": "66218:14:21", + "scope": 8390, + "src": "67283:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -83389,10 +84318,10 @@ "typeString": "address" }, "typeName": { - "id": 7720, + "id": 8342, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66218:7:21", + "src": "67283:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -83404,11 +84333,11 @@ }, { "constant": false, - "id": 7723, + "id": 8345, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 7759, - "src": "66234:15:21", + "scope": 8390, + "src": "67299:15:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -83416,10 +84345,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7722, + "id": 8344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "66234:7:21", + "src": "67299:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83429,42 +84358,42 @@ "visibility": "internal" } ], - "src": "66217:33:21" + "src": "67282:33:28" }, "returnParameters": { - "id": 7725, + "id": 8347, "nodeType": "ParameterList", "parameters": [], - "src": "66260:0:21" + "src": "67325:0:28" }, - "scope": 7812, - "src": "66172:368:21", + "scope": 8443, + "src": "67237:500:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7768, + "id": 8399, "nodeType": "Block", - "src": "66662:72:21", + "src": "67859:72:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7766, + "id": 8397, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7762, + "id": 8393, "name": "lendingPoolAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4503, - "src": "66672:18:21", + "referencedDeclaration": 5120, + "src": "67869:18:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83479,18 +84408,18 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 7763, + "id": 8394, "name": "addressesProvider", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "src": "66693:17:21", + "referencedDeclaration": 5122, + "src": "67890:17:28", "typeDescriptions": { "typeIdentifier": "t_contract$_LendingPoolAddressesProvider_$582", "typeString": "contract LendingPoolAddressesProvider" } }, - "id": 7764, + "id": 8395, "isConstant": false, "isLValue": false, "isPure": false, @@ -83498,13 +84427,13 @@ "memberName": "getLendingPool", "nodeType": "MemberAccess", "referencedDeclaration": 207, - "src": "66693:32:21", + "src": "67890:32:28", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 7765, + "id": 8396, "isConstant": false, "isLValue": false, "isPure": false, @@ -83512,67 +84441,67 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "66693:34:21", + "src": "67890:34:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66672:55:21", + "src": "67869:55:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7767, + "id": 8398, "nodeType": "ExpressionStatement", - "src": "66672:55:21" + "src": "67869:55:28" } ] }, "documentation": "@dev updates the internal configuration of the core*", - "id": 7769, + "id": 8400, "implemented": true, "kind": "function", "modifiers": [], "name": "refreshConfigInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7760, + "id": 8391, "nodeType": "ParameterList", "parameters": [], - "src": "66650:2:21" + "src": "67847:2:28" }, "returnParameters": { - "id": 7761, + "id": 8392, "nodeType": "ParameterList", "parameters": [], - "src": "66662:0:21" + "src": "67859:0:28" }, - "scope": 7812, - "src": "66620:114:21", + "scope": 8443, + "src": "67817:114:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 7810, + "id": 8441, "nodeType": "Block", - "src": "66880:275:21", + "src": "68077:275:28", "statements": [ { "assignments": [ - 7775 + 8406 ], "declarations": [ { "constant": false, - "id": 7775, + "id": 8406, "name": "reserveAlreadyAdded", "nodeType": "VariableDeclaration", - "scope": 7810, - "src": "66890:24:21", + "scope": 8441, + "src": "68087:24:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -83580,10 +84509,10 @@ "typeString": "bool" }, "typeName": { - "id": 7774, + "id": 8405, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "66890:4:21", + "src": "68087:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -83593,18 +84522,18 @@ "visibility": "internal" } ], - "id": 7777, + "id": 8408, "initialValue": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 7776, + "id": 8407, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "66917:5:21", + "src": "68114:5:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -83613,7 +84542,7 @@ "value": "false" }, "nodeType": "VariableDeclarationStatement", - "src": "66890:32:21" + "src": "68087:32:28" }, { "body": { @@ -83623,7 +84552,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7793, + "id": 8424, "isConstant": false, "isLValue": false, "isPure": false, @@ -83632,26 +84561,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 7789, + "id": 8420, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "66998:12:21", + "referencedDeclaration": 5161, + "src": "68195:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7791, + "id": 8422, "indexExpression": { "argumentTypes": null, - "id": 7790, + "id": 8421, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "67011:1:21", + "referencedDeclaration": 8410, + "src": "68208:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83662,7 +84591,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "66998:15:21", + "src": "68195:15:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83672,48 +84601,48 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 7792, + "id": 8423, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7771, - "src": "67017:8:21", + "referencedDeclaration": 8402, + "src": "68214:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "66998:27:21", + "src": "68195:27:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 7799, + "id": 8430, "nodeType": "IfStatement", - "src": "66994:92:21", + "src": "68191:92:28", "trueBody": { - "id": 7798, + "id": 8429, "nodeType": "Block", - "src": "67027:59:21", + "src": "68224:59:28", "statements": [ { "expression": { "argumentTypes": null, - "id": 7796, + "id": 8427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 7794, + "id": 8425, "name": "reserveAlreadyAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "67045:19:21", + "referencedDeclaration": 8406, + "src": "68242:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -83724,14 +84653,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 7795, + "id": 8426, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "67067:4:21", + "src": "68264:4:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -83739,15 +84668,15 @@ }, "value": "true" }, - "src": "67045:26:21", + "src": "68242:26:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7797, + "id": 8428, "nodeType": "ExpressionStatement", - "src": "67045:26:21" + "src": "68242:26:28" } ] } @@ -83758,19 +84687,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7785, + "id": 8416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 7782, + "id": 8413, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "66952:1:21", + "referencedDeclaration": 8410, + "src": "68149:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83782,18 +84711,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 7783, + "id": 8414, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "66956:12:21", + "referencedDeclaration": 5161, + "src": "68153:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7784, + "id": 8415, "isConstant": false, "isLValue": true, "isPure": false, @@ -83801,31 +84730,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "66956:19:21", + "src": "68153:19:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "66952:23:21", + "src": "68149:23:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7800, + "id": 8431, "initializationExpression": { "assignments": [ - 7779 + 8410 ], "declarations": [ { "constant": false, - "id": 7779, + "id": 8410, "name": "i", "nodeType": "VariableDeclaration", - "scope": 7800, - "src": "66937:9:21", + "scope": 8431, + "src": "68134:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -83833,10 +84762,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7778, + "id": 8409, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "66937:7:21", + "src": "68134:7:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83846,18 +84775,18 @@ "visibility": "internal" } ], - "id": 7781, + "id": 8412, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 7780, + "id": 8411, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "66949:1:21", + "src": "68146:1:28", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -83866,12 +84795,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "66937:13:21" + "src": "68134:13:28" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 7787, + "id": 8418, "isConstant": false, "isLValue": false, "isPure": false, @@ -83879,15 +84808,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "66977:3:21", + "src": "68174:3:28", "subExpression": { "argumentTypes": null, - "id": 7786, + "id": 8417, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "66977:1:21", + "referencedDeclaration": 8410, + "src": "68174:1:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -83898,17 +84827,17 @@ "typeString": "uint256" } }, - "id": 7788, + "id": 8419, "nodeType": "ExpressionStatement", - "src": "66977:3:21" + "src": "68174:3:28" }, "nodeType": "ForStatement", - "src": "66932:154:21" + "src": "68129:154:28" }, { "condition": { "argumentTypes": null, - "id": 7802, + "id": 8433, "isConstant": false, "isLValue": false, "isPure": false, @@ -83916,15 +84845,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "67099:20:21", + "src": "68296:20:28", "subExpression": { "argumentTypes": null, - "id": 7801, + "id": 8432, "name": "reserveAlreadyAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "67100:19:21", + "referencedDeclaration": 8406, + "src": "68297:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -83936,21 +84865,21 @@ } }, "falseBody": null, - "id": 7809, + "id": 8440, "nodeType": "IfStatement", - "src": "67095:53:21", + "src": "68292:53:28", "trueBody": { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 7806, + "id": 8437, "name": "_reserve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7771, - "src": "67139:8:21", + "referencedDeclaration": 8402, + "src": "68336:8:28", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -83966,18 +84895,18 @@ ], "expression": { "argumentTypes": null, - "id": 7803, + "id": 8434, "name": "reservesList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "67121:12:21", + "referencedDeclaration": 5161, + "src": "68318:12:28", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 7805, + "id": 8436, "isConstant": false, "isLValue": false, "isPure": false, @@ -83985,13 +84914,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "67121:17:21", + "src": "68318:17:28", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 7807, + "id": 8438, "isConstant": false, "isLValue": false, "isPure": false, @@ -83999,37 +84928,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "67121:27:21", + "src": "68318:27:28", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7808, + "id": 8439, "nodeType": "ExpressionStatement", - "src": "67121:27:21" + "src": "68318:27:28" } } ] }, "documentation": "@dev adds a reserve to the array of the reserves address*", - "id": 7811, + "id": 8442, "implemented": true, "kind": "function", "modifiers": [], "name": "addReserveToListInternal", "nodeType": "FunctionDefinition", "parameters": { - "id": 7772, + "id": 8403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7771, + "id": 8402, "name": "_reserve", "nodeType": "VariableDeclaration", - "scope": 7811, - "src": "66853:16:21", + "scope": 8442, + "src": "68050:16:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -84037,10 +84966,10 @@ "typeString": "address" }, "typeName": { - "id": 7770, + "id": 8401, "name": "address", "nodeType": "ElementaryTypeName", - "src": "66853:7:21", + "src": "68050:7:28", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -84051,26 +84980,26 @@ "visibility": "internal" } ], - "src": "66852:18:21" + "src": "68049:18:28" }, "returnParameters": { - "id": 7773, + "id": 8404, "nodeType": "ParameterList", "parameters": [], - "src": "66880:0:21" + "src": "68077:0:28" }, - "scope": 7812, - "src": "66819:336:21", + "scope": 8443, + "src": "68016:336:28", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 7813, - "src": "1071:66087:21" + "scope": 8444, + "src": "1071:67284:28" } ], - "src": "0:67159:21" + "src": "0:68356:28" }, "compiler": { "name": "solc", @@ -84078,7 +85007,7 @@ }, "networks": {}, "schemaVersion": "3.0.11", - "updatedAt": "2020-01-09T12:41:06.683Z", + "updatedAt": "2020-06-24T17:12:47.154Z", "devdoc": { "author": "Aave", "details": "NOTE: The core does not enforce security checks on the update of the state (eg, updateStateOnBorrow() does not enforce that borrowed is enabled on the reserve). The check that an action can be performed is a duty of the overlying LendingPool contract.*", diff --git a/thegraph/README.md b/thegraph/README.md index a47ce81..0776cf3 100644 --- a/thegraph/README.md +++ b/thegraph/README.md @@ -8,14 +8,12 @@ More information about TheGraph can be found on https://thegraph.com/docs/quick- ### raw Data presented as in the smartcontracts in small units (wei, etc), deployed at: -https://thegraph.com/explorer/subgraph/aave/protocol-multy-raw - mainnet +https://thegraph.com/explorer/subgraph/aave/protocol-raw - mainnet -https://thegraph.com/explorer/subgraph/aave/protocol-multy-ropsten-raw - ropsten +https://thegraph.com/explorer/subgraph/aave/protocol-ropsten-raw - ropsten -https://thegraph.com/explorer/subgraph/aave/protocol-multy-kovan-raw - kovan - -### formatted (DEPRECATED, available only for main Aave pool) -Data formatted to big units with floating point, deployed at: +### formatted +Data formatted to big units with floating point (deprecated), deployed at: https://thegraph.com/explorer/subgraph/aave/protocol - mainnet diff --git a/thegraph/package.json b/thegraph/package.json index c057624..efdc1d0 100644 --- a/thegraph/package.json +++ b/thegraph/package.json @@ -14,7 +14,7 @@ "deploy-multy-ropsten-raw": "NETWORK=ropsten TYPE=raw NAME=protocol-multy-ropsten-raw npm run deploy-remote", "deploy-multy-kovan-raw": "NETWORK=kovan TYPE=raw NAME=protocol-multy-kovan-raw npm run deploy-remote", "deploy-multy-main-raw": "NETWORK=mainnet TYPE=raw NAME=protocol-multy-raw npm run deploy-remote", - "deploy-all-multy-remote": "deploy-multy-ropsten-raw && npm run deploy-multy-kovan-raw" + "deploy-all-multy-remote": "npm run deploy-multy-main-raw && npm run deploy-multy-ropsten-raw && npm run deploy-multy-kovan-raw" }, "repository": { "type": "git", diff --git a/thegraph/raw/generated/schema.ts b/thegraph/raw/generated/schema.ts index 6cf566b..453ff0e 100644 --- a/thegraph/raw/generated/schema.ts +++ b/thegraph/raw/generated/schema.ts @@ -2303,6 +2303,15 @@ export class ReserveConfigurationHistoryItem extends Entity { this.set("isActive", Value.fromBoolean(value)); } + get isFreezed(): boolean { + let value = this.get("isFreezed"); + return value.toBoolean(); + } + + set isFreezed(value: boolean) { + this.set("isFreezed", Value.fromBoolean(value)); + } + get reserveInterestRateStrategy(): Bytes { let value = this.get("reserveInterestRateStrategy"); return value.toBytes(); @@ -2650,6 +2659,15 @@ export class Reserve extends Entity { this.set("isActive", Value.fromBoolean(value)); } + get isFreezed(): boolean { + let value = this.get("isFreezed"); + return value.toBoolean(); + } + + set isFreezed(value: boolean) { + this.set("isFreezed", Value.fromBoolean(value)); + } + get price(): string { let value = this.get("price"); return value.toString(); diff --git a/thegraph/raw/generated/templates/LendingPoolConfigurator/DefaultReserveInterestRateStrategy.ts b/thegraph/raw/generated/templates/LendingPoolConfigurator/DefaultReserveInterestRateStrategy.ts index 6cac493..a682468 100644 --- a/thegraph/raw/generated/templates/LendingPoolConfigurator/DefaultReserveInterestRateStrategy.ts +++ b/thegraph/raw/generated/templates/LendingPoolConfigurator/DefaultReserveInterestRateStrategy.ts @@ -38,6 +38,29 @@ export class DefaultReserveInterestRateStrategy extends ethereum.SmartContract { ); } + EXCESS_UTILIZATION_RATE(): BigInt { + let result = super.call( + "EXCESS_UTILIZATION_RATE", + "EXCESS_UTILIZATION_RATE():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_EXCESS_UTILIZATION_RATE(): ethereum.CallResult { + let result = super.tryCall( + "EXCESS_UTILIZATION_RATE", + "EXCESS_UTILIZATION_RATE():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + OPTIMAL_UTILIZATION_RATE(): BigInt { let result = super.call( "OPTIMAL_UTILIZATION_RATE", @@ -84,20 +107,20 @@ export class DefaultReserveInterestRateStrategy extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - getBaseVariableBorrowRate(): BigInt { + baseVariableBorrowRate(): BigInt { let result = super.call( - "getBaseVariableBorrowRate", - "getBaseVariableBorrowRate():(uint256)", + "baseVariableBorrowRate", + "baseVariableBorrowRate():(uint256)", [] ); return result[0].toBigInt(); } - try_getBaseVariableBorrowRate(): ethereum.CallResult { + try_baseVariableBorrowRate(): ethereum.CallResult { let result = super.tryCall( - "getBaseVariableBorrowRate", - "getBaseVariableBorrowRate():(uint256)", + "baseVariableBorrowRate", + "baseVariableBorrowRate():(uint256)", [] ); if (result.reverted) { @@ -107,20 +130,35 @@ export class DefaultReserveInterestRateStrategy extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - getStableRateSlope1(): BigInt { + reserve(): Address { + let result = super.call("reserve", "reserve():(address)", []); + + return result[0].toAddress(); + } + + try_reserve(): ethereum.CallResult
{ + let result = super.tryCall("reserve", "reserve():(address)", []); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + + stableRateSlope1(): BigInt { let result = super.call( - "getStableRateSlope1", - "getStableRateSlope1():(uint256)", + "stableRateSlope1", + "stableRateSlope1():(uint256)", [] ); return result[0].toBigInt(); } - try_getStableRateSlope1(): ethereum.CallResult { + try_stableRateSlope1(): ethereum.CallResult { let result = super.tryCall( - "getStableRateSlope1", - "getStableRateSlope1():(uint256)", + "stableRateSlope1", + "stableRateSlope1():(uint256)", [] ); if (result.reverted) { @@ -130,20 +168,89 @@ export class DefaultReserveInterestRateStrategy extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - getStableRateSlope2(): BigInt { + stableRateSlope2(): BigInt { let result = super.call( - "getStableRateSlope2", - "getStableRateSlope2():(uint256)", + "stableRateSlope2", + "stableRateSlope2():(uint256)", [] ); return result[0].toBigInt(); } - try_getStableRateSlope2(): ethereum.CallResult { + try_stableRateSlope2(): ethereum.CallResult { let result = super.tryCall( - "getStableRateSlope2", - "getStableRateSlope2():(uint256)", + "stableRateSlope2", + "stableRateSlope2():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + variableRateSlope1(): BigInt { + let result = super.call( + "variableRateSlope1", + "variableRateSlope1():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_variableRateSlope1(): ethereum.CallResult { + let result = super.tryCall( + "variableRateSlope1", + "variableRateSlope1():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + variableRateSlope2(): BigInt { + let result = super.call( + "variableRateSlope2", + "variableRateSlope2():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_variableRateSlope2(): ethereum.CallResult { + let result = super.tryCall( + "variableRateSlope2", + "variableRateSlope2():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + getBaseVariableBorrowRate(): BigInt { + let result = super.call( + "getBaseVariableBorrowRate", + "getBaseVariableBorrowRate():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_getBaseVariableBorrowRate(): ethereum.CallResult { + let result = super.tryCall( + "getBaseVariableBorrowRate", + "getBaseVariableBorrowRate():(uint256)", [] ); if (result.reverted) { @@ -199,6 +306,52 @@ export class DefaultReserveInterestRateStrategy extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } + getStableRateSlope1(): BigInt { + let result = super.call( + "getStableRateSlope1", + "getStableRateSlope1():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_getStableRateSlope1(): ethereum.CallResult { + let result = super.tryCall( + "getStableRateSlope1", + "getStableRateSlope1():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + getStableRateSlope2(): BigInt { + let result = super.call( + "getStableRateSlope2", + "getStableRateSlope2():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_getStableRateSlope2(): ethereum.CallResult { + let result = super.tryCall( + "getStableRateSlope2", + "getStableRateSlope2():(uint256)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + calculateInterestRates( _reserve: Address, _availableLiquidity: BigInt, @@ -276,28 +429,32 @@ export class ConstructorCall__Inputs { this._call = call; } - get _provider(): Address { + get _reserve(): Address { return this._call.inputValues[0].value.toAddress(); } + get _provider(): Address { + return this._call.inputValues[1].value.toAddress(); + } + get _baseVariableBorrowRate(): BigInt { - return this._call.inputValues[1].value.toBigInt(); + return this._call.inputValues[2].value.toBigInt(); } get _variableRateSlope1(): BigInt { - return this._call.inputValues[2].value.toBigInt(); + return this._call.inputValues[3].value.toBigInt(); } get _variableRateSlope2(): BigInt { - return this._call.inputValues[3].value.toBigInt(); + return this._call.inputValues[4].value.toBigInt(); } get _stableRateSlope1(): BigInt { - return this._call.inputValues[4].value.toBigInt(); + return this._call.inputValues[5].value.toBigInt(); } get _stableRateSlope2(): BigInt { - return this._call.inputValues[5].value.toBigInt(); + return this._call.inputValues[6].value.toBigInt(); } } diff --git a/thegraph/raw/initializers.ts b/thegraph/raw/initializers.ts index 98d2ff4..b5086ab 100644 --- a/thegraph/raw/initializers.ts +++ b/thegraph/raw/initializers.ts @@ -100,6 +100,7 @@ export function getOrInitReserve(underlyingAsset: Address, event: ethereum.Event reserve.borrowingEnabled = false; reserve.stableBorrowRateEnabled = false; reserve.isActive = false; + reserve.isFreezed = false; reserve.baseLTVasCollateral = zeroBI(); reserve.reserveLiquidationThreshold = zeroBI(); reserve.reserveLiquidationBonus = zeroBI(); diff --git a/thegraph/raw/mapping/lending-pool-configurator.ts b/thegraph/raw/mapping/lending-pool-configurator.ts index d800481..88e3927 100644 --- a/thegraph/raw/mapping/lending-pool-configurator.ts +++ b/thegraph/raw/mapping/lending-pool-configurator.ts @@ -42,6 +42,7 @@ function saveReserve(reserve: Reserve, event: ethereum.Event): void { configurationHistoryItem.borrowingEnabled = reserve.borrowingEnabled; configurationHistoryItem.stableBorrowRateEnabled = reserve.stableBorrowRateEnabled; configurationHistoryItem.isActive = reserve.isActive; + configurationHistoryItem.isFreezed = reserve.isFreezed; configurationHistoryItem.reserveInterestRateStrategy = reserve.reserveInterestRateStrategy; configurationHistoryItem.baseLTVasCollateral = reserve.baseLTVasCollateral; configurationHistoryItem.reserveLiquidationThreshold = reserve.reserveLiquidationThreshold; @@ -183,6 +184,7 @@ export function handleStableRateEnabledOnReserve(event: StableRateEnabledOnReser reserve.stableBorrowRateEnabled = true; saveReserve(reserve, event); } + export function handleReserveActivated(event: ReserveActivated): void { let reserve = getOrInitReserve(event.params._reserve, event); reserve.isActive = true; @@ -193,6 +195,18 @@ export function handleReserveDeactivated(event: ReserveDeactivated): void { reserve.isActive = false; saveReserve(reserve, event); } + +export function handleReserveFreezed(event: ReserveActivated): void { + let reserve = getOrInitReserve(event.params._reserve, event); + reserve.isFreezed = true; + saveReserve(reserve, event); +} +export function handleReserveUnfreezed(event: ReserveDeactivated): void { + let reserve = getOrInitReserve(event.params._reserve, event); + reserve.isFreezed = false; + saveReserve(reserve, event); +} + export function handleReserveDisabledAsCollateral(event: ReserveDisabledAsCollateral): void { let reserve = getOrInitReserve(event.params._reserve, event); reserve.usageAsCollateralEnabled = false; diff --git a/thegraph/raw/mapping/proxy-price-provider.ts b/thegraph/raw/mapping/proxy-price-provider.ts index 52e0c88..17809db 100644 --- a/thegraph/raw/mapping/proxy-price-provider.ts +++ b/thegraph/raw/mapping/proxy-price-provider.ts @@ -73,10 +73,23 @@ export function handleFallbackOracleUpdated(event: FallbackOracleUpdated): void export function handleAssetSourceUpdated(event: AssetSourceUpdated): void { let assetAddress = event.params.asset; let sAssetAddress = assetAddress.toHexString(); + + // because of the bug with wrong assets addresses submission + if (sAssetAddress.split('0').length > 38) { + log.warning('skipping wrong asset registration {}', [sAssetAddress]); + return; + } + let priceOracle = getOrInitPriceOracle(); let proxyPriceProvider = ChainlinkProxyPriceProvider.bind(event.address); - let priceFromProxy = proxyPriceProvider.getAssetPrice(assetAddress); + + //needed because of one wrong handleAssetSourceUpdated event deployed on the mainnet + let priceFromProxy = zeroBI(); + let priceFromProxyCall = proxyPriceProvider.try_getAssetPrice(assetAddress); + if (!priceFromProxyCall.reverted) { + priceFromProxy = priceFromProxyCall.value; + } let assetOracleAddress = event.params.source; let priceOracleAsset = getPriceOracleAsset(sAssetAddress); @@ -97,7 +110,9 @@ export function handleAssetSourceUpdated(event: AssetSourceUpdated): void { ChainlinkAggregatorContract.create(assetOracleAddress); // fallback is not required if oracle works fine - priceOracleAsset.isFallbackRequired = !priceAggregatorInstance.latestAnswer().gt(zeroBI()); + let priceAggregatorlatestAnswerCall = priceAggregatorInstance.try_latestAnswer(); + priceOracleAsset.isFallbackRequired = + priceAggregatorlatestAnswerCall.reverted || priceAggregatorlatestAnswerCall.value.isZero(); } else { // composite assets don't need fallback, it will work out of the box priceOracleAsset.isFallbackRequired = false; diff --git a/thegraph/raw/schema.graphql b/thegraph/raw/schema.graphql index 6e946b3..fc75c8b 100644 --- a/thegraph/raw/schema.graphql +++ b/thegraph/raw/schema.graphql @@ -279,6 +279,7 @@ type ReserveConfigurationHistoryItem @entity { borrowingEnabled: Boolean! stableBorrowRateEnabled: Boolean! isActive: Boolean! + isFreezed: Boolean! reserveInterestRateStrategy: Bytes! baseLTVasCollateral: BigInt! reserveLiquidationThreshold: BigInt! @@ -322,6 +323,7 @@ type Reserve @entity { borrowingEnabled: Boolean! # defalt false stableBorrowRateEnabled: Boolean! # defalt false isActive: Boolean! # defalt false + isFreezed: Boolean! # defalt false price: PriceOracleAsset! reserveInterestRateStrategy: Bytes! optimalUtilisationRate: BigInt! diff --git a/thegraph/subgraph.template.yaml b/thegraph/subgraph.template.yaml index fe211d7..2fc079e 100644 --- a/thegraph/subgraph.template.yaml +++ b/thegraph/subgraph.template.yaml @@ -96,7 +96,6 @@ dataSources: handler: handleChainlinkUSDETHPriceUpdated file: ./{{type}}/mapping/price-oracle.ts - templates: - kind: ethereum/contract name: LendingPoolAddressesProvider @@ -172,6 +171,10 @@ templates: handler: handleStableRateEnabledOnReserve - event: ReserveActivated(indexed address) handler: handleReserveActivated + - event: ReserveFreezed(indexed address) + handler: handleReserveFreezed + - event: ReserveUnfreezed(indexed address) + handler: handleReserveUnfreezed - event: ReserveDeactivated(indexed address) handler: handleReserveDeactivated - event: ReserveEnabledAsCollateral(indexed address,uint256,uint256,uint256)