-
Notifications
You must be signed in to change notification settings - Fork 0
/
IZkAmmPair.sol
60 lines (53 loc) · 2.13 KB
/
IZkAmmPair.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;
interface IZkAmmPair {
event AddInitLiquidity(address payer, address recipient, uint amount0, uint amount1);
event AddLiquidity(address payer, address recipient, uint amount0, uint reserve0, uint reserve1, uint totalSupply);
event LiquidityAdded(address payer, address recipient, uint amount0, uint amount1, uint liquidity);
event RemoveLiquidity(address sender, address recipient, uint liquidity, uint reserve0, uint reserve1, uint totalSupply);
event LiquidityRemoved(address sender, address recipient, uint liquidity, uint amount0, uint amount1);
event Swap(address payer, address recipient, bool zeroForOne, uint amountIn, uint reserve0, uint reserve1);
event Swapped(address payer, address recipient, bool zeroForOne, uint amountIn, uint amountOut);
function token0() external view returns (address);
function token1() external view returns (address);
function zkGraph() external view returns (address);
function reserve0() external view returns (uint);
function reserve1() external view returns (uint);
function setGraph(address graph) external;
function addInitLiquidity(
address recipient,
uint amount0,
uint amount1
) external;
function addInitLiquidityCallback(
address payer,
address recipient,
uint amount0,
uint amount1,
uint liquidity
) external;
function addLiquidity(address recipient, uint amount0) external;
function addLiquidityCallback(
address payer,
address recipient,
uint amount0,
uint amount1,
uint liquidity
) external;
function removeLiquidity(address recipient, uint liquidity) external;
function removeLiquidityCallback(
address sender,
address recipient,
uint liquidity,
uint amount0,
uint amount1
) external;
function swap(address recipient, bool zeroForOne, uint amountIn) external;
function swapCallback(
address payer,
address recipient,
bool zeroForOne,
uint amountIn,
uint amountOut
) external;
}