@@ -164,24 +164,21 @@ contract EulerSwap is IEulerSwap, EVCUtil {
164
164
require (status != 2 , Locked ());
165
165
status = 1 ;
166
166
167
- address permit2 = IEVault (vault0).permit2Address ();
168
- if (permit2 == address (0 )) {
169
- IERC20 (asset0).forceApprove (vault0, type (uint256 ).max);
170
- } else {
171
- IERC20 (asset0).forceApprove (permit2, type (uint256 ).max);
172
- IAllowanceTransfer (permit2).approve (asset0, vault0, type (uint160 ).max, type (uint48 ).max);
173
- }
167
+ approveVault (asset0, vault0);
168
+ approveVault (asset1, vault1);
169
+
170
+ IEVC (evc).enableCollateral (eulerAccount, vault0);
171
+ IEVC (evc).enableCollateral (eulerAccount, vault1);
172
+ }
174
173
175
- permit2 = IEVault (vault1).permit2Address ();
174
+ function approveVault (address asset , address vault ) internal {
175
+ address permit2 = IEVault (vault).permit2Address ();
176
176
if (permit2 == address (0 )) {
177
- IERC20 (asset1 ).forceApprove (vault1 , type (uint256 ).max);
177
+ IERC20 (asset ).forceApprove (vault , type (uint256 ).max);
178
178
} else {
179
- IERC20 (asset1 ).forceApprove (permit2, type (uint256 ).max);
180
- IAllowanceTransfer (permit2).approve (asset1, vault1 , type (uint160 ).max, type (uint48 ).max);
179
+ IERC20 (asset ).forceApprove (permit2, type (uint256 ).max);
180
+ IAllowanceTransfer (permit2).approve (asset, vault , type (uint160 ).max, type (uint48 ).max);
181
181
}
182
-
183
- IEVC (evc).enableCollateral (eulerAccount, vault0);
184
- IEVC (evc).enableCollateral (eulerAccount, vault1);
185
182
}
186
183
187
184
/// @inheritdoc IEulerSwap
0 commit comments