UNPKG

@alcorexchange/alcor-swap-sdk

Version:

## Installation ​​ **npm** ``` npm i @alcorexchange/alcor-swap-sdk ``` **yarn** ``` yarn add @alcorexchange/alcor-swap-sdk ``` ## Usage ### Import:

46 lines (39 loc) 1.14 kB
import { TickList } from "../utils/tickList"; import { Tick, TickConstructorArgs } from "./tick"; import { TickDataProvider } from "./tickDataProvider"; /** * A data provider for ticks that is backed by an in-memory array of ticks. */ export class TickListDataProvider implements TickDataProvider { public ticks: readonly Tick[]; constructor(ticks: (Tick | TickConstructorArgs)[], tickSpacing: number) { const ticksMapped: Tick[] = ticks.map((t) => t instanceof Tick ? t : new Tick(t) ); TickList.validateList(ticksMapped, tickSpacing); this.ticks = ticksMapped; } getTick( tick: number ): Tick { return TickList.getTick(this.ticks, tick); } nextInitializedTickWithinOneWord( tick: number, lte: boolean, tickSpacing: number ): [number, boolean] { return TickList.nextInitializedTickWithinOneWord( this.ticks, tick, lte, tickSpacing ); } static toJSON(ticks: Tick[]): object { return ticks.map((tick) => Tick.toJSON(tick)); } static fromJSON(ticksArray: any): TickListDataProvider { return ticksArray.map(Tick.fromJSON); } }