diff --git a/contracts/receivers/aave-v2-receiver/main.sol b/contracts/receivers/aave-v2-receiver/main.sol index 94b7cc5..58a659b 100644 --- a/contracts/receivers/aave-v2-receiver/main.sol +++ b/contracts/receivers/aave-v2-receiver/main.sol @@ -19,6 +19,10 @@ contract MigrateResolver is Helpers, Events { function addTokenSupport(address[] memory _tokens) public { require(msg.sender == instaIndex.master(), "not-master"); + for (uint i = 0; i < supportedTokens.length; i++) { + delete isSupportedToken[supportedTokens[i]]; + } + delete supportedTokens; for (uint i = 0; i < _tokens.length; i++) { require(!isSupportedToken[_tokens[i]], "already-added"); isSupportedToken[_tokens[i]] = true; diff --git a/contracts/receivers/aave-v2-receiver/variables.sol b/contracts/receivers/aave-v2-receiver/variables.sol index 043624b..7741a24 100644 --- a/contracts/receivers/aave-v2-receiver/variables.sol +++ b/contracts/receivers/aave-v2-receiver/variables.sol @@ -36,6 +36,6 @@ contract Variables { // TODO: Set by construtor? mapping(address => bool) public isSupportedToken; - address[] public supportedTokens; + address[] public supportedTokens; // don't add ethAddr. Only add wethAddr } \ No newline at end of file diff --git a/contracts/senders/aave-v2-migrator/main.sol b/contracts/senders/aave-v2-migrator/main.sol index 74bac2b..c463ee3 100644 --- a/contracts/senders/aave-v2-migrator/main.sol +++ b/contracts/senders/aave-v2-migrator/main.sol @@ -20,6 +20,10 @@ contract LiquidityResolver is Helpers, Events { function addTokenSupport(address[] memory _tokens) public { require(msg.sender == instaIndex.master(), "not-master"); + for (uint i = 0; i < supportedTokens.length; i++) { + delete isSupportedToken[supportedTokens[i]]; + } + delete supportedTokens; for (uint i = 0; i < _tokens.length; i++) { require(!isSupportedToken[_tokens[i]], "already-added"); isSupportedToken[_tokens[i]] = true; @@ -53,8 +57,7 @@ contract LiquidityResolver is Helpers, Events { AaveInterface aave = AaveInterface(aaveProvider.getLendingPool()); for (uint i = 0; i < supportedTokens.length; i++) { address _token = supportedTokens[i]; - if (_token == ethAddr) { - _token = wethAddr; + if (_token == wethAddr) { if (address(this).balance > 0) { TokenInterface(wethAddr).deposit{value: address(this).balance}(); } diff --git a/contracts/senders/aave-v2-migrator/variables.sol b/contracts/senders/aave-v2-migrator/variables.sol index 64bb15d..121c7e1 100644 --- a/contracts/senders/aave-v2-migrator/variables.sol +++ b/contracts/senders/aave-v2-migrator/variables.sol @@ -49,7 +49,7 @@ contract Variables { uint public fee = 998000000000000000; // 0.2% (99.8%) on collateral? TODO: Is this right? // TODO: Set by construtor? mapping(address => bool) public isSupportedToken; - address[] public supportedTokens; + address[] public supportedTokens; // don't add ethAddr. Only add wethAddr /** * @dev Aave Provider