package position import ( u256 "gno.land/p/gnoswap/uint256" bptree "gno.land/p/nt/bptree/v0" ) type IPosition interface { IPositionManager IPositionGetter } type IPositionManager interface { Mint( _ int, rlm realm, token0 string, token1 string, fee uint32, tickLower int32, tickUpper int32, amount0Desired string, amount1Desired string, amount0Min string, amount1Min string, deadline int64, mintTo address, referrer string, ) (uint64, string, string, string) IncreaseLiquidity( _ int, rlm realm, positionId uint64, amount0DesiredStr string, amount1DesiredStr string, amount0MinStr string, amount1MinStr string, deadline int64, ) (uint64, string, string, string, string) DecreaseLiquidity( _ int, rlm realm, positionId uint64, liquidityStr string, amount0MinStr string, amount1MinStr string, deadline int64, ) (uint64, string, string, string, string, string, string) Reposition( _ int, rlm realm, positionId uint64, tickLower int32, tickUpper int32, amount0DesiredStr string, amount1DesiredStr string, amount0MinStr string, amount1MinStr string, deadline int64, ) (uint64, string, int32, int32, string, string) CollectFee( _ int, rlm realm, positionId uint64, ) (uint64, string, string, string, string, string) SetPositionOperator( _ int, rlm realm, positionId uint64, operator address, ) } type IPositionGetter interface { GetPositionCount() int GetPositionIDs(offset, count int) []uint64 GetPosition(positionId uint64) (Position, bool) IsBurned(positionId uint64) bool IsInRange(positionId uint64) bool GetPositionOperator(positionId uint64) address GetPositionPoolKey(positionId uint64) string GetPositionTickLower(positionId uint64) int32 GetPositionTickUpper(positionId uint64) int32 GetPositionLiquidity(positionId uint64) string GetPositionTokenBalances(positionId uint64) (int64, int64) GetPositionFeeGrowthInside0LastX128(positionId uint64) string GetPositionFeeGrowthInside1LastX128(positionId uint64) string GetPositionTokensOwed0(positionId uint64) int64 GetPositionTokensOwed1(positionId uint64) int64 GetUnclaimedFee(positionId uint64) (*u256.Uint, *u256.Uint) GetPositionOwner(positionId uint64) address } type IPositionStore interface { HasPositionsStoreKey() bool GetPositions() *bptree.BPTree SetPositions(_ int, rlm realm, positions *bptree.BPTree) error HasPositionNextIDStoreKey() bool GetPositionNextID() uint64 SetPositionNextID(_ int, rlm realm, nextID uint64) error HasPosition(positionId uint64) bool GetPosition(positionId uint64) (Position, bool) SetPosition(_ int, rlm realm, positionId uint64, position Position) error RemovePosition(_ int, rlm realm, positionId uint64) error }