@tracer-protocol/pools-js
Version:
Javascript library for interacting with Tracer's Perpetual Pools
24 lines (23 loc) • 1 kB
TypeScript
import { TypedEmitter } from 'tiny-typed-emitter';
import { ethers } from 'ethers';
import BigNumber from 'bignumber.js';
import { LeveragedPool, PoolSwapLibrary } from '@tracer-protocol/perpetual-pools-contracts/types';
import { PoolWatcherConstructorArgs, WatchedPool, PoolWatcherEvents } from '../types';
export default class PoolWatcher extends TypedEmitter<PoolWatcherEvents> {
provider: ethers.providers.BaseProvider;
watchedPool: WatchedPool;
poolInstance: LeveragedPool;
poolSwapLibrary: PoolSwapLibrary;
poolAddress: string;
chainId: string;
commitmentWindowBuffer: number;
isWatching: boolean;
oraclePriceTransformer: (lastPrice: BigNumber, currentPrice: BigNumber) => BigNumber;
ignoreEvents: {
[eventName: string]: boolean;
};
constructor(args: PoolWatcherConstructorArgs);
initializeWatchedPool(): Promise<void>;
isCommitmentWindowStillOpen(updateIntervalId: number): Promise<boolean>;
startWatchingPool(): Promise<void>;
}