@@ -26,6 +26,7 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
26
26
error InsufficientReserves ();
27
27
error InsufficientCash ();
28
28
error DifferentEVC ();
29
+ error AssetsOutOfOrderOrEqual ();
29
30
30
31
modifier nonReentrant () {
31
32
require (locked == 0 , Locked ());
@@ -36,11 +37,11 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
36
37
37
38
struct BaseParams {
38
39
address evc;
39
- address vaultA ;
40
- address vaultB ;
40
+ address vault0 ;
41
+ address vault1 ;
41
42
address myAccount;
42
- uint112 debtLimitA ;
43
- uint112 debtLimitB ;
43
+ uint112 debtLimit0 ;
44
+ uint112 debtLimit1 ;
44
45
uint256 fee;
45
46
}
46
47
@@ -58,32 +59,21 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
58
59
constructor (BaseParams memory params ) EVCUtil (params.evc) {
59
60
require (params.fee < 1e18 , BadFee ());
60
61
61
- address vaultAEvc = IEVault (params.vaultA ).EVC ();
62
- require (vaultAEvc == IEVault (params.vaultB ).EVC (), DifferentEVC ());
63
- require (vaultAEvc == params.evc, DifferentEVC ());
62
+ address vault0Evc = IEVault (params.vault0 ).EVC ();
63
+ require (vault0Evc == IEVault (params.vault1 ).EVC (), DifferentEVC ());
64
+ require (vault0Evc == params.evc, DifferentEVC ());
64
65
65
- address assetA = IEVault (params.vaultA ).asset ();
66
- address assetB = IEVault (params.vaultB ).asset ();
67
- require (assetA != assetB, UnsupportedPair ());
66
+ address asset0Addr = IEVault (params.vault0 ).asset ();
67
+ address asset1Addr = IEVault (params.vault1 ).asset ();
68
+ require (asset0Addr < asset1Addr, AssetsOutOfOrderOrEqual ());
68
69
69
70
myAccount = params.myAccount;
70
- (vault0, asset0, reserve0, vault1, asset1, reserve1) = assetA < assetB
71
- ? (
72
- params.vaultA,
73
- assetA,
74
- offsetReserve (params.debtLimitA, params.vaultA),
75
- params.vaultB,
76
- assetB,
77
- offsetReserve (params.debtLimitB, params.vaultB)
78
- )
79
- : (
80
- params.vaultB,
81
- assetB,
82
- offsetReserve (params.debtLimitB, params.vaultB),
83
- params.vaultA,
84
- assetA,
85
- offsetReserve (params.debtLimitA, params.vaultA)
86
- );
71
+ vault0 = params.vault0;
72
+ vault1 = params.vault1;
73
+ asset0 = asset0Addr;
74
+ asset1 = asset1Addr;
75
+ reserve0 = offsetReserve (params.debtLimit0, params.vault0);
76
+ reserve1 = offsetReserve (params.debtLimit1, params.vault1);
87
77
feeMultiplier = 1e18 - params.fee;
88
78
}
89
79
0 commit comments