Skip to content

Commit 32ddf9d

Browse files
fix: asset0 and asset1 order
1 parent c58f868 commit 32ddf9d

File tree

6 files changed

+46
-34
lines changed

6 files changed

+46
-34
lines changed

src/MaglevBase.sol

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
3838

3939
struct BaseParams {
4040
address evc;
41-
address vault0;
42-
address vault1;
41+
address vaultA;
42+
address vaultB;
4343
address myAccount;
44-
uint112 debtLimit0;
45-
uint112 debtLimit1;
44+
uint112 debtLimitA;
45+
uint112 debtLimitB;
4646
uint256 fee;
4747
}
4848

@@ -60,20 +60,32 @@ abstract contract MaglevBase is IMaglevBase, EVCUtil {
6060
constructor(BaseParams memory params) EVCUtil(params.evc) {
6161
require(params.fee < 1e18, BadFee());
6262

63-
address vault0Evc = IEVault(params.vault0).EVC();
64-
require(vault0Evc == IEVault(params.vault1).EVC(), DifferentEVC());
65-
require(vault0Evc == params.evc, DifferentEVC());
63+
address vaultAEvc = IEVault(params.vaultA).EVC();
64+
require(vaultAEvc == IEVault(params.vaultB).EVC(), DifferentEVC());
65+
require(vaultAEvc == params.evc, DifferentEVC());
6666

67-
vault0 = params.vault0;
68-
vault1 = params.vault1;
69-
asset0 = IEVault(vault0).asset();
70-
asset1 = IEVault(vault1).asset();
71-
72-
require(asset0 != asset1, UnsupportedPair());
67+
address assetA = IEVault(params.vaultA).asset();
68+
address assetB = IEVault(params.vaultB).asset();
69+
require(assetA != assetB, UnsupportedPair());
7370

7471
myAccount = params.myAccount;
75-
reserve0 = offsetReserve(params.debtLimit0, vault0);
76-
reserve1 = offsetReserve(params.debtLimit1, vault1);
72+
(vault0, asset0, reserve0, vault1, asset1, reserve1) = assetA < assetB
73+
? (
74+
params.vaultA,
75+
assetA,
76+
offsetReserve(params.debtLimitA, params.vaultA),
77+
params.vaultB,
78+
assetB,
79+
offsetReserve(params.debtLimitB, params.vaultB)
80+
)
81+
: (
82+
params.vaultB,
83+
assetB,
84+
offsetReserve(params.debtLimitB, params.vaultB),
85+
params.vaultA,
86+
assetA,
87+
offsetReserve(params.debtLimitA, params.vaultA)
88+
);
7789
feeMultiplier = 1e18 - params.fee;
7890
}
7991

test/ConstantProduct.t.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ contract ConstantProductTest is MaglevTestBase {
1919
createMaglev(50e18, 50e18, 0);
2020
}
2121

22-
function createMaglev(uint112 debtLimit0, uint112 debtLimit1, uint256 fee) internal {
22+
function createMaglev(uint112 debtLimitA, uint112 debtLimitB, uint256 fee) internal {
2323
vm.prank(creator);
24-
maglev = new Maglev(getMaglevBaseParams(debtLimit0, debtLimit1, fee));
24+
maglev = new Maglev(getMaglevBaseParams(debtLimitA, debtLimitB, fee));
2525

2626
vm.prank(holder);
2727
evc.setAccountOperator(holder, address(maglev), true);

test/ConstantSum.t.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ contract ConstantSumTest is MaglevTestBase {
1919
createMaglev(50e18, 50e18, 0, 1, 1);
2020
}
2121

22-
function createMaglev(uint112 debtLimit0, uint112 debtLimit1, uint256 fee, uint256 priceX, uint256 priceY)
22+
function createMaglev(uint112 debtLimitA, uint112 debtLimitB, uint256 fee, uint256 priceX, uint256 priceY)
2323
internal
2424
{
2525
vm.prank(creator);
2626
maglev = new Maglev(
27-
getMaglevBaseParams(debtLimit0, debtLimit1, fee), Maglev.ConstantSumParams({priceX: priceX, priceY: priceY})
27+
getMaglevBaseParams(debtLimitA, debtLimitB, fee), Maglev.ConstantSumParams({priceX: priceX, priceY: priceY})
2828
);
2929

3030
vm.prank(holder);

test/EulerSwap.t.sol

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ contract EulerSwapTest is MaglevTestBase {
2020
}
2121

2222
function createMaglev(
23-
uint112 debtLimit0,
24-
uint112 debtLimit1,
23+
uint112 debtLimitA,
24+
uint112 debtLimitB,
2525
uint256 fee,
2626
uint256 px,
2727
uint256 py,
@@ -30,7 +30,7 @@ contract EulerSwapTest is MaglevTestBase {
3030
) internal {
3131
vm.prank(creator);
3232
maglev = new Maglev(
33-
getMaglevBaseParams(debtLimit0, debtLimit1, fee),
33+
getMaglevBaseParams(debtLimitA, debtLimitB, fee),
3434
Maglev.EulerSwapParams({priceX: px, priceY: py, concentrationX: cx, concentrationY: cy})
3535
);
3636

@@ -47,11 +47,11 @@ contract EulerSwapTest is MaglevTestBase {
4747
new Maglev(
4848
MaglevBase.BaseParams({
4949
evc: address(makeAddr("RANDOM_EVC")),
50-
vault0: address(eTST),
51-
vault1: address(eTST2),
50+
vaultA: address(eTST),
51+
vaultB: address(eTST2),
5252
myAccount: holder,
53-
debtLimit0: 50e18,
54-
debtLimit1: 50e18,
53+
debtLimitA: 50e18,
54+
debtLimitB: 50e18,
5555
fee: 0
5656
}),
5757
Maglev.EulerSwapParams({priceX: 1e18, priceY: 1e18, concentrationX: 4e18, concentrationY: 0.85e18})

test/MaglevTestBase.t.sol

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@ contract MaglevTestBase is EVaultTestBase {
4343
_mintAndDeposit(holder, eTST2, 10e18);
4444
}
4545

46-
function getMaglevBaseParams(uint112 debtLimit0, uint112 debtLimit1, uint256 fee)
46+
function getMaglevBaseParams(uint112 debtLimitA, uint112 debtLimitB, uint256 fee)
4747
internal
4848
view
4949
returns (MaglevBase.BaseParams memory)
5050
{
5151
return MaglevBase.BaseParams({
5252
evc: address(evc),
53-
vault0: address(eTST),
54-
vault1: address(eTST2),
53+
vaultA: address(eTST),
54+
vaultB: address(eTST2),
5555
myAccount: holder,
56-
debtLimit0: debtLimit0,
57-
debtLimit1: debtLimit1,
56+
debtLimitA: debtLimitA,
57+
debtLimitB: debtLimitB,
5858
fee: fee
5959
});
6060
}

test/UniswapV2Call.t.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ contract UniswapV2CallTest is MaglevTestBase {
1919
}
2020

2121
function createMaglev(
22-
uint112 debtLimit0,
23-
uint112 debtLimit1,
22+
uint112 debtLimitA,
23+
uint112 debtLimitB,
2424
uint256 fee,
2525
uint256 px,
2626
uint256 py,
@@ -29,7 +29,7 @@ contract UniswapV2CallTest is MaglevTestBase {
2929
) internal {
3030
vm.prank(creator);
3131
maglev = new Maglev(
32-
getMaglevBaseParams(debtLimit0, debtLimit1, fee),
32+
getMaglevBaseParams(debtLimitA, debtLimitB, fee),
3333
Maglev.EulerSwapParams({priceX: px, priceY: py, concentrationX: cx, concentrationY: cy})
3434
);
3535

0 commit comments

Comments
 (0)