Skip to content

Commit c4983f6

Browse files
committed
no more owner
1 parent ce82da0 commit c4983f6

File tree

5 files changed

+20
-35
lines changed

5 files changed

+20
-35
lines changed

src/MaglevBase.sol

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

4-
import {Ownable, Context} from "openzeppelin-contracts/access/Ownable.sol";
54
import {EVCUtil} from "evc/utils/EVCUtil.sol";
65
import {IEVC} from "evc/interfaces/IEthereumVaultConnector.sol";
76
import {IEVault, IERC20, IBorrowing, IERC4626, IRiskManager} from "evk/EVault/IEVault.sol";
87
import {IUniswapV2Callee} from "./interfaces/IUniswapV2Callee.sol";
98

10-
abstract contract MaglevBase is EVCUtil, Ownable {
9+
abstract contract MaglevBase is EVCUtil {
1110
address public immutable vault0;
1211
address public immutable vault1;
1312
address public immutable asset0;
@@ -21,7 +20,7 @@ abstract contract MaglevBase is EVCUtil, Ownable {
2120

2221
uint112 public reserve0;
2322
uint112 public reserve1;
24-
uint32 public locked; // 0=unlocked, 1=reentrancy guard, 2=paused
23+
uint32 public locked;
2524

2625
error Locked();
2726
error Overflow();
@@ -37,10 +36,6 @@ abstract contract MaglevBase is EVCUtil, Ownable {
3736
locked = 0;
3837
}
3938

40-
function _msgSender() internal view override(Context, EVCUtil) returns (address) {
41-
return EVCUtil._msgSender();
42-
}
43-
4439
struct BaseParams {
4540
address evc;
4641
address vault0;
@@ -51,40 +46,30 @@ abstract contract MaglevBase is EVCUtil, Ownable {
5146
uint256 fee;
5247
}
5348

54-
constructor(BaseParams memory params) EVCUtil(params.evc) Ownable(msg.sender) {
49+
constructor(BaseParams memory params) EVCUtil(params.evc) {
5550
require(params.fee < 1e18, BadFee());
5651

5752
vault0 = params.vault0;
5853
vault1 = params.vault1;
5954
asset0 = IEVault(vault0).asset();
6055
asset1 = IEVault(vault1).asset();
6156
myAccount = params.myAccount;
62-
reserve0 = initialReserve0 = adjustReserve(params.debtLimit0, vault0);
63-
reserve1 = initialReserve1 = adjustReserve(params.debtLimit1, vault1);
57+
reserve0 = initialReserve0 = offsetReserve(params.debtLimit0, vault0);
58+
reserve1 = initialReserve1 = offsetReserve(params.debtLimit1, vault1);
6459
feeMultiplier = 1e18 - params.fee;
6560
}
6661

6762
// Owner functions
6863

6964
/// @dev Call *after* installing as operator
70-
function configure() external onlyOwner {
65+
function configure() external {
7166
IERC20(asset0).approve(vault0, type(uint256).max);
7267
IERC20(asset1).approve(vault1, type(uint256).max);
7368

7469
IEVC(evc).enableCollateral(myAccount, vault0);
7570
IEVC(evc).enableCollateral(myAccount, vault1);
7671
}
7772

78-
function pause() external onlyOwner {
79-
require(locked == 0, Locked());
80-
locked = 2;
81-
}
82-
83-
function unpause() external onlyOwner {
84-
require(locked == 2, Locked());
85-
locked = 0;
86-
}
87-
8873
// Swapper interface
8974

9075
function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data)
@@ -148,18 +133,18 @@ abstract contract MaglevBase is EVCUtil, Ownable {
148133
return shares == 0 ? 0 : IEVault(vault).convertToAssets(shares);
149134
}
150135

151-
function adjustReserve(uint112 reserve, address vault) internal view returns (uint112) {
152-
uint256 adjusted;
136+
function offsetReserve(uint112 reserve, address vault) internal view returns (uint112) {
137+
uint256 offset;
153138
uint256 debt = myDebt(vault);
154139

155140
if (debt != 0) {
156-
adjusted = reserve > debt ? reserve - debt : 0;
141+
offset = reserve > debt ? reserve - debt : 0;
157142
} else {
158-
adjusted = reserve + myBalance(vault);
143+
offset = reserve + myBalance(vault);
159144
}
160145

161-
require(adjusted <= type(uint112).max, Overflow());
162-
return uint112(adjusted);
146+
require(offset <= type(uint112).max, Overflow());
147+
return uint112(offset);
163148
}
164149

165150
function withdrawAssets(address vault, uint256 amount, address to) internal {

test/ConstantProduct.t.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ contract ConstantProductTest is MaglevTestBase {
2020
}
2121

2222
function createMaglev(uint112 debtLimit0, uint112 debtLimit1, uint256 fee) internal {
23-
vm.prank(owner);
23+
vm.prank(creator);
2424
maglev = new Maglev(getMaglevBaseParams(debtLimit0, debtLimit1, fee));
2525

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

29-
vm.prank(owner);
29+
vm.prank(anyone);
3030
maglev.configure();
3131
}
3232

test/ConstantSum.t.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ contract ConstantSumTest is MaglevTestBase {
2222
function createMaglev(uint112 debtLimit0, uint112 debtLimit1, uint256 fee, uint256 priceX, uint256 priceY)
2323
internal
2424
{
25-
vm.prank(owner);
25+
vm.prank(creator);
2626
maglev = new Maglev(
2727
getMaglevBaseParams(debtLimit0, debtLimit1, fee), Maglev.ConstantSumParams({priceX: priceX, priceY: priceY})
2828
);
2929

3030
vm.prank(holder);
3131
evc.setAccountOperator(holder, address(maglev), true);
3232

33-
vm.prank(owner);
33+
vm.prank(anyone);
3434
maglev.configure();
3535
}
3636

test/EulerSwap.t.sol

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ contract EulerSwapTest is MaglevTestBase {
2828
uint256 cx,
2929
uint256 cy
3030
) internal {
31-
vm.prank(owner);
31+
vm.prank(creator);
3232
maglev = new Maglev(
3333
getMaglevBaseParams(debtLimit0, debtLimit1, fee), Maglev.EulerSwapParams({priceX: px, priceY: py, concentrationX: cx, concentrationY: cy})
3434
);
3535

3636
vm.prank(holder);
3737
evc.setAccountOperator(holder, address(maglev), true);
3838

39-
vm.prank(owner);
39+
vm.prank(anyone);
4040
maglev.configure();
4141
}
4242

@@ -76,7 +76,6 @@ contract EulerSwapTest is MaglevTestBase {
7676
int256 origNAV = getHolderNAV();
7777

7878
createMaglev(50e18, 50e18, 0, px, py, 0.4e18, 0.85e18);
79-
vm.prank(owner);
8079

8180
uint256 amountIn = 1e18;
8281
uint256 amountOut = maglev.quoteExactInput(address(assetTST), address(assetTST2), amountIn);

test/MaglevTestBase.t.sol

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ import {MaglevBase} from "../src/MaglevBase.sol";
1111

1212
contract MaglevTestBase is EVaultTestBase {
1313
address public depositor = makeAddr("depositor");
14-
address public owner = makeAddr("owner");
14+
address public creator = makeAddr("creator");
1515
address public holder = makeAddr("holder");
1616
address public recipient = makeAddr("recipient");
17+
address public anyone = makeAddr("anyone");
1718

1819
function setUp() public virtual override {
1920
super.setUp();

0 commit comments

Comments
 (0)