@@ -164,24 +164,21 @@ contract EulerSwap is IEulerSwap, EVCUtil {
164164 require (status != 2 , Locked ());
165165 status = 1 ;
166166
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+ }
174173
175- permit2 = IEVault (vault1).permit2Address ();
174+ function approveVault (address asset , address vault ) internal {
175+ address permit2 = IEVault (vault).permit2Address ();
176176 if (permit2 == address (0 )) {
177- IERC20 (asset1 ).forceApprove (vault1 , type (uint256 ).max);
177+ IERC20 (asset ).forceApprove (vault , type (uint256 ).max);
178178 } 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);
181181 }
182-
183- IEVC (evc).enableCollateral (eulerAccount, vault0);
184- IEVC (evc).enableCollateral (eulerAccount, vault1);
185182 }
186183
187184 /// @inheritdoc IEulerSwap
0 commit comments