Search Apps Documentation Source Content File Folder Download Copy Actions Download

types.gno

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