[ { "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": true, "inputs": [], "name": "addressesProvider", "outputs": [ { "internalType": "contract LendingPoolAddressesProvider", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "lendingPoolAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "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": "contract LendingPoolAddressesProvider", "name": "_addressesProvider", "type": "address" } ], "name": "initialize", "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": "_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": "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": "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": "_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": "_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" }, { "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": "bool", "name": "_useAsCollateral", "type": "bool" } ], "name": "setUserUseReserveAsCollateral", "outputs": [], "payable": false, "stateMutability": "nonpayable", "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": "_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": "_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": [ { "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": 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" }, { "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": "getUserUnderlyingAssetBalance", "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": "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": "getReserveTotalLiquidity", "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": "getReserveLiquidationThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "getReserveCurrentVariableBorrowRate", "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": "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": "getReserveLiquidityCumulativeIndex", "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": [ { "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": "getReserveDecimals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "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" } ], "name": "getReserveIsStableBorrowRateEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "getReserveLastUpdate", "outputs": [ { "internalType": "uint40", "name": "timestamp", "type": "uint40" } ], "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": [], "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": "isUserUseReserveAsCollateralEnabled", "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": "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": "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": "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": "getUserVariableBorrowCumulativeIndex", "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": false, "inputs": [], "name": "refreshConfiguration", "outputs": [], "payable": false, "stateMutability": "nonpayable", "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": "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": "bool", "name": "_stableBorrowRateEnabled", "type": "bool" } ], "name": "enableBorrowingOnReserve", "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" }, { "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": "disableReserveAsCollateral", "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": "disableReserveStableBorrowRate", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "_reserve", "type": "address" } ], "name": "activateReserve", "outputs": [], "payable": false, "stateMutability": "nonpayable", "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": "freezeReserve", "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": "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": "_threshold", "type": "uint256" } ], "name": "setReserveLiquidationThreshold", "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": "_decimals", "type": "uint256" } ], "name": "setReserveDecimals", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ]