aboutsummaryrefslogtreecommitdiffstats
path: root/packages/pipeline/src/parsers/ddex_orders
diff options
context:
space:
mode:
authorzkao <zichongkao@gmail.com>2018-12-12 07:48:54 +0800
committerGitHub <noreply@github.com>2018-12-12 07:48:54 +0800
commit42be1a429fd9286a72e19b782c9b906cb3c0f8ad (patch)
tree123cee2e74c858b7ad7c12dc8f8a6e7ced233f5f /packages/pipeline/src/parsers/ddex_orders
parent96b8100a787d00142dcf875d940c9125571cbde6 (diff)
downloaddexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.gz
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.bz2
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.lz
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.xz
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.zst
dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.zip
track idex orderbook snapshots (#1397)
* Track Idex and Oasis Orderbook Snapshots
Diffstat (limited to 'packages/pipeline/src/parsers/ddex_orders')
-rw-r--r--packages/pipeline/src/parsers/ddex_orders/index.ts18
1 files changed, 3 insertions, 15 deletions
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';
@@ -28,19 +29,6 @@ export function parseDdexOrders(
}
/**
- * 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 <price, amount> 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.
* @param ddexMarket An object containing information about the market where these