diff --git a/contracts/lendingpool/LendingPool.sol b/contracts/lendingpool/LendingPool.sol index 5ddc5d24..68b6182d 100644 --- a/contracts/lendingpool/LendingPool.sol +++ b/contracts/lendingpool/LendingPool.sol @@ -47,7 +47,7 @@ contract LendingPool is VersionedInitializable, ILendingPool, LendingPoolStorage uint256 public constant REBALANCE_UP_USAGE_RATIO_THRESHOLD = 0.95 * 1e27; //usage ratio of 95% uint256 public constant MAX_STABLE_RATE_BORROW_SIZE_PERCENT = 25; uint256 public constant FLASHLOAN_PREMIUM_TOTAL = 9; - uint256 public constant UINT_MAX_VALUE = uint256(-1); + uint256 public constant MAX_NUMBER_RESERVES = 128; uint256 public constant LENDINGPOOL_REVISION = 0x2; /** @@ -940,6 +940,7 @@ contract LendingPool is VersionedInitializable, ILendingPool, LendingPoolStorage **/ function _addReserveToList(address asset) internal { bool reserveAlreadyAdded = false; + require(_reservesList.length < MAX_NUMBER_RESERVES, Errors.NO_MORE_RESERVES_ALLOWED); for (uint256 i = 0; i < _reservesList.length; i++) if (_reservesList[i] == asset) { reserveAlreadyAdded = true; diff --git a/contracts/libraries/helpers/Errors.sol b/contracts/libraries/helpers/Errors.sol index 4f3f6daa..48fc7f32 100644 --- a/contracts/libraries/helpers/Errors.sol +++ b/contracts/libraries/helpers/Errors.sol @@ -43,6 +43,7 @@ library Errors { string public constant FAILED_REPAY_WITH_COLLATERAL = '53'; string public constant FAILED_COLLATERAL_SWAP = '55'; string public constant INVALID_EQUAL_ASSETS_TO_SWAP = '56'; + string public constant NO_MORE_RESERVES_ALLOWED = '59'; // require error messages - aToken string public constant CALLER_MUST_BE_LENDING_POOL = '28'; // 'The caller of this function must be a lending pool'