@bella-defintech/uniswap-v3-simulator
Version:
the 'Tuner', a Uniswap V3 Simulator
34 lines (33 loc) • 1.79 kB
TypeScript
import JSBI from "jsbi";
import { PoolConfig } from "./PoolConfig";
import { Transition } from "../model/Transition";
import { Snapshot } from "../entity/Snapshot";
import { PositionManager } from "../manager/PositionManager";
import { TickManager } from "../manager/TickManager";
import { Record } from "../entity/Record";
import { Visitable } from "../interface/Visitable";
import { SimulatorVisitor } from "../interface/SimulatorVisitor";
import { CorePool } from "../core/CorePool";
import { Transition as TransitionView } from "../interface/Transition";
export declare class PoolState implements Visitable {
readonly id: string;
readonly baseSnapshot: Snapshot | undefined;
private _snapshot;
readonly poolConfig: PoolConfig;
readonly transitionSource: Transition | undefined;
readonly transitionTargets: Transition[];
readonly timestamp: Date;
constructor(poolConfig?: PoolConfig, baseSnapshot?: Snapshot, fromTransition?: Transition);
get snapshot(): Snapshot | undefined;
static from(baseSnapshot: Snapshot): PoolState;
takeSnapshot(description: string, token0Balance: JSBI, token1Balance: JSBI, sqrtPriceX96: JSBI, liquidity: JSBI, tickCurrent: number, feeGrowthGlobal0X128: JSBI, feeGrowthGlobal1X128: JSBI, tickManager: TickManager, positionManager: PositionManager): void;
accept(visitor: SimulatorVisitor, callback?: (poolState: PoolState, returnValue: any) => void): Promise<string>;
recoverCorePool(takeSnapshot?: boolean): CorePool;
clearSnapshot(cachingOnly?: boolean): void;
hasSnapshot(): boolean;
hasBaseSnapshot(): boolean;
addTransitionTarget(record: Record): Transition;
getTransitionSource(): TransitionView | undefined;
getTransitionTargets(): TransitionView[];
fork(): PoolState;
}