Updated require message errors with constant string numbers to reduce gas

This commit is contained in:
pol 2020-08-25 15:51:52 +02:00
parent abe967c707
commit 0f5017cc81
3 changed files with 703 additions and 713 deletions

View File

@ -3,6 +3,7 @@
"trailingComma": "es5", "trailingComma": "es5",
"semi": true, "semi": true,
"singleQuote": true, "singleQuote": true,
"tabWidth": 2,
"overrides": [ "overrides": [
{ {
"files": "*.sol", "files": "*.sol",

View File

@ -203,14 +203,8 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable, ILendingPool {
reserve.updateCumulativeIndexesAndTimestamp(); reserve.updateCumulativeIndexesAndTimestamp();
if ( if (ReserveLogic.InterestRateMode(interestRateMode) == ReserveLogic.InterestRateMode.STABLE) {
ReserveLogic.InterestRateMode(interestRateMode) == ReserveLogic.InterestRateMode.STABLE IStableDebtToken(reserve.stableDebtTokenAddress).mint(msg.sender, amount, userStableRate);
) {
IStableDebtToken(reserve.stableDebtTokenAddress).mint(
msg.sender,
amount,
userStableRate
);
} else { } else {
IVariableDebtToken(reserve.variableDebtTokenAddress).mint(msg.sender, amount); IVariableDebtToken(reserve.variableDebtTokenAddress).mint(msg.sender, amount);
} }
@ -254,10 +248,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable, ILendingPool {
) external override nonReentrant { ) external override nonReentrant {
ReserveLogic.ReserveData storage reserve = _reserves[asset]; ReserveLogic.ReserveData storage reserve = _reserves[asset];
(uint256 stableDebt, uint256 variableDebt) = Helpers.getUserCurrentDebt( (uint256 stableDebt, uint256 variableDebt) = Helpers.getUserCurrentDebt(onBehalfOf, reserve);
onBehalfOf,
reserve
);
ReserveLogic.InterestRateMode interestRateMode = ReserveLogic.InterestRateMode(rateMode); ReserveLogic.InterestRateMode interestRateMode = ReserveLogic.InterestRateMode(rateMode);
@ -308,10 +299,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable, ILendingPool {
function swapBorrowRateMode(address asset, uint256 rateMode) external override nonReentrant { function swapBorrowRateMode(address asset, uint256 rateMode) external override nonReentrant {
ReserveLogic.ReserveData storage reserve = _reserves[asset]; ReserveLogic.ReserveData storage reserve = _reserves[asset];
(uint256 stableDebt, uint256 variableDebt) = Helpers.getUserCurrentDebt( (uint256 stableDebt, uint256 variableDebt) = Helpers.getUserCurrentDebt(msg.sender, reserve);
msg.sender,
reserve
);
ReserveLogic.InterestRateMode interestRateMode = ReserveLogic.InterestRateMode(rateMode); ReserveLogic.InterestRateMode interestRateMode = ReserveLogic.InterestRateMode(rateMode);
@ -378,8 +366,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable, ILendingPool {
uint256 userStableRate = stableDebtToken.getUserStableRate(user); uint256 userStableRate = stableDebtToken.getUserStableRate(user);
require( require(
userStableRate < reserve.currentLiquidityRate || userStableRate < reserve.currentLiquidityRate || userStableRate > rebalanceDownRateThreshold,
userStableRate > rebalanceDownRateThreshold,
INTERESTRATE_REBALANCE_CONDITIONS_NOT_MET INTERESTRATE_REBALANCE_CONDITIONS_NOT_MET
); );
@ -677,9 +664,7 @@ contract LendingPool is ReentrancyGuard, VersionedInitializable, ILendingPool {
user user
); );
usageAsCollateralEnabled = _usersConfig[user].isUsingAsCollateral(reserve.index); usageAsCollateralEnabled = _usersConfig[user].isUsingAsCollateral(reserve.index);
variableBorrowIndex = IVariableDebtToken(reserve.variableDebtTokenAddress).getUserIndex( variableBorrowIndex = IVariableDebtToken(reserve.variableDebtTokenAddress).getUserIndex(user);
user
);
} }
function getReserves() external override view returns (address[] memory) { function getReserves() external override view returns (address[] memory) {

View File

@ -25,6 +25,10 @@ contract LendingPoolConfigurator is VersionedInitializable {
using SafeMath for uint256; using SafeMath for uint256;
using ReserveConfiguration for ReserveConfiguration.Map; using ReserveConfiguration for ReserveConfiguration.Map;
//require error messages
string private constant CALLER_NOT_LENDING_POOL_MANAGER = '1'; // 'The caller must be a lending pool manager'
string private constant RESERVE_LIQUIDITY_NOT_0 = '2'; // 'The liquidity of the reserve needs to be 0'
/** /**
* @dev emitted when a reserve is initialized. * @dev emitted when a reserve is initialized.
* @param asset the address of the reserve * @param asset the address of the reserve
@ -178,7 +182,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
modifier onlyLendingPoolManager { modifier onlyLendingPoolManager {
require( require(
addressesProvider.getLendingPoolManager() == msg.sender, addressesProvider.getLendingPoolManager() == msg.sender,
'The caller must be a lending pool manager' CALLER_NOT_LENDING_POOL_MANAGER
); );
_; _;
} }
@ -425,7 +429,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
) = pool.getReserveData(asset); ) = pool.getReserveData(asset);
require( require(
availableLiquidity == 0 && totalBorrowsStable == 0 && totalBorrowsVariable == 0, availableLiquidity == 0 && totalBorrowsStable == 0 && totalBorrowsVariable == 0,
'The liquidity of the reserve needs to be 0' RESERVE_LIQUIDITY_NOT_0
); );
ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset); ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);