Vulnerability Details
File: src/DSCEngine.sol
102 modifier isAllowedToken(address token) {
103 if (s_priceFeeds[token] == address(0)) {
104 revert DSCEngine__NotAllowedToken();
105 }
106 _;
107: }
DSCEngine.sol#L102-L107
The above modifer is only used in the following:
149 function depositCollateral(address tokenCollateralAddress, uint256 amountCollateral)
150 public
151 moreThanZero(amountCollateral)
152: isAllowedToken(tokenCollateralAddress)
153 nonReentrant
154 {
155 s_collateralDeposited[msg.sender][tokenCollateralAddress] += amountCollateral;
156 emit CollateralDeposited(msg.sender, tokenCollateralAddress, amountCollateral);
157 bool success = IERC20(tokenCollateralAddress).transferFrom(msg.sender, address(this), amountCollateral);
158 if (!success) {
159 revert DSCEngine__TransferFailed();
160 }
161 }
DSCEngine.sol#L152
Tools Used
VSCode
Recommendations
function depositCollateral(address tokenCollateralAddress, uint256 amountCollateral)
public
moreThanZero(amountCollateral)
- isAllowedToken(tokenCollateralAddress)
nonReentrant
{
+ if (s_priceFeeds[token] == address(0)) {
+ revert DSCEngine__NotAllowedToken();
+ }
+ _;
s_collateralDeposited[msg.sender][tokenCollateralAddress] += amountCollateral;
emit CollateralDeposited(msg.sender, tokenCollateralAddress, amountCollateral);
bool success = IERC20(tokenCollateralAddress).transferFrom(msg.sender, address(this), amountCollateral);
if (!success) {
revert DSCEngine__TransferFailed();
}
}