Skip to content

Commit eb6539e

Browse files
committedAug 26, 2024
adding new alleyway file and modifications 2
1 parent 990ee0b commit eb6539e

File tree

4 files changed

+64
-8
lines changed

4 files changed

+64
-8
lines changed
 

‎src/mappers/bitmex.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ export const bitmexTradesMapper: Mapper<'bitmex', Trade> = {
3131
amount: bitmexTrade.size,
3232
side: bitmexTrade.side !== undefined ? (bitmexTrade.side === 'Buy' ? 'buy' : 'sell') : 'unknown',
3333
timestamp: new Date(bitmexTrade.timestamp),
34-
localTimestamp: localTimestamp
34+
localTimestamp: localTimestamp,
35+
exchangeSpecific: pruneObject(bitmexTrade, BitmexTradesMessageExcluded)
3536
}
3637

3738
yield trade
@@ -296,9 +297,21 @@ type BitmexTradesMessage = BitmexDataMessage & {
296297
size: number
297298
price: number
298299
timestamp: string
300+
[key: string]: any
299301
}[]
300302
}
301303

304+
// for exchangeSpecific property
305+
const BitmexTradesMessageExcluded = [
306+
"symbol",
307+
"trdMatchID",
308+
"side",
309+
"size",
310+
"price",
311+
"timestamp"
312+
] as const;
313+
314+
302315
type BitmexInstrument = {
303316
symbol: string
304317
state?: 'Open' | 'Closed' | 'Unlisted' | 'Settled'

‎src/mappers/bybitspot.ts

+20-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ export class BybitSpotTradesMapper implements Mapper<'bybit-spot', Trade> {
3030
amount: Number(bybitTrade.q),
3131
side: bybitTrade.m === true ? 'buy' : 'sell',
3232
timestamp: new Date(bybitTrade.t),
33-
localTimestamp
33+
localTimestamp,
34+
exchangeSpecific: pruneObject(bybitTrade, BybitSpotTradeMessageExcluded)
3435
}
3536
}
3637
}
@@ -113,9 +114,26 @@ type BybitSpotBookTickerMessage = {
113114
type BybitSpotTradeMessage = {
114115
topic: 'trade'
115116
params: { symbol: 'XRP3SUSDT'; binary: 'false'; symbolName: 'XRP3SUSDT' }
116-
data: { v: '2220000000006443832'; t: 1659312000387; p: '6.3957'; q: '3.5962'; m: boolean }
117+
data: {
118+
v: '2220000000006443832';
119+
t: 1659312000387;
120+
p: '6.3957';
121+
q: '3.5962';
122+
m: boolean
123+
[key: string]: any
124+
}
117125
}
118126

127+
// for exchangeSpecific property
128+
const BybitSpotTradeMessageExcluded = [
129+
"v",
130+
"t",
131+
"p",
132+
"q",
133+
"m"
134+
] as const;
135+
136+
119137
type BybitSpotDepthMessage = {
120138
topic: 'depth'
121139
params: { symbol: 'RENUSDT'; binary: 'false'; symbolName: 'RENUSDT' }

‎src/mappers/cryptocom.ts

+15-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ export class CryptoComTradesMapper implements Mapper<'crypto-com' | 'crypto-com-
3232
amount: Number(item.q),
3333
side: item.s === 'BUY' ? 'buy' : 'sell',
3434
timestamp: new Date(item.t),
35-
localTimestamp
35+
localTimestamp,
36+
exchangeSpecific: pruneObject(item, CryptoComTradeMessageExcluded)
3637
}
3738

3839
yield trade
@@ -244,6 +245,7 @@ type CryptoComTradeMessage =
244245
d: 1210447366 // trade id
245246
t: 1587523078844 // trade time
246247
dataTime: 0 // please ignore this field
248+
[key: string]: any
247249
}
248250
]
249251
}
@@ -256,10 +258,21 @@ type CryptoComTradeMessage =
256258
channel: 'trade'
257259
subscription: 'trade.BTCUSD-PERP'
258260
instrument_name: 'BTCUSD-PERP'
259-
data: [{ d: '4611686018439397540'; t: 1653992578435; p: '31603.5'; q: '0.1000'; s: 'BUY'; i: 'BTCUSD-PERP' }]
261+
data: [{ d: '4611686018439397540'; t: 1653992578435; p: '31603.5'; q: '0.1000'; s: 'BUY'; i: 'BTCUSD-PERP', [key: string]: any }]
260262
}
261263
}
262264

265+
// for exchangeSpecific property
266+
const CryptoComTradeMessageExcluded = [
267+
"p",
268+
"q",
269+
"s",
270+
"d",
271+
"t",
272+
"i"
273+
] as const;
274+
275+
263276
type CryptoComBookMessage =
264277
| {
265278
code: 0

‎src/mappers/okex.ts

+15-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ export class OkexV5TradesMapper implements Mapper<OKEX_EXCHANGES, Trade> {
4646
amount: Number(okexTrade.sz),
4747
side: okexTrade.side === 'buy' ? 'buy' : 'sell',
4848
timestamp: new Date(Number(okexTrade.ts)),
49-
localTimestamp: localTimestamp
49+
localTimestamp: localTimestamp,
50+
exchangeSpecific: pruneObject(okexTrade, OkexV5TradeMessageExcluded)
5051
}
5152
}
5253
}
@@ -595,14 +596,25 @@ export class OkexV5OptionSummaryMapper implements Mapper<'okex-options', OptionS
595596

596597
type OkexV5TradeMessage = {
597598
arg: { channel: 'trades'; instId: 'CRV-USDT' }
598-
data: [{ instId: 'CRV-USDT'; tradeId: '21300150'; px: '3.973'; sz: '13.491146'; side: 'buy'; ts: '1639999319938' }]
599+
data: [{ instId: 'CRV-USDT'; tradeId: '21300150'; px: '3.973'; sz: '13.491146'; side: 'buy'; ts: '1639999319938', [key: string]: any }]
599600
}
600601

601602
type OkexV5TradesAllMessage = {
602603
arg: { channel: 'trades-all'; instId: string }
603-
data: [{ instId: 'WAXP-USDT'; tradeId: '2251300'; px: '0.05566'; sz: '838.714488'; side: 'sell'; ts: '1697760000083' }]
604+
data: [{ instId: 'WAXP-USDT'; tradeId: '2251300'; px: '0.05566'; sz: '838.714488'; side: 'sell'; ts: '1697760000083', [key: string]: any }]
604605
}
605606

607+
608+
// for exchangeSpecific property
609+
const OkexV5TradeMessageExcluded = [
610+
"instId",
611+
"tradeId",
612+
"px",
613+
"sz",
614+
"side",
615+
"ts"
616+
] as const;
617+
606618
type OkexV5BookLevel = [string, string, string, string]
607619

608620
type OkexV5BookMessage =

0 commit comments

Comments
 (0)
Please sign in to comment.