UNPKG

@tracer-protocol/pools-js

Version:

Javascript library for interacting with Tracer's Perpetual Pools

24 lines (23 loc) 1 kB
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>; }