1
+ // SPDX-License-Identifier: GPL-3.0
2
+
3
+ /*
4
+ Copyright 2020 Set Labs Inc.
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+ SPDX-License-Identifier: Apache License, Version 2.0
15
+ */
16
+
17
+ pragma solidity 0.6.10 ;
18
+
19
+ import {IERC20 } from "@openzeppelin/contracts/token/ERC20/SafeERC20.sol " ;
20
+
21
+ import {
22
+ IUniswapV3Pool
23
+ } from "@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol " ;
24
+
25
+ interface IGUniPool {
26
+ function mint (uint256 mintAmount , address receiver )
27
+ external
28
+ returns (
29
+ uint256 amount0 ,
30
+ uint256 amount1 ,
31
+ uint128 liquidityMinted
32
+ );
33
+
34
+ function burn (uint256 burnAmount , address receiver )
35
+ external
36
+ returns (
37
+ uint256 amount0 ,
38
+ uint256 amount1 ,
39
+ uint128 liquidityBurned
40
+ );
41
+
42
+ function getMintAmounts (uint256 amount0Max , uint256 amount1Max )
43
+ external
44
+ view
45
+ returns (
46
+ uint256 amount0 ,
47
+ uint256 amount1 ,
48
+ uint256 mintAmount
49
+ );
50
+
51
+ function getUnderlyingBalances ()
52
+ external
53
+ view
54
+ returns (uint256 amount0 , uint256 amount1 );
55
+
56
+ function getPositionID () external view returns (bytes32 positionID );
57
+
58
+ function token0 () external view returns (IERC20 );
59
+
60
+ function token1 () external view returns (IERC20 );
61
+
62
+ function upperTick () external view returns (int24 );
63
+
64
+ function lowerTick () external view returns (int24 );
65
+
66
+ function pool () external view returns (IUniswapV3Pool);
67
+
68
+ function totalSupply () external view returns (uint256 );
69
+
70
+ function balanceOf (address account ) external view returns (uint256 );
71
+ }
0 commit comments