Kind Realm (renderable)
Name pool
Namespace gnoswap
Exported functions 90
Module gno.land/r/gnoswap/pool
gno 0.9 getter.gno gno
⧉
1 package pool 2 3 import ( 4 rotree "gno.land/p/nt/bptree/rotree/v0" 5 ) 6 7 // GetPools returns a read-only view of every pool, keyed by pool path. 8 Burn (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, tickLower int32, tickUpper int32, liquidityAmount string, positionCaller string) (string, string)
Collect (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, recipient string, tickLower int32, tickUpper int32, amount0Requested string, amount1Requested string) (string, string)
CollectProtocol (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, recipient string, amount0Requested string, amount1Requested string) (string, string)
CollectSwapFee (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, recipient string, tickLower int32, tickUpper int32, amount0Requested string, amount1Requested string) (amount0 string, amount1 string, fee0 string, fee1 string)
CreatePool (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, sqrtPriceX96 string)
DecodeTickKey (key string) int32
DefaultObservation () struct{blockTimestamp int64; tickCumulative int64; secondsPerLiquidityCumulativeX128 string; initialized bool}
DrySwap (token0Path string, token1Path string, fee uint32, zeroForOne bool, amountSpecified string, sqrtPriceLimitX96 string) (string, string, interface {Error func() string})
EncodePositionKey (tickLower int32, tickUpper int32) string
EncodeTickKey (tick int32) string
ExistsPoolPath (poolPath string) bool
GetBalances (poolPath string) (int64, int64, interface {Error func() string})
GetBalanceToken0 (poolPath string) (int64, interface {Error func() string})
GetBalanceToken1 (poolPath string) (int64, interface {Error func() string})
GetFee (poolPath string) (uint32, interface {Error func() string})
GetFeeAmountTickSpacing (fee uint32) (spacing int32, err interface {Error func() string})
GetFeeAmountTickSpacings () map[uint32]int32
GetFeeGrowthGlobal0X128 (poolPath string) (string, interface {Error func() string})
GetFeeGrowthGlobal1X128 (poolPath string) (string, interface {Error func() string})
GetFeeGrowthGlobalX128 (poolPath string) (string, string, interface {Error func() string})
GetImplementationPackagePath () string
GetInitializedTicksInRange (poolPath string, tickLower int32, tickUpper int32) ([]int32, interface {Error func() string})
GetLiquidity (poolPath string) (string, interface {Error func() string})
GetObservationAt (poolPath string, index uint16) (struct{blockTimestamp int64; tickCumulative int64; secondsPerLiquidityCumulativeX128 string; initialized bool}, interface {Error func() string})
GetPendingProtocolFees () map[string]int64
GetPoolCreationFee () int64
GetPoolPath (token0Path string, token1Path string, fee uint32) string
GetPoolPositions (poolPath string) *gno.land/p/nt/bptree/rotree/v0.ReadOnlyTree
GetPools () *gno.land/p/nt/bptree/rotree/v0.ReadOnlyTree
GetPositionFeeGrowthInside0LastX128 (poolPath string, key string) (string, interface {Error func() string})
GetPositionFeeGrowthInside1LastX128 (poolPath string, key string) (string, interface {Error func() string})
GetPositionFeeGrowthInsideLastX128 (poolPath string, key string) (string, string, interface {Error func() string})
GetPositionLiquidity (poolPath string, key string) (string, interface {Error func() string})
GetPositionTokensOwed (poolPath string, key string) (int64, int64, interface {Error func() string})
GetPositionTokensOwed0 (poolPath string, key string) (int64, interface {Error func() string})
GetPositionTokensOwed1 (poolPath string, key string) (int64, interface {Error func() string})
GetProtocolFeesToken0 (poolPath string) (int64, interface {Error func() string})
GetProtocolFeesToken1 (poolPath string) (int64, interface {Error func() string})
GetProtocolFeesTokens (poolPath string) (int64, int64, interface {Error func() string})
GetSlot0 (poolPath string) struct{sqrtPriceX96 *gno.land/p/gnoswap/uint256/v1.Uint; tick int32; feeProtocol uint8; unlocked bool; observationIndex uint16; observationCardinality uint16; observationCardinalityNext uint16}
GetSlot0FeeProtocol (poolPath string) (uint8, interface {Error func() string})
GetSlot0SqrtPriceX96 (poolPath string) (string, interface {Error func() string})
GetSlot0Tick (poolPath string) (int32, interface {Error func() string})
GetSlot0Unlocked (poolPath string) (bool, interface {Error func() string})
GetTickBitmaps (poolPath string, wordPos int16) (string, interface {Error func() string})
GetTickCumulativeOutside (poolPath string, tick int32) (int64, interface {Error func() string})
GetTickFeeGrowthOutside0X128 (poolPath string, tick int32) (string, interface {Error func() string})
GetTickFeeGrowthOutside1X128 (poolPath string, tick int32) (string, interface {Error func() string})
GetTickFeeGrowthOutsideX128 (poolPath string, tick int32) (string, string, interface {Error func() string})
GetTickInfo (poolPath string, tick int32) (struct{liquidityGross string; liquidityNet string; feeGrowthOutside0X128 string; feeGrowthOutside1X128 string; tickCumulativeOutside int64; secondsPerLiquidityOutsideX128 string; secondsOutside uint32; initialized bool}, interface {Error func() string})
GetTickInitialized (poolPath string, tick int32) (bool, interface {Error func() string})
GetTickLiquidityGross (poolPath string, tick int32) (string, interface {Error func() string})
GetTickLiquidityNet (poolPath string, tick int32) (string, interface {Error func() string})
GetTickSecondsOutside (poolPath string, tick int32) (uint32, interface {Error func() string})
GetTickSecondsPerLiquidityOutsideX128 (poolPath string, tick int32) (string, interface {Error func() string})
GetTickSpacing (poolPath string) (int32, interface {Error func() string})
GetToken0Path (poolPath string) (string, interface {Error func() string})
GetToken1Path (poolPath string) (string, interface {Error func() string})
GetWithdrawalFee () uint64
IncreaseObservationCardinalityNext (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, cardinalityNext uint16)
MakeObservation (blockTimestamp int64, tickCumulative int64, secondsPerLiquidityCumulativeX128 string, initialized bool) struct{blockTimestamp int64; tickCumulative int64; secondsPerLiquidityCumulativeX128 string; initialized bool}
Mint (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, tickLower int32, tickUpper int32, liquidityAmount string, positionCaller string) (string, string)
NewCallbackMarker () *gno.land/r/gnoswap/pool.CallbackMarker
NewDefaultFeeAmountTickSpacing () map[uint32]int32
NewDefaultPositionInfo () struct{liquidity string; feeGrowthInside0LastX128 string; feeGrowthInside1LastX128 string; tokensOwed0 int64; tokensOwed1 int64}
NewObservationsTree () *gno.land/p/nt/bptree/v0.BPTree
NewObservationTree () *gno.land/r/gnoswap/pool.ObservationTree
NewPool (token0Path string, token1Path string, fee uint32, sqrtPriceX96 *gno.land/p/gnoswap/uint256/v1.Uint, tickSpacing int32, tick int32, slot0FeeProtocol uint8) *gno.land/r/gnoswap/pool.Pool
NewPoolObservationsTree (currentTime int64) *gno.land/r/gnoswap/pool.ObservationTree
NewPoolPositionsTree () *gno.land/p/nt/bptree/v0.BPTree
NewPoolStore (kvStore interface {AddAuthorizedCaller func(int, .uverse.realm, .uverse.address, gno.land/p/gnoswap/store/v1.Permission) .uverse.error; Delete func(int, .uverse.realm, string) .uverse.error; Get func(string) (interface {}, .uverse.error); GetAddress func(string) (.uverse.address, .uverse.error); GetAllKeys func() ([]string, .uverse.error); GetAuthorizedCallers func() (map[.uverse.address]gno.land/p/gnoswap/store/v1.Permission, .uverse.error); GetBPTree func(string) (*gno.land/p/nt/bptree/v0.BPTree, .uverse.error); GetBool func(string) (bool, .uverse.error); GetDomainAddress func() .uverse.address; GetInt64 func(string) (int64, .uverse.error); GetString func(string) (string, .uverse.error); GetUint64 func(string) (uint64, .uverse.error); Has func(string) bool; IsWriteAuthorized func(.uverse.address) bool; RemoveAuthorizedCaller func(int, .uverse.realm, .uverse.address) .uverse.error; Set func(int, .uverse.realm, string, interface {}) .uverse.error; UpdateAuthorizedCaller func(int, .uverse.realm, .uverse.address, gno.land/p/gnoswap/store/v1.Permission) .uverse.error}) interface {GetFeeAmountTickSpacing func() map[uint32]int32; GetObservations func() *gno.land/p/nt/bptree/v0.BPTree; GetPendingProtocolFee func(string) int64; GetPendingProtocolFees func() map[string]int64; GetPoolCreationFee func() int64; GetPools func() *gno.land/p/nt/bptree/v0.BPTree; GetSlot0FeeProtocol func() uint8; GetSwapEndHook func() func(.uverse.realm, string) .uverse.error; GetSwapStartHook func() func(.uverse.realm, string, int64); GetTickCrossHook func() func(.uverse.realm, string, int32, bool, int64); GetUnlocked func() bool; GetWithdrawalFeeBPS func() uint64; HasFeeAmountTickSpacing func() bool; HasObservations func() bool; HasPendingProtocolFees func() bool; HasPoolCreationFee func() bool; HasPools func() bool; HasSlot0FeeProtocol func() bool; HasSwapEndHook func() bool; HasSwapStartHook func() bool; HasTickCrossHook func() bool; HasUnlocked func() bool; HasWithdrawalFeeBPS func() bool; RemovePendingProtocolFee func(int, .uverse.realm, string) .uverse.error; SetFeeAmountTickSpacing func(int, .uverse.realm, map[uint32]int32) .uverse.error; SetObservations func(int, .uverse.realm, *gno.land/p/nt/bptree/v0.BPTree) .uverse.error; SetPendingProtocolFee func(int, .uverse.realm, string, int64) .uverse.error; SetPendingProtocolFees func(int, .uverse.realm, map[string]int64) .uverse.error; SetPoolCreationFee func(int, .uverse.realm, int64) .uverse.error; SetPools func(int, .uverse.realm, *gno.land/p/nt/bptree/v0.BPTree) .uverse.error; SetSlot0FeeProtocol func(int, .uverse.realm, uint8) .uverse.error; SetSwapEndHook func(int, .uverse.realm, func(.uverse.realm, string) .uverse.error) .uverse.error; SetSwapStartHook func(int, .uverse.realm, func(.uverse.realm, string, int64)) .uverse.error; SetTickCrossHook func(int, .uverse.realm, func(.uverse.realm, string, int32, bool, int64)) .uverse.error; SetUnlocked func(int, .uverse.realm, bool) .uverse.error; SetWithdrawalFeeBPS func(int, .uverse.realm, uint64) .uverse.error}
NewPoolsTree () *gno.land/p/nt/bptree/v0.BPTree
NewPoolTicksTree () *gno.land/p/nt/bptree/v0.BPTree
NewPositionInfo () struct{liquidity string; feeGrowthInside0LastX128 string; feeGrowthInside1LastX128 string; tokensOwed0 int64; tokensOwed1 int64}
NewSlot0 (sqrtPriceX96 *gno.land/p/gnoswap/uint256/v1.Uint, tick int32, feeProtocol uint8, unlocked bool) struct{sqrtPriceX96 *gno.land/p/gnoswap/uint256/v1.Uint; tick int32; feeProtocol uint8; unlocked bool; observationIndex uint16; observationCardinality uint16; observationCardinalityNext uint16}
NewTickInfo () struct{liquidityGross string; liquidityNet string; feeGrowthOutside0X128 string; feeGrowthOutside1X128 string; tickCumulativeOutside int64; secondsPerLiquidityOutsideX128 string; secondsOutside uint32; initialized bool}
NewTokenPair () struct{token0 int64; token1 int64}
Observe (poolPath string, secondsAgos []uint32) ([]int64, []string, interface {Error func() string})
OracleConsult (poolPath string, secondsAgo uint32) (int32, string, interface {Error func() string})
RegisterInitializer (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, initializer func(int, .uverse.realm, gno.land/r/gnoswap/pool.IPoolStore) gno.land/r/gnoswap/pool.IPool)
Render (path string) string
SetFeeProtocol (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, feeProtocol0 uint8, feeProtocol1 uint8)
SetPoolCreationFee (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fee int64)
SetSwapEndHook (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, hook func(.uverse.realm, string) .uverse.error)
SetSwapStartHook (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, hook func(.uverse.realm, string, int64))
SetTickCrossHook (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, hook func(.uverse.realm, string, int32, bool, int64))
SetWithdrawalFee (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, fee uint64)
SnapshotCumulativesInside (poolPath string, tickLower int32, tickUpper int32) (int64, string, uint32, interface {Error func() string})
Swap (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, token0Path string, token1Path string, fee uint32, recipient string, zeroForOne bool, amountSpecified string, sqrtPriceLimitX96 string, swapCallback func(.uverse.realm, int64, int64, *gno.land/r/gnoswap/pool.CallbackMarker) .uverse.error) (string, string)
UpgradeImpl (cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, packagePath string)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
// Reading an entry yields a clone, so the view cannot mutate realm state.
9 // Returns:
10 // - *rotree.ReadOnlyTree: Read-only tree keyed by canonical pool path; each
11 // entry is cloned before it is exposed.
12 func GetPools() *rotree.ReadOnlyTree {
13 return getImplementation().GetPools()
14 }
15
16 // ExistsPoolPath checks if a pool exists at the given path.
17 // Parameters:
18 // - poolPath: Canonical pool path identifying the pool to check.
19 //
20 // Returns:
21 // - bool: True when a pool is registered at poolPath; false otherwise.
22 func ExistsPoolPath(poolPath string ) bool {
23 return getImplementation().ExistsPoolPath(poolPath)
24 }
25
26 // GetBalances returns the balances of the pool.
27 // Parameters:
28 // - poolPath: Canonical pool path identifying the pool whose balances are read.
29 //
30 // Returns:
31 // - int64: Current token0 balance held by the pool, in token base units.
32 // - int64: Current token1 balance held by the pool, in token base units.
33 // - error: Non-nil when poolPath does not identify an existing pool.
34 func GetBalances(poolPath string ) ( int64 , int64 , error ) {
35 bal0, err := getImplementation().GetBalanceToken0(poolPath)
36 if err != nil {
37 return 0 , 0 , err
38 }
39 bal1, err := getImplementation().GetBalanceToken1(poolPath)
40 if err != nil {
41 return 0 , 0 , err
42 }
43 return bal0, bal1, nil
44 }
45
46 // GetBalanceToken0 returns the balance of token0 in the pool.
47 // Parameters:
48 // - poolPath: Canonical pool path identifying the pool to query.
49 //
50 // Returns:
51 // - int64: Current token0 balance held by the pool, in token base units.
52 // - error: Non-nil when poolPath does not identify an existing pool.
53 func GetBalanceToken0(poolPath string ) ( int64 , error ) {
54 return getImplementation().GetBalanceToken0(poolPath)
55 }
56
57 // GetBalanceToken1 returns the balance of token1 in the pool.
58 // Parameters:
59 // - poolPath: Canonical pool path identifying the pool to query.
60 //
61 // Returns:
62 // - int64: Current token1 balance held by the pool, in token base units.
63 // - error: Non-nil when poolPath does not identify an existing pool.
64 func GetBalanceToken1(poolPath string ) ( int64 , error ) {
65 return getImplementation().GetBalanceToken1(poolPath)
66 }
67
68 // GetFee returns the fee tier of the pool.
69 // Parameters:
70 // - poolPath: Canonical pool path identifying the pool whose fee tier is read.
71 //
72 // Returns:
73 // - uint32: Configured fee tier for the pool.
74 // - error: Non-nil when poolPath does not identify an existing pool.
75 func GetFee(poolPath string ) ( uint32 , error ) {
76 return getImplementation().GetFee(poolPath)
77 }
78
79 // GetFeeAmountTickSpacings returns all fee tier to tick spacing mappings.
80 // Returns:
81 // - map[uint32]int32: Copy of the configured fee-tier-to-tick-spacing mapping.
82 func GetFeeAmountTickSpacings() map [ uint32 ] int32 {
83 return cloneFeeAmountTickSpacings(getImplementation().GetFeeAmountTickSpacings())
84 }
85
86 // GetFeeAmountTickSpacing returns the tick spacing for a given fee tier.
87 // Parameters:
88 // - fee: Fee tier whose supported tick spacing is requested.
89 //
90 // Returns:
91 // - spacing: Tick spacing configured for fee.
92 // - err: Non-nil when fee is not one of the supported fee tiers.
93 func GetFeeAmountTickSpacing(fee uint32 ) (spacing int32 , err error ) {
94 return getImplementation().GetFeeAmountTickSpacing(fee)
95 }
96
97 // GetFeeGrowthGlobal0X128 returns the global fee growth for token0.
98 // Parameters:
99 // - poolPath: Canonical pool path identifying the pool to query.
100 //
101 // Returns:
102 // - string: Token0 global fee growth, serialized as a base-10 X128 accumulator.
103 // - error: Non-nil when poolPath does not identify an existing pool.
104 func GetFeeGrowthGlobal0X128(poolPath string ) ( string , error ) {
105 feeGrowth, err := getImplementation().GetFeeGrowthGlobal0X128(poolPath)
106 if err != nil {
107 return "" , err
108 }
109 return feeGrowth.ToString(), nil
110 }
111
112 // GetFeeGrowthGlobal1X128 returns the global fee growth for token1.
113 // Parameters:
114 // - poolPath: Canonical pool path identifying the pool to query.
115 //
116 // Returns:
117 // - string: Token1 global fee growth, serialized as a base-10 X128 accumulator.
118 // - error: Non-nil when poolPath does not identify an existing pool.
119 func GetFeeGrowthGlobal1X128(poolPath string ) ( string , error ) {
120 feeGrowth, err := getImplementation().GetFeeGrowthGlobal1X128(poolPath)
121 if err != nil {
122 return "" , err
123 }
124 return feeGrowth.ToString(), nil
125 }
126
127 // GetFeeGrowthGlobalX128 returns the global fee growth for both tokens.
128 // Parameters:
129 // - poolPath: Canonical pool path identifying the pool to query.
130 //
131 // Returns:
132 // - string: Token0 global fee growth, serialized as a base-10 X128 accumulator.
133 // - string: Token1 global fee growth, serialized as a base-10 X128 accumulator.
134 // - error: Non-nil when poolPath does not identify an existing pool.
135 func GetFeeGrowthGlobalX128(poolPath string ) ( string , string , error ) {
136 fg0, fg1, err := getImplementation().GetFeeGrowthGlobalX128(poolPath)
137 if err != nil {
138 return "" , "" , err
139 }
140 return fg0.ToString(), fg1.ToString(), nil
141 }
142
143 // GetLiquidity returns the current liquidity in the pool.
144 // Parameters:
145 // - poolPath: Canonical pool path identifying the pool whose liquidity is read.
146 //
147 // Returns:
148 // - string: Current pool liquidity, serialized as a base-10 unsigned integer.
149 // - error: Non-nil when poolPath does not identify an existing pool.
150 func GetLiquidity(poolPath string ) ( string , error ) {
151 liquidity, err := getImplementation().GetLiquidity(poolPath)
152 if err != nil {
153 return "" , err
154 }
155 return liquidity.ToString(), nil
156 }
157
158 // GetPoolCreationFee returns the current pool creation fee.
159 // Returns:
160 // - int64: Pool creation fee charged when a new pool is created, in configured
161 // native-token base units.
162 func GetPoolCreationFee() int64 {
163 return getImplementation().GetPoolCreationFee()
164 }
165
166 // GetPositionFeeGrowthInside0LastX128 returns the last recorded fee growth inside for token0.
167 // Parameters:
168 // - poolPath: Canonical pool path identifying the pool containing the position.
169 // - key: Position key identifying the position within the pool.
170 //
171 // Returns:
172 // - string: Position's last token0 fee-growth-inside accumulator, serialized
173 // as a base-10 X128 value.
174 // - error: Non-nil when the pool or position key cannot be found.
175 func GetPositionFeeGrowthInside0LastX128(poolPath, key string ) ( string , error ) {
176 return getImplementation().GetPositionFeeGrowthInside0LastX128(poolPath, key)
177 }
178
179 // GetPositionFeeGrowthInside1LastX128 returns the last recorded fee growth inside for token1.
180 // Parameters:
181 // - poolPath: Canonical pool path identifying the pool containing the position.
182 // - key: Position key identifying the position within the pool.
183 //
184 // Returns:
185 // - string: Position's last token1 fee-growth-inside accumulator, serialized
186 // as a base-10 X128 value.
187 // - error: Non-nil when the pool or position key cannot be found.
188 func GetPositionFeeGrowthInside1LastX128(poolPath, key string ) ( string , error ) {
189 return getImplementation().GetPositionFeeGrowthInside1LastX128(poolPath, key)
190 }
191
192 // GetPositionFeeGrowthInsideLastX128 returns the last recorded fee growth inside for both tokens.
193 // Parameters:
194 // - poolPath: Canonical pool path identifying the pool containing the position.
195 // - key: Position key identifying the position within the pool.
196 //
197 // Returns:
198 // - string: Position's last token0 fee-growth-inside accumulator, serialized
199 // as a base-10 X128 value.
200 // - string: Position's last token1 fee-growth-inside accumulator, serialized
201 // as a base-10 X128 value.
202 // - error: Non-nil when the pool or position key cannot be found.
203 func GetPositionFeeGrowthInsideLastX128(poolPath, key string ) ( string , string , error ) {
204 return getImplementation().GetPositionFeeGrowthInsideLastX128(poolPath, key)
205 }
206
207 // GetPoolPositions returns a read-only view of a pool's positions, keyed by
208 // position key. nil is returned when the pool does not exist.
209 // Parameters:
210 // - poolPath: Canonical pool path identifying the pool whose positions are read.
211 //
212 // Returns:
213 // - *rotree.ReadOnlyTree: Read-only tree keyed by position key; nil when the
214 // pool does not exist.
215 func GetPoolPositions(poolPath string ) *rotree.ReadOnlyTree {
216 return getImplementation().GetPoolPositions(poolPath)
217 }
218
219 // GetPositionLiquidity returns the liquidity of a position.
220 // Parameters:
221 // - poolPath: Canonical pool path identifying the pool containing the position.
222 // - key: Position key identifying the position within the pool.
223 //
224 // Returns:
225 // - string: Position liquidity, serialized as a base-10 unsigned integer.
226 // - error: Non-nil when the pool or position key cannot be found.
227 func GetPositionLiquidity(poolPath, key string ) ( string , error ) {
228 return getImplementation().GetPositionLiquidity(poolPath, key)
229 }
230
231 // GetPositionTokensOwed0 returns the amount of token0 owed to a position.
232 // Parameters:
233 // - poolPath: Canonical pool path identifying the pool containing the position.
234 // - key: Position key identifying the position within the pool.
235 //
236 // Returns:
237 // - int64: Amount of token0 owed to the position, in token base units.
238 // - error: Non-nil when the pool or position key cannot be found.
239 func GetPositionTokensOwed0(poolPath, key string ) ( int64 , error ) {
240 return getImplementation().GetPositionTokensOwed0(poolPath, key)
241 }
242
243 // GetPositionTokensOwed1 returns the amount of token1 owed to a position.
244 // Parameters:
245 // - poolPath: Canonical pool path identifying the pool containing the position.
246 // - key: Position key identifying the position within the pool.
247 //
248 // Returns:
249 // - int64: Amount of token1 owed to the position, in token base units.
250 // - error: Non-nil when the pool or position key cannot be found.
251 func GetPositionTokensOwed1(poolPath, key string ) ( int64 , error ) {
252 return getImplementation().GetPositionTokensOwed1(poolPath, key)
253 }
254
255 // GetPositionTokensOwedInfos returns the amount of tokens owed for both tokens.
256 // Parameters:
257 // - poolPath: Canonical pool path identifying the pool containing the position.
258 // - key: Position key identifying the position within the pool.
259 //
260 // Returns:
261 // - int64: Amount of token0 owed to the position, in token base units.
262 // - int64: Amount of token1 owed to the position, in token base units.
263 // - error: Non-nil when the pool or position key cannot be found.
264 func GetPositionTokensOwed(poolPath, key string ) ( int64 , int64 , error ) {
265 tokensOwed0, err := getImplementation().GetPositionTokensOwed0(poolPath, key)
266 if err != nil {
267 return 0 , 0 , err
268 }
269 tokensOwed1, err := getImplementation().GetPositionTokensOwed1(poolPath, key)
270 if err != nil {
271 return 0 , 0 , err
272 }
273 return tokensOwed0, tokensOwed1, nil
274 }
275
276 // GetProtocolFeesToken0 returns accumulated protocol fees for token0.
277 // Parameters:
278 // - poolPath: Canonical pool path identifying the pool whose fees are read.
279 //
280 // Returns:
281 // - int64: Accumulated protocol fee for token0, in token base units.
282 // - error: Non-nil when poolPath does not identify an existing pool.
283 func GetProtocolFeesToken0(poolPath string ) ( int64 , error ) {
284 return getImplementation().GetProtocolFeesToken0(poolPath)
285 }
286
287 // GetProtocolFeesToken1 returns accumulated protocol fees for token1.
288 // Parameters:
289 // - poolPath: Canonical pool path identifying the pool whose fees are read.
290 //
291 // Returns:
292 // - int64: Accumulated protocol fee for token1, in token base units.
293 // - error: Non-nil when poolPath does not identify an existing pool.
294 func GetProtocolFeesToken1(poolPath string ) ( int64 , error ) {
295 return getImplementation().GetProtocolFeesToken1(poolPath)
296 }
297
298 // GetProtocolFeesTokens returns the accumulated protocol fees for both tokens.
299 // Parameters:
300 // - poolPath: Canonical pool path identifying the pool whose fees are read.
301 //
302 // Returns:
303 // - int64: Accumulated protocol fee for token0, in token base units.
304 // - int64: Accumulated protocol fee for token1, in token base units.
305 // - error: Non-nil when poolPath does not identify an existing pool.
306 func GetProtocolFeesTokens(poolPath string ) ( int64 , int64 , error ) {
307 fees0, err := getImplementation().GetProtocolFeesToken0(poolPath)
308 if err != nil {
309 return 0 , 0 , err
310 }
311 fees1, err := getImplementation().GetProtocolFeesToken1(poolPath)
312 if err != nil {
313 return 0 , 0 , err
314 }
315 return fees0, fees1, nil
316 }
317
318 // GetSlot0FeeProtocol returns the protocol fee rate from slot0.
319 // Parameters:
320 // - poolPath: Canonical pool path identifying the pool to query.
321 //
322 // Returns:
323 // - uint8: Packed protocol-fee denominator configuration from slot0; token0
324 // occupies the low nibble and token1 the high nibble.
325 // - error: Non-nil when poolPath does not identify an existing pool.
326 func GetSlot0FeeProtocol(poolPath string ) ( uint8 , error ) {
327 return getImplementation().GetSlot0FeeProtocol(poolPath)
328 }
329
330 // GetSlot0SqrtPriceX96 returns the current sqrt price from slot0.
331 // Parameters:
332 // - poolPath: Canonical pool path identifying the pool to query.
333 //
334 // Returns:
335 // - string: Current square-root price in Q64.96 fixed-point form, serialized
336 // as a base-10 unsigned integer.
337 // - error: Non-nil when poolPath does not identify an existing pool.
338 func GetSlot0SqrtPriceX96(poolPath string ) ( string , error ) {
339 sqrtPriceX96, err := getImplementation().GetSlot0SqrtPriceX96(poolPath)
340 if err != nil {
341 return "" , err
342 }
343 return sqrtPriceX96.ToString(), nil
344 }
345
346 // GetSlot0Tick returns the current tick from slot0.
347 // Parameters:
348 // - poolPath: Canonical pool path identifying the pool to query.
349 //
350 // Returns:
351 // - int32: Current active tick index stored in slot0.
352 // - error: Non-nil when poolPath does not identify an existing pool.
353 func GetSlot0Tick(poolPath string ) ( int32 , error ) {
354 return getImplementation().GetSlot0Tick(poolPath)
355 }
356
357 // GetSlot0Unlocked reports whether the pool is currently unlocked.
358 // Parameters:
359 // - poolPath: Canonical pool path identifying the pool to query.
360 //
361 // Returns:
362 // - bool: True when the pool is not holding its reentrancy lock; false when
363 // the pool is currently locked.
364 // - error: Non-nil when poolPath does not identify an existing pool.
365 func GetSlot0Unlocked(poolPath string ) ( bool , error ) {
366 return getImplementation().GetSlot0Unlocked(poolPath)
367 }
368
369 // GetSlot0 returns a safe copy of the pool's slot0 (sqrt price, tick,
370 // protocol fee, lock state, and oracle cursor/capacity metadata).
371 // The clone happens here, at the proxy boundary, so every implementation
372 // version can return its internal Slot0 by value without each one having to
373 // remember to defend against callers mutating the shared sqrtPriceX96.
374 // Parameters:
375 // - poolPath: Canonical pool path identifying the pool to query.
376 //
377 // Returns:
378 // - Slot0: Copy of the pool's slot0 state, including price, tick, protocol
379 // fee, lock, and observation metadata; panics if the pool is missing.
380 func GetSlot0(poolPath string ) Slot0 {
381 slot0 := getImplementation().GetSlot0(poolPath)
382 return slot0.Clone()
383 }
384
385 // GetObservationAt returns a safe copy of the observation stored at index.
386 // An in-range but uninitialized slot returns the zero observation, matching
387 // Uniswap V3's fixed observation-array getter.
388 //
389 // ref: uniswap v3 IUniswapV3PoolState.observations(uint256 index)
390 // Parameters:
391 // - poolPath: Canonical pool path identifying the pool containing the observation.
392 // - index: Zero-based observation-array index; values at or above the fixed
393 // cardinality bound return an error.
394 //
395 // Returns:
396 // - Observation: Observation at index, or the zero observation when the slot
397 // is in range but has never been written.
398 // - error: Non-nil when the pool is missing or index is out of range.
399 func GetObservationAt(poolPath string , index uint16 ) (Observation, error ) {
400 observation, err := getImplementation().GetObservationAt(poolPath, index)
401 if err != nil {
402 return Observation{}, err
403 }
404
405 return observation, nil
406 }
407
408 // Observe returns the tick and seconds-per-liquidity cumulatives for each
409 // requested lookback, matching Uniswap V3's observe(uint32[] secondsAgos).
410 // Parameters:
411 // - poolPath: Canonical pool path whose oracle history is queried.
412 // - secondsAgos: Lookback intervals in seconds; one cumulative pair is returned
413 // for each value, in the same order.
414 //
415 // Returns:
416 // - []int64: Tick cumulative values corresponding to each requested lookback.
417 // - []string: Seconds-per-liquidity cumulative X128 values, serialized as
418 // base-10 strings, corresponding to each lookback.
419 // - error: Non-nil when pool or observation data cannot be read.
420 func Observe(poolPath string , secondsAgos [] uint32 ) ([] int64 , [] string , error ) {
421 tickCumulatives, secondsPerLiquidityCumulativeX128s, err := getImplementation().Observe(
422 poolPath,
423 cloneUint32Slice(secondsAgos),
424 )
425 if err != nil {
426 return nil , nil , err
427 }
428
429 return cloneInt64Slice(tickCumulatives), cloneStringSlice(secondsPerLiquidityCumulativeX128s), nil
430 }
431
432 // SnapshotCumulativesInside returns the tick, seconds-per-liquidity, and
433 // seconds cumulatives accrued while the pool price was inside
434 // [tickLower, tickUpper). Both boundary ticks must be initialized.
435 //
436 // Snapshots are only comparable across an interval during which a position in
437 // the range existed, matching Uniswap V3's snapshotCumulativesInside.
438 // Parameters:
439 // - poolPath: Canonical pool path whose oracle snapshot is queried.
440 // - tickLower: Lower inclusive tick boundary of the position range.
441 // - tickUpper: Upper exclusive tick boundary of the position range; both
442 // boundary ticks must be initialized.
443 //
444 // Returns:
445 // - int64: Tick cumulative accrued while the price was inside the range.
446 // - string: Seconds-per-liquidity-inside X128 accumulator, serialized as a
447 // base-10 string.
448 // - uint32: Seconds accrued while the price was inside the range.
449 // - error: Non-nil when the pool, observations, or initialized boundaries are
450 // unavailable.
451 func SnapshotCumulativesInside(
452 poolPath string ,
453 tickLower int32 ,
454 tickUpper int32 ,
455 ) ( int64 , string , uint32 , error ) {
456 tickCumulativeInside, secondsPerLiquidityInsideX128, secondsInside, err := getImplementation().SnapshotCumulativesInside(
457 poolPath,
458 tickLower,
459 tickUpper,
460 )
461 if err != nil {
462 return 0 , "" , 0 , err
463 }
464
465 return tickCumulativeInside, secondsPerLiquidityInsideX128.ToString(), secondsInside, nil
466 }
467
468 // GetTickCumulativeOutside returns the tick cumulative value outside a tick.
469 // Parameters:
470 // - poolPath: Canonical pool path identifying the pool containing the tick.
471 // - tick: Tick index whose outside tick cumulative is requested.
472 //
473 // Returns:
474 // - int64: Tick cumulative recorded outside tick.
475 // - error: Non-nil when the pool or tick is not found.
476 func GetTickCumulativeOutside(poolPath string , tick int32 ) ( int64 , error ) {
477 return getImplementation().GetTickCumulativeOutside(poolPath, tick)
478 }
479
480 // GetTickFeeGrowthOutside0X128 returns fee growth outside for token0 at a tick.
481 // Parameters:
482 // - poolPath: Canonical pool path identifying the pool containing the tick.
483 // - tick: Tick index whose outside fee growth is requested.
484 //
485 // Returns:
486 // - string: Token0 fee growth outside tick, serialized as a base-10 X128
487 // accumulator.
488 // - error: Non-nil when the pool or tick is not found.
489 func GetTickFeeGrowthOutside0X128(poolPath string , tick int32 ) ( string , error ) {
490 return getImplementation().GetTickFeeGrowthOutside0X128(poolPath, tick)
491 }
492
493 // GetTickFeeGrowthOutside1X128 returns fee growth outside for token1 at a tick.
494 // Parameters:
495 // - poolPath: Canonical pool path identifying the pool containing the tick.
496 // - tick: Tick index whose outside fee growth is requested.
497 //
498 // Returns:
499 // - string: Token1 fee growth outside tick, serialized as a base-10 X128
500 // accumulator.
501 // - error: Non-nil when the pool or tick is not found.
502 func GetTickFeeGrowthOutside1X128(poolPath string , tick int32 ) ( string , error ) {
503 return getImplementation().GetTickFeeGrowthOutside1X128(poolPath, tick)
504 }
505
506 // GetTickFeeGrowthOutsideX128 returns fee growth outside for both tokens at a tick.
507 // Parameters:
508 // - poolPath: Canonical pool path identifying the pool containing the tick.
509 // - tick: Tick index whose outside fee growth is requested.
510 //
511 // Returns:
512 // - string: Token0 fee growth outside tick, serialized as a base-10 X128
513 // accumulator.
514 // - string: Token1 fee growth outside tick, serialized as a base-10 X128
515 // accumulator.
516 // - error: Non-nil when the pool or tick is not found.
517 func GetTickFeeGrowthOutsideX128(poolPath string , tick int32 ) ( string , string , error ) {
518 return getImplementation().GetTickFeeGrowthOutsideX128(poolPath, tick)
519 }
520
521 // GetTickInitialized returns whether a tick is initialized.
522 // Parameters:
523 // - poolPath: Canonical pool path identifying the pool containing the tick.
524 // - tick: Tick index whose initialization flag is requested.
525 //
526 // Returns:
527 // - bool: True when the tick has initialized liquidity and outside accumulators.
528 // - error: Non-nil when the pool or tick is not found.
529 func GetTickInitialized(poolPath string , tick int32 ) ( bool , error ) {
530 return getImplementation().GetTickInitialized(poolPath, tick)
531 }
532
533 // GetInitializedTicksInRange returns initialized ticks within the given range.
534 // Parameters:
535 // - poolPath: Canonical pool path whose ticks are enumerated.
536 // - tickLower: Lower inclusive tick bound for enumeration.
537 // - tickUpper: Upper bound for enumeration; ticks are selected through the
538 // pool's range iterator.
539 //
540 // Returns:
541 // - []int32: Tick indices that are initialized in the requested range.
542 // - error: Non-nil when poolPath does not identify an existing pool.
543 func GetInitializedTicksInRange(poolPath string , tickLower, tickUpper int32 ) ([] int32 , error ) {
544 ticks, err := getImplementation().GetInitializedTicksInRange(poolPath, tickLower, tickUpper)
545 if err != nil {
546 return nil , err
547 }
548 return cloneInt32Slice(ticks), nil
549 }
550
551 // GetTickLiquidityGross returns the total liquidity that references a tick.
552 // Parameters:
553 // - poolPath: Canonical pool path identifying the pool containing the tick.
554 // - tick: Tick index whose gross liquidity is requested.
555 //
556 // Returns:
557 // - string: Gross liquidity referencing the tick, serialized as a base-10
558 // unsigned integer.
559 // - error: Non-nil when the pool or tick is not found.
560 func GetTickLiquidityGross(poolPath string , tick int32 ) ( string , error ) {
561 return getImplementation().GetTickLiquidityGross(poolPath, tick)
562 }
563
564 // GetTickLiquidityNet returns the net liquidity change at a tick.
565 // Parameters:
566 // - poolPath: Canonical pool path identifying the pool containing the tick.
567 // - tick: Tick index whose net liquidity change is requested.
568 //
569 // Returns:
570 // - string: Signed net liquidity change at the tick, serialized as a base-10
571 // integer.
572 // - error: Non-nil when the pool or tick is not found.
573 func GetTickLiquidityNet(poolPath string , tick int32 ) ( string , error ) {
574 return getImplementation().GetTickLiquidityNet(poolPath, tick)
575 }
576
577 // GetTickSecondsOutside returns seconds spent outside a tick.
578 // Parameters:
579 // - poolPath: Canonical pool path identifying the pool containing the tick.
580 // - tick: Tick index whose outside time is requested.
581 //
582 // Returns:
583 // - uint32: Seconds accumulated outside the tick.
584 // - error: Non-nil when the pool or tick is not found.
585 func GetTickSecondsOutside(poolPath string , tick int32 ) ( uint32 , error ) {
586 return getImplementation().GetTickSecondsOutside(poolPath, tick)
587 }
588
589 // GetTickSecondsPerLiquidityOutsideX128 returns seconds per liquidity outside a tick.
590 // Parameters:
591 // - poolPath: Canonical pool path identifying the pool containing the tick.
592 // - tick: Tick index whose outside accumulator is requested.
593 //
594 // Returns:
595 // - string: Seconds-per-liquidity outside tick in X128 precision, serialized
596 // as a base-10 unsigned integer.
597 // - error: Non-nil when the pool or tick is not found.
598 func GetTickSecondsPerLiquidityOutsideX128(poolPath string , tick int32 ) ( string , error ) {
599 return getImplementation().GetTickSecondsPerLiquidityOutsideX128(poolPath, tick)
600 }
601
602 // GetTickSpacing returns the tick spacing of the pool.
603 // Parameters:
604 // - poolPath: Canonical pool path identifying the pool whose spacing is read.
605 //
606 // Returns:
607 // - int32: Tick spacing associated with the pool's fee tier.
608 // - error: Non-nil when poolPath does not identify an existing pool.
609 func GetTickSpacing(poolPath string ) ( int32 , error ) {
610 return getImplementation().GetTickSpacing(poolPath)
611 }
612
613 // GetToken0Path returns the path of token0 in the pool.
614 // Parameters:
615 // - poolPath: Canonical pool path identifying the pool to query.
616 //
617 // Returns:
618 // - string: Canonical token0 contract path stored by the pool.
619 // - error: Non-nil when poolPath does not identify an existing pool.
620 func GetToken0Path(poolPath string ) ( string , error ) {
621 return getImplementation().GetToken0Path(poolPath)
622 }
623
624 // GetToken1Path returns the path of token1 in the pool.
625 // Parameters:
626 // - poolPath: Canonical pool path identifying the pool to query.
627 //
628 // Returns:
629 // - string: Canonical token1 contract path stored by the pool.
630 // - error: Non-nil when poolPath does not identify an existing pool.
631 func GetToken1Path(poolPath string ) ( string , error ) {
632 return getImplementation().GetToken1Path(poolPath)
633 }
634
635 // GetWithdrawalFee returns the current withdrawal fee rate.
636 // Returns:
637 // - uint64: Withdrawal fee rate in basis points; zero means no withdrawal
638 // fee is charged.
639 func GetWithdrawalFee() uint64 {
640 return getImplementation().GetWithdrawalFee()
641 }
642
643 // OracleConsult returns the arithmetic mean tick and harmonic mean liquidity
644 // over a lookback, following Uniswap V3 OracleLibrary's consult convention.
645 // Parameters:
646 // - poolPath: Canonical pool path whose oracle data is queried.
647 // - secondsAgo: Lookback duration in seconds used to compute the time-weighted
648 // values.
649 //
650 // Returns:
651 // - int32: Arithmetic mean tick over the requested lookback.
652 // - string: Harmonic mean liquidity over the lookback, serialized as a base-10
653 // unsigned integer.
654 // - error: Non-nil when the pool or required observation history is unavailable.
655 func OracleConsult(poolPath string , secondsAgo uint32 ) ( int32 , string , error ) {
656 tick, liquidity, err := getImplementation().OracleConsult(poolPath, secondsAgo)
657 if err != nil {
658 return 0 , "" , err
659 }
660 return tick, liquidity.ToString(), nil
661 }
662
663 // Structure getters
664
665 // GetTickInfo returns the tick info for a given tick.
666 // Parameters:
667 // - poolPath: Canonical pool path identifying the pool containing the tick.
668 // - tick: Tick index whose complete state is requested.
669 //
670 // Returns:
671 // - TickInfo: Safe copy of the requested tick's liquidity and oracle/fee
672 // accumulator fields.
673 // - error: Non-nil when the pool or tick is not found.
674 func GetTickInfo(poolPath string , tick int32 ) (TickInfo, error ) {
675 tickInfo, err := getImplementation().GetTickInfo(poolPath, tick)
676 if err != nil {
677 return TickInfo{}, err
678 }
679
680 return tickInfo.Clone(), nil
681 }
682
683 // GetTickBitmaps returns the tick bitmap for a given word position.
684 // Parameters:
685 // - poolPath: Canonical pool path identifying the pool containing the bitmap.
686 // - wordPos: Signed bitmap word position to read.
687 //
688 // Returns:
689 // - string: Bitmap word serialized as a base-10 unsigned integer.
690 // - error: Non-nil when the pool or bitmap word is not found.
691 func GetTickBitmaps(poolPath string , wordPos int16 ) ( string , error ) {
692 return getImplementation().GetTickBitmaps(poolPath, wordPos)
693 }
694
695 // GetPendingProtocolFees returns the pending protocol fee amount per token path.
696 // Returns:
697 // - map[string]int64: Copy of pending protocol fees keyed by token contract path,
698 // with amounts in token base units.
699 func GetPendingProtocolFees() map [ string ] int64 {
700 return cloneStringInt64Map(getImplementation().GetPendingProtocolFees())
701 }
702
vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.