Skip to content

Commit 7b3ae79

Browse files
committed
feat: add estimatedfunding support for crypto-com exchange
1 parent 5d276e8 commit 7b3ae79

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/consts.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ const HUOBI_DM_OPTIONS_CHANNELS = ['trade', 'detail', 'depth', 'bbo', 'open_inte
434434

435435
const BYBIT_SPOT_CHANNELS = ['trade', 'bookTicker', 'depth', 'orderbook.1', 'orderbook.50', 'publicTrade', 'tickers', 'lt']
436436

437-
const CRYPTO_COM_CHANNELS = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding']
437+
const CRYPTO_COM_CHANNELS = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding', 'estimatedfunding']
438438

439439
const CRYPTO_COM_DERIVATIVES = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding']
440440

src/mappers/cryptocom.ts

+27-1
Original file line numberDiff line numberDiff line change
@@ -174,14 +174,23 @@ export class CryptoComDerivativeTickerMapper implements Mapper<'crypto-com-deriv
174174
{
175175
channel: 'funding',
176176
symbols
177+
} as const,
178+
{
179+
channel: 'estimatedfunding',
180+
symbols
177181
} as const
178182
]
179183

180184
return filters
181185
}
182186

183187
*map(
184-
message: CryptoComDerivativesTickerMessage | CryptoComIndexMessage | CryptoComMarkPriceMessage | CryptoComFundingMessage,
188+
message:
189+
| CryptoComDerivativesTickerMessage
190+
| CryptoComIndexMessage
191+
| CryptoComMarkPriceMessage
192+
| CryptoComFundingMessage
193+
| CryptoComEstFundingMessage,
185194
localTimestamp: Date
186195
): IterableIterator<DerivativeTicker> {
187196
if (message.result.channel === 'index') {
@@ -220,6 +229,11 @@ export class CryptoComDerivativeTickerMapper implements Mapper<'crypto-com-deriv
220229
pendingTickerInfo.updateFundingTimestamp(nextFundingTimestamp)
221230
}
222231
}
232+
if (message.result.channel === 'estimatedfunding') {
233+
if (message.result.data[0] && message.result.data[0].v !== null && message.result.data[0].v !== undefined) {
234+
pendingTickerInfo.updatePredictedFundingRate(Number(message.result.data[0].v))
235+
}
236+
}
223237

224238
pendingTickerInfo.updateTimestamp(new Date(message.result.data[0].t))
225239

@@ -406,3 +420,15 @@ type CryptoComFundingMessage = {
406420
data: [{ v: '0.00000700'; t: 1653992579000 }]
407421
}
408422
}
423+
424+
type CryptoComEstFundingMessage = {
425+
id: 1
426+
method: 'subscribe'
427+
code: 0
428+
result: {
429+
instrument_name: 'AAVEUSD-PERP'
430+
subscription: 'estimatedfunding.AAVEUSD-PERP'
431+
channel: 'estimatedfunding'
432+
data: [{ v: '0.000039493'; t: 1727308799000 }]
433+
}
434+
}

0 commit comments

Comments
 (0)