Skip to content

Commit 3ea2b45

Browse files
committed
Merge branch 'master' into csec-fixes
2 parents d33b6d8 + cf2d9c0 commit 3ea2b45

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/EulerSwap.sol

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
// SPDX-License-Identifier: UNLICENSED
22
pragma solidity ^0.8.27;
33

4+
import {SafeERC20, IERC20} from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol";
45
import {IEVC} from "evc/interfaces/IEthereumVaultConnector.sol";
5-
import {IEVault, IERC20, IBorrowing, IERC4626, IRiskManager} from "evk/EVault/IEVault.sol";
6+
import {IEVault, IBorrowing, IERC4626, IRiskManager} from "evk/EVault/IEVault.sol";
67
import {Errors as EVKErrors} from "evk/EVault/shared/Errors.sol";
78
import {IUniswapV2Callee} from "./interfaces/IUniswapV2Callee.sol";
89
import {IEulerSwap} from "./interfaces/IEulerSwap.sol";
@@ -11,6 +12,8 @@ import {EVCUtil} from "evc/utils/EVCUtil.sol";
1112
import {Math} from "openzeppelin-contracts/utils/math/Math.sol";
1213

1314
contract EulerSwap is IEulerSwap, EVCUtil {
15+
using SafeERC20 for IERC20;
16+
1417
bytes32 public constant curve = keccak256("EulerSwap v1");
1518

1619
address public immutable vault0;
@@ -155,17 +158,17 @@ contract EulerSwap is IEulerSwap, EVCUtil {
155158

156159
address permit2 = IEVault(vault0).permit2Address();
157160
if (permit2 == address(0)) {
158-
IERC20(asset0).approve(vault0, type(uint256).max);
161+
IERC20(asset0).forceApprove(vault0, type(uint256).max);
159162
} else {
160-
IERC20(asset0).approve(permit2, type(uint256).max);
163+
IERC20(asset0).forceApprove(permit2, type(uint256).max);
161164
IAllowanceTransfer(permit2).approve(asset0, vault0, type(uint160).max, type(uint48).max);
162165
}
163166

164167
permit2 = IEVault(vault1).permit2Address();
165168
if (permit2 == address(0)) {
166-
IERC20(asset1).approve(vault1, type(uint256).max);
169+
IERC20(asset1).forceApprove(vault1, type(uint256).max);
167170
} else {
168-
IERC20(asset1).approve(permit2, type(uint256).max);
171+
IERC20(asset1).forceApprove(permit2, type(uint256).max);
169172
IAllowanceTransfer(permit2).approve(asset1, vault1, type(uint160).max, type(uint48).max);
170173
}
171174

0 commit comments

Comments
 (0)