PathrockNetwork Gno Explorer
HomeBlocksTransactionsRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/gnoswap/pool

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
pool
Namespace
gnoswap
Files
14 (README)(gnomod.toml)
Exported functions
90
Module
gno.land/r/gnoswap/pool
gno
0.9

Files (14)

  • README.mdmarkdown
  • gnomod.tomltoml
  • errors.gnogno
  • getter_utils.gnogno
  • getter.gnogno
  • oracle.gnogno
  • pool.gnogno
  • proxy.gnogno
  • render.gnogno
  • state.gnogno
  • store.gnogno
  • types.gnogno
  • upgrade.gnogno
  • utils.gnogno
  • getter.gnogno
    1package pool23import (4	rotree "gno.land/p/nt/bptree/rotree/v0"5)67// GetPools returns a read-only view of every pool, keyed by pool path.8

    Functions

    • 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.

    Rendered

    RenderedRawgnoweb ↗
    // 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.
    12func 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.
    22func 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.
    34func 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.
    53func 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.
    64func 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.
    75func 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.
    82func 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.
    93func 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.
    104func 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.
    119func 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.
    135func 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.
    150func 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.
    162func 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.
    175func 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.
    188func 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.
    203func 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.
    215func 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.
    227func 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.
    239func 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.
    251func 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.
    264func 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.
    283func 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.
    294func 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.
    306func 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.
    326func 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.
    338func 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.
    353func 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.
    365func 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.
    380func 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.
    399func 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.
    420func 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.
    451func 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.
    476func 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.
    489func 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.
    502func 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.
    517func 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.
    529func 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.
    543func 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.
    560func 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.
    573func 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.
    585func 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.
    598func 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.
    609func 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.
    620func 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.
    631func 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.
    639func 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.
    655func 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.
    674func 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.
    691func 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.
    699func 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.