Search Apps Documentation Source Content File Folder Download Copy Actions Download

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}