/// import { Connection, PublicKey } from "@solana/web3.js"; import { CyclosCore, PoolVars } from "@cykura/sdk"; import JSBI from "jsbi"; import * as anchor from "@project-serum/anchor"; export declare function getCykuraPools(connection: Connection): Promise; export declare class SolanaTickDataProvider { program: anchor.Program; pool: PoolVars; bitmapCache: Map; tickCache: Map; constructor(program: anchor.Program, pool: PoolVars); /** * Caches ticks and bitmap accounts near the current price * @param tickCurrent The current pool tick * @param tickSpacing The pool tick spacing */ eagerLoadCache(tickCurrent: number, tickSpacing: number): Promise; getTickAddressSync(tick: number): anchor.web3.PublicKey; getBitmapAddressSync(wordPos: number): anchor.web3.PublicKey; getTick(tick: number): { address: anchor.web3.PublicKey; liquidityNet: JSBI; }; /** * Fetches the cached bitmap for the word * @param wordPos */ getBitmap(wordPos: number): { address: anchor.web3.PublicKey; word: anchor.BN; }; /** * Finds the next initialized tick in the given word. Fetched bitmaps are saved in a * cache for quicker lookups in future. * @param tick The current tick * @param lte Whether to look for a tick less than or equal to the current one, or a tick greater than or equal to * @param tickSpacing The tick spacing for the pool * @returns */ nextInitializedTickWithinOneWord(tick: number, lte: boolean, tickSpacing: number): [number, boolean, number, number, PublicKey]; }