Skip to content

Commit

Permalink
fix: Lack of validating the _mergeToken
Browse files Browse the repository at this point in the history
  • Loading branch information
zkJoaquin committed Apr 7, 2024
1 parent 65d49d6 commit 9c2d99e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions contracts/merge/MergeTokenPortal.sol
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ contract MergeTokenPortal is IMergeTokenPortal, UUPSUpgradeable, OwnableUpgradea
address public securityCouncil;

/// @dev A mapping merge token address => is merge token supported.
mapping(address mergeToken => bool) public isMergeTokenSupported;
mapping(address mergeToken => mapping(address sourceToken => bool)) public isMergeTokenSupported;

/**
* @dev This empty reserved space is put in place to allow future versions to add new
Expand Down Expand Up @@ -112,7 +112,7 @@ contract MergeTokenPortal is IMergeTokenPortal, UUPSUpgradeable, OwnableUpgradea
function addSourceToken(address _sourceToken, address _mergeToken, uint256 _depositLimit) external onlyOwner {
SourceTokenInfo storage tokenInfo = sourceTokenInfoMap[_sourceToken];
require(!tokenInfo.isSupported, "Source token is already supported");
require(!isMergeTokenSupported[_mergeToken], "Merge token is already supported");
require(!isMergeTokenSupported[_mergeToken][_sourceToken], "Merge token is already supported");
require(_sourceToken != address(0) && _mergeToken != address(0), "Invalid token address");
require(_sourceToken != _mergeToken, "Should not Match");
uint8 _sourceTokenDecimals = IERC20MetadataUpgradeable(_sourceToken).decimals();
Expand All @@ -126,7 +126,7 @@ contract MergeTokenPortal is IMergeTokenPortal, UUPSUpgradeable, OwnableUpgradea
balance: 0,
depositLimit: _depositLimit
});
isMergeTokenSupported[_mergeToken] = true;
isMergeTokenSupported[_mergeToken][_sourceToken] = true;

emit SourceTokenAdded(_sourceToken, _mergeToken, _depositLimit);
}
Expand All @@ -136,8 +136,8 @@ contract MergeTokenPortal is IMergeTokenPortal, UUPSUpgradeable, OwnableUpgradea
SourceTokenInfo storage tokenInfo = sourceTokenInfoMap[_sourceToken];
require(tokenInfo.isSupported, "Source token is already removed");
require(tokenInfo.balance == 0, "Source Token balance is not zero");
delete isMergeTokenSupported[tokenInfo.mergeToken][_sourceToken];
delete sourceTokenInfoMap[_sourceToken];
delete isMergeTokenSupported[tokenInfo.mergeToken];

emit SourceTokenRemoved(_sourceToken);
}
Expand Down

0 comments on commit 9c2d99e

Please sign in to comment.