Skip to content

Commit 94e072d

Browse files
add interface
1 parent 40391c5 commit 94e072d

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/MaglevEulerSwapFactory.sol

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

4+
import {IMaglevEulerSwapFactory} from "./interfaces/IMaglevEulerSwapFactory.sol";
45
import {Ownable} from "openzeppelin-contracts/access/Ownable.sol";
56
import {MaglevEulerSwap as Maglev, MaglevBase} from "./MaglevEulerSwap.sol";
67

78
/// @title MaglevEulerSwapRegistry contract
89
/// @custom:security-contact [email protected]
910
/// @author Euler Labs (https://www.eulerlabs.com/)
10-
contract MaglevEulerSwapFactory is Ownable {
11+
contract MaglevEulerSwapFactory is IMaglevEulerSwapFactory, Ownable {
1112
event PoolDeployed(address indexed asset0, address indexed asset1, uint256 indexed feeMultiplier, address pool);
1213

1314
error InvalidQuery();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// SPDX-License-Identifier: UNLICENSED
2+
pragma solidity >=0.8.0;
3+
4+
interface IMaglevEulerSwapFactory {
5+
function deployPool(
6+
address vault0,
7+
address vault1,
8+
address holder,
9+
uint112 debtLimit0,
10+
uint112 debtLimit1,
11+
uint256 fee,
12+
uint256 priceX,
13+
uint256 priceY,
14+
uint256 concentrationX,
15+
uint256 concentrationY
16+
) external returns (address);
17+
18+
function evc() external view returns (address);
19+
function allPools(uint256 index) external view returns (address);
20+
function getPool(address assetA, address assetB, uint256 fee) external view returns (address);
21+
function allPoolsLength() external view returns (uint256);
22+
function getAllPoolsListSlice(uint256 start, uint256 end) external view returns (address[] memory);
23+
}

0 commit comments

Comments
 (0)