@yuants/vendor-coinex 0.2.55 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { defer, from, map, mergeMap, repeat, retry, shareReplay, toArray } from 'rxjs';
2
2
  import { client } from './api';
3
- import './interest_rate';
4
3
  const mapSymbolToFundingRate$ = defer(() => client.getFuturesFundingRate()).pipe(
5
4
  //
6
5
  map((v) => v.data), repeat({ delay: 1000 }), retry({ delay: 30000 }), mergeMap((x) => from(x).pipe(map((v) => [v.market, v]), toArray(), map((v) => new Map(v)))), shareReplay(1));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AAEzB,MAAM,uBAAuB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI;AAC9E,EAAE;AACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI;AACpE,EAAE;AACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,qDAAqD;AACrD,uDAAuD;AACvD,wCAAwC;AACxC,kGAAkG;AAClG,SAAS;AACT,uFAAuF;AACvF,sDAAsD;AACtD,sDAAsD;AACtD,gEAAgE;AAChE,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,4BAA4B;AAC5B,8DAA8D;AAC9D,UAAU;AACV,iBAAiB;AACjB,sBAAsB;AACtB,mCAAmC;AACnC,kCAAkC;AAClC,+BAA+B;AAC/B,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,uDAAuD;AACvD,WAAW;AACX,UAAU;AACV,OAAO;AACP,MAAM","sourcesContent":["import { defer, from, map, mergeMap, repeat, retry, shareReplay, toArray } from 'rxjs';\nimport { client } from './api';\nimport './interest_rate';\n\nconst mapSymbolToFundingRate$ = defer(() => client.getFuturesFundingRate()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\nconst mapSymbolToTicker$ = defer(() => client.getFuturesTicker()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\n// provideTicks(terminal, 'COINEX', (product_id) => {\n// const [instType, instId] = decodePath(product_id);\n// if (instType !== 'SWAP') return [];\n// return combineLatest([mapSymbolToTicker$, mapSymbolToMarket$, mapSymbolToFundingRate$]).pipe(\n// //\n// map(([mapSymbolToTicker, mapSymbolToMarket, mapSymbolToFundingRate]): ITick => {\n// const ticker = mapSymbolToTicker.get(instId);\n// const market = mapSymbolToMarket.get(instId);\n// const fundingRate = mapSymbolToFundingRate.get(instId);\n// if (!ticker) {\n// throw new Error(`ticker ${instId} not found`);\n// }\n// if (!market) {\n// throw new Error(`market ${instId} not found`);\n// }\n// if (!fundingRate) {\n// throw new Error(`fundingRate ${instId} not found`);\n// }\n// return {\n// product_id,\n// datasource_id: 'COINEX',\n// updated_at: Date.now(),\n// price: +ticker.last,\n// interest_rate_for_long: -+fundingRate.latest_funding_rate,\n// interest_rate_for_short: +fundingRate.latest_funding_rate,\n// settlement_scheduled_at: +fundingRate.next_funding_time,\n// open_interest: +market.open_interest_volume,\n// };\n// }),\n// );\n// });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,uBAAuB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI;AAC9E,EAAE;AACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI;AACpE,EAAE;AACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,KAAK,CAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,qDAAqD;AACrD,uDAAuD;AACvD,wCAAwC;AACxC,kGAAkG;AAClG,SAAS;AACT,uFAAuF;AACvF,sDAAsD;AACtD,sDAAsD;AACtD,gEAAgE;AAChE,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,4BAA4B;AAC5B,8DAA8D;AAC9D,UAAU;AACV,iBAAiB;AACjB,sBAAsB;AACtB,mCAAmC;AACnC,kCAAkC;AAClC,+BAA+B;AAC/B,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,uDAAuD;AACvD,WAAW;AACX,UAAU;AACV,OAAO;AACP,MAAM","sourcesContent":["import { defer, from, map, mergeMap, repeat, retry, shareReplay, toArray } from 'rxjs';\nimport { client } from './api';\n\nconst mapSymbolToFundingRate$ = defer(() => client.getFuturesFundingRate()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\nconst mapSymbolToTicker$ = defer(() => client.getFuturesTicker()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\n// provideTicks(terminal, 'COINEX', (product_id) => {\n// const [instType, instId] = decodePath(product_id);\n// if (instType !== 'SWAP') return [];\n// return combineLatest([mapSymbolToTicker$, mapSymbolToMarket$, mapSymbolToFundingRate$]).pipe(\n// //\n// map(([mapSymbolToTicker, mapSymbolToMarket, mapSymbolToFundingRate]): ITick => {\n// const ticker = mapSymbolToTicker.get(instId);\n// const market = mapSymbolToMarket.get(instId);\n// const fundingRate = mapSymbolToFundingRate.get(instId);\n// if (!ticker) {\n// throw new Error(`ticker ${instId} not found`);\n// }\n// if (!market) {\n// throw new Error(`market ${instId} not found`);\n// }\n// if (!fundingRate) {\n// throw new Error(`fundingRate ${instId} not found`);\n// }\n// return {\n// product_id,\n// datasource_id: 'COINEX',\n// updated_at: Date.now(),\n// price: +ticker.last,\n// interest_rate_for_long: -+fundingRate.latest_funding_rate,\n// interest_rate_for_short: +fundingRate.latest_funding_rate,\n// settlement_scheduled_at: +fundingRate.next_funding_time,\n// open_interest: +market.open_interest_volume,\n// };\n// }),\n// );\n// });\n"]}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import './interest_rate';
1
+ export {};
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/lib/index.js CHANGED
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const rxjs_1 = require("rxjs");
4
4
  const api_1 = require("./api");
5
- require("./interest_rate");
6
5
  const mapSymbolToFundingRate$ = (0, rxjs_1.defer)(() => api_1.client.getFuturesFundingRate()).pipe(
7
6
  //
8
7
  (0, rxjs_1.map)((v) => v.data), (0, rxjs_1.repeat)({ delay: 1000 }), (0, rxjs_1.retry)({ delay: 30000 }), (0, rxjs_1.mergeMap)((x) => (0, rxjs_1.from)(x).pipe((0, rxjs_1.map)((v) => [v.market, v]), (0, rxjs_1.toArray)(), (0, rxjs_1.map)((v) => new Map(v)))), (0, rxjs_1.shareReplay)(1));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+BAAuF;AACvF,+BAA+B;AAC/B,2BAAyB;AAEzB,MAAM,uBAAuB,GAAG,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,YAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI;AAC9E,EAAE;AACF,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,IAAA,aAAM,EAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,IAAA,YAAK,EAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACV,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,IAAA,cAAO,GAAE,EACT,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,YAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI;AACpE,EAAE;AACF,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,IAAA,aAAM,EAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,IAAA,YAAK,EAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACV,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,IAAA,cAAO,GAAE,EACT,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AAEF,qDAAqD;AACrD,uDAAuD;AACvD,wCAAwC;AACxC,kGAAkG;AAClG,SAAS;AACT,uFAAuF;AACvF,sDAAsD;AACtD,sDAAsD;AACtD,gEAAgE;AAChE,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,4BAA4B;AAC5B,8DAA8D;AAC9D,UAAU;AACV,iBAAiB;AACjB,sBAAsB;AACtB,mCAAmC;AACnC,kCAAkC;AAClC,+BAA+B;AAC/B,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,uDAAuD;AACvD,WAAW;AACX,UAAU;AACV,OAAO;AACP,MAAM","sourcesContent":["import { defer, from, map, mergeMap, repeat, retry, shareReplay, toArray } from 'rxjs';\nimport { client } from './api';\nimport './interest_rate';\n\nconst mapSymbolToFundingRate$ = defer(() => client.getFuturesFundingRate()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\nconst mapSymbolToTicker$ = defer(() => client.getFuturesTicker()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\n// provideTicks(terminal, 'COINEX', (product_id) => {\n// const [instType, instId] = decodePath(product_id);\n// if (instType !== 'SWAP') return [];\n// return combineLatest([mapSymbolToTicker$, mapSymbolToMarket$, mapSymbolToFundingRate$]).pipe(\n// //\n// map(([mapSymbolToTicker, mapSymbolToMarket, mapSymbolToFundingRate]): ITick => {\n// const ticker = mapSymbolToTicker.get(instId);\n// const market = mapSymbolToMarket.get(instId);\n// const fundingRate = mapSymbolToFundingRate.get(instId);\n// if (!ticker) {\n// throw new Error(`ticker ${instId} not found`);\n// }\n// if (!market) {\n// throw new Error(`market ${instId} not found`);\n// }\n// if (!fundingRate) {\n// throw new Error(`fundingRate ${instId} not found`);\n// }\n// return {\n// product_id,\n// datasource_id: 'COINEX',\n// updated_at: Date.now(),\n// price: +ticker.last,\n// interest_rate_for_long: -+fundingRate.latest_funding_rate,\n// interest_rate_for_short: +fundingRate.latest_funding_rate,\n// settlement_scheduled_at: +fundingRate.next_funding_time,\n// open_interest: +market.open_interest_volume,\n// };\n// }),\n// );\n// });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+BAAuF;AACvF,+BAA+B;AAE/B,MAAM,uBAAuB,GAAG,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,YAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI;AAC9E,EAAE;AACF,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,IAAA,aAAM,EAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,IAAA,YAAK,EAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACV,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,IAAA,cAAO,GAAE,EACT,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,YAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI;AACpE,EAAE;AACF,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClB,IAAA,aAAM,EAAC,EAAE,KAAK,EAAE,IAAK,EAAE,CAAC,EACxB,IAAA,YAAK,EAAC,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC,EACxB,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACV,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAU,CAAC,EAClC,IAAA,cAAO,GAAE,EACT,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,CACF,EACD,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AAEF,qDAAqD;AACrD,uDAAuD;AACvD,wCAAwC;AACxC,kGAAkG;AAClG,SAAS;AACT,uFAAuF;AACvF,sDAAsD;AACtD,sDAAsD;AACtD,gEAAgE;AAChE,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,uBAAuB;AACvB,yDAAyD;AACzD,UAAU;AACV,4BAA4B;AAC5B,8DAA8D;AAC9D,UAAU;AACV,iBAAiB;AACjB,sBAAsB;AACtB,mCAAmC;AACnC,kCAAkC;AAClC,+BAA+B;AAC/B,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,uDAAuD;AACvD,WAAW;AACX,UAAU;AACV,OAAO;AACP,MAAM","sourcesContent":["import { defer, from, map, mergeMap, repeat, retry, shareReplay, toArray } from 'rxjs';\nimport { client } from './api';\n\nconst mapSymbolToFundingRate$ = defer(() => client.getFuturesFundingRate()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\nconst mapSymbolToTicker$ = defer(() => client.getFuturesTicker()).pipe(\n //\n map((v) => v.data),\n repeat({ delay: 1_000 }),\n retry({ delay: 30_000 }),\n mergeMap((x) =>\n from(x).pipe(\n map((v) => [v.market, v] as const),\n toArray(),\n map((v) => new Map(v)),\n ),\n ),\n shareReplay(1),\n);\n\n// provideTicks(terminal, 'COINEX', (product_id) => {\n// const [instType, instId] = decodePath(product_id);\n// if (instType !== 'SWAP') return [];\n// return combineLatest([mapSymbolToTicker$, mapSymbolToMarket$, mapSymbolToFundingRate$]).pipe(\n// //\n// map(([mapSymbolToTicker, mapSymbolToMarket, mapSymbolToFundingRate]): ITick => {\n// const ticker = mapSymbolToTicker.get(instId);\n// const market = mapSymbolToMarket.get(instId);\n// const fundingRate = mapSymbolToFundingRate.get(instId);\n// if (!ticker) {\n// throw new Error(`ticker ${instId} not found`);\n// }\n// if (!market) {\n// throw new Error(`market ${instId} not found`);\n// }\n// if (!fundingRate) {\n// throw new Error(`fundingRate ${instId} not found`);\n// }\n// return {\n// product_id,\n// datasource_id: 'COINEX',\n// updated_at: Date.now(),\n// price: +ticker.last,\n// interest_rate_for_long: -+fundingRate.latest_funding_rate,\n// interest_rate_for_short: +fundingRate.latest_funding_rate,\n// settlement_scheduled_at: +fundingRate.next_funding_time,\n// open_interest: +market.open_interest_volume,\n// };\n// }),\n// );\n// });\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuants/vendor-coinex",
3
- "version": "0.2.55",
3
+ "version": "0.3.1",
4
4
  "main": "lib/index.js",
5
5
  "module": "dist/index.js",
6
6
  "files": [
@@ -12,10 +12,10 @@
12
12
  "rxjs": "~7.5.6",
13
13
  "@yuants/protocol": "0.54.1",
14
14
  "@yuants/transfer": "0.2.48",
15
- "@yuants/utils": "0.19.4",
16
15
  "@yuants/sql": "0.9.39",
17
16
  "@yuants/data-series": "0.3.61",
18
- "@yuants/data-interest-rate": "0.2.8",
17
+ "@yuants/utils": "0.19.4",
18
+ "@yuants/data-interest-rate": "0.2.9",
19
19
  "@yuants/data-product": "0.5.9"
20
20
  },
21
21
  "devDependencies": {
@@ -27,8 +27,8 @@
27
27
  "@types/node": "24",
28
28
  "typescript": "~5.9.3",
29
29
  "ts-node": "~10.9.2",
30
- "@yuants/tool-kit": "0.2.2",
31
- "@yuants/extension": "0.2.40"
30
+ "@yuants/extension": "0.2.40",
31
+ "@yuants/tool-kit": "0.2.2"
32
32
  },
33
33
  "publishConfig": {
34
34
  "registry": "https://registry.npmjs.org",