From 42be1a429fd9286a72e19b782c9b906cb3c0f8ad Mon Sep 17 00:00:00 2001 From: zkao Date: Tue, 11 Dec 2018 15:48:54 -0800 Subject: track idex orderbook snapshots (#1397) * Track Idex and Oasis Orderbook Snapshots --- packages/pipeline/src/parsers/ddex_orders/index.ts | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'packages/pipeline/src/parsers/ddex_orders') diff --git a/packages/pipeline/src/parsers/ddex_orders/index.ts b/packages/pipeline/src/parsers/ddex_orders/index.ts index 81132e8f0..52a998f9f 100644 --- a/packages/pipeline/src/parsers/ddex_orders/index.ts +++ b/packages/pipeline/src/parsers/ddex_orders/index.ts @@ -1,7 +1,8 @@ import { BigNumber } from '@0x/utils'; -import * as R from 'ramda'; -import { DdexMarket, DdexOrder, DdexOrderbook } from '../../data_sources/ddex'; +import { aggregateOrders } from '../utils'; + +import { DdexMarket, DdexOrderbook } from '../../data_sources/ddex'; import { TokenOrderbookSnapshot as TokenOrder } from '../../entities'; import { OrderType } from '../../types'; @@ -27,19 +28,6 @@ export function parseDdexOrders( return parsedBids.concat(parsedAsks); } -/** - * Aggregates orders by price point for consistency with other exchanges. - * Querying the Ddex API at level 3 setting returns a breakdown of - * individual orders at each price point. Other exchanges only give total amount - * at each price point. Returns an array of tuples. - * @param ddexOrders A list of Ddex orders awaiting aggregation. - */ -export function aggregateOrders(ddexOrders: DdexOrder[]): Array<[string, BigNumber]> { - const sumAmount = (acc: BigNumber, order: DdexOrder): BigNumber => acc.plus(order.amount); - const aggregatedPricePoints = R.reduceBy(sumAmount, new BigNumber(0), R.prop('price'), ddexOrders); - return Object.entries(aggregatedPricePoints); -} - /** * Parse a single aggregated Ddex order in order to form a tokenOrder entity * which can be saved into the database. -- cgit