types.gno
2.69 Kb · 112 lines
1package position
2
3import (
4 u256 "gno.land/p/gnoswap/uint256"
5 bptree "gno.land/p/nt/bptree/v0"
6)
7
8type IPosition interface {
9 IPositionManager
10 IPositionGetter
11}
12
13type IPositionManager interface {
14 Mint(
15 _ int,
16 rlm realm,
17 token0 string,
18 token1 string,
19 fee uint32,
20 tickLower int32,
21 tickUpper int32,
22 amount0Desired string,
23 amount1Desired string,
24 amount0Min string,
25 amount1Min string,
26 deadline int64,
27 mintTo address,
28 referrer string,
29 ) (uint64, string, string, string)
30
31 IncreaseLiquidity(
32 _ int,
33 rlm realm,
34 positionId uint64,
35 amount0DesiredStr string,
36 amount1DesiredStr string,
37 amount0MinStr string,
38 amount1MinStr string,
39 deadline int64,
40 ) (uint64, string, string, string, string)
41
42 DecreaseLiquidity(
43 _ int,
44 rlm realm,
45 positionId uint64,
46 liquidityStr string,
47 amount0MinStr string,
48 amount1MinStr string,
49 deadline int64,
50 ) (uint64, string, string, string, string, string, string)
51
52 Reposition(
53 _ int,
54 rlm realm,
55 positionId uint64,
56 tickLower int32,
57 tickUpper int32,
58 amount0DesiredStr string,
59 amount1DesiredStr string,
60 amount0MinStr string,
61 amount1MinStr string,
62 deadline int64,
63 ) (uint64, string, int32, int32, string, string)
64
65 CollectFee(
66 _ int,
67 rlm realm,
68 positionId uint64,
69 ) (uint64, string, string, string, string, string)
70
71 SetPositionOperator(
72 _ int,
73 rlm realm,
74 positionId uint64,
75 operator address,
76 )
77}
78
79type IPositionGetter interface {
80 GetPositionCount() int
81 GetPositionIDs(offset, count int) []uint64
82 GetPosition(positionId uint64) (Position, bool)
83 IsBurned(positionId uint64) bool
84 IsInRange(positionId uint64) bool
85 GetPositionOperator(positionId uint64) address
86 GetPositionPoolKey(positionId uint64) string
87 GetPositionTickLower(positionId uint64) int32
88 GetPositionTickUpper(positionId uint64) int32
89 GetPositionLiquidity(positionId uint64) string
90 GetPositionTokenBalances(positionId uint64) (int64, int64)
91 GetPositionFeeGrowthInside0LastX128(positionId uint64) string
92 GetPositionFeeGrowthInside1LastX128(positionId uint64) string
93 GetPositionTokensOwed0(positionId uint64) int64
94 GetPositionTokensOwed1(positionId uint64) int64
95 GetUnclaimedFee(positionId uint64) (*u256.Uint, *u256.Uint)
96 GetPositionOwner(positionId uint64) address
97}
98
99type IPositionStore interface {
100 HasPositionsStoreKey() bool
101 GetPositions() *bptree.BPTree
102 SetPositions(_ int, rlm realm, positions *bptree.BPTree) error
103
104 HasPositionNextIDStoreKey() bool
105 GetPositionNextID() uint64
106 SetPositionNextID(_ int, rlm realm, nextID uint64) error
107
108 HasPosition(positionId uint64) bool
109 GetPosition(positionId uint64) (Position, bool)
110 SetPosition(_ int, rlm realm, positionId uint64, position Position) error
111 RemovePosition(_ int, rlm realm, positionId uint64) error
112}