@yuants/vendor-binance 0.10.2 → 0.10.4

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.
@@ -24,9 +24,8 @@ createSeriesProvider(terminal, {
24
24
  serviceOptions: { concurrent: 1 },
25
25
  queryFn: function ({ series_id, started_at, ended_at }) {
26
26
  return __asyncGenerator(this, arguments, function* () {
27
- const [datasource_id, product_id] = decodePath(series_id);
28
27
  let current_start = started_at;
29
- const [, instType, symbol] = decodePath(product_id);
28
+ const [, instType, symbol] = decodePath(series_id);
30
29
  if (instType === 'USDT-FUTURE') {
31
30
  while (true) {
32
31
  // 向前翻页,时间降序
@@ -39,8 +38,8 @@ createSeriesProvider(terminal, {
39
38
  yield yield __await(res.map((v) => ({
40
39
  series_id,
41
40
  created_at: formatTime(v.fundingTime),
42
- datasource_id,
43
- product_id,
41
+ datasource_id: 'BINANCE',
42
+ product_id: series_id,
44
43
  long_rate: `${-v.fundingRate}`,
45
44
  short_rate: `${v.fundingRate}`,
46
45
  settlement_price: '',
@@ -64,8 +63,8 @@ createSeriesProvider(terminal, {
64
63
  yield yield __await(res.map((v) => ({
65
64
  series_id,
66
65
  created_at: formatTime(v.timestamp),
67
- datasource_id,
68
- product_id,
66
+ datasource_id: 'BINANCE',
67
+ product_id: series_id,
69
68
  long_rate: v.dailyInterestRate,
70
69
  short_rate: '0',
71
70
  settlement_price: '',
@@ -1 +1 @@
1
- {"version":3,"file":"interest_rate.js","sourceRoot":"","sources":["../../src/public-data/interest_rate.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AAExC,oBAAoB,CAAgB,QAAQ,EAAE;IAC5C,SAAS,EAAE,eAAe;IAC1B,sBAAsB,EAAE,CAAC,SAAS,CAAC;IACnC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IACjC,OAAO,EAAE,UAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;;YAC3D,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,aAAa,GAAG,UAAU,CAAC;YAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,aAAa,EAAE;gBAC9B,OAAO,IAAI,EAAE;oBACX,YAAY;oBACZ,MAAM,GAAG,GAAG,cAAM,oBAAoB,CAAC;wBACrC,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC;wBACrB,SAAS;wBACT,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;wBACrC,aAAa;wBACb,UAAU;wBACV,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC9B,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;wBAC9B,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE;wBACrB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;oBACjD,cAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;gBACD,6BAAO;aACR;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,OAAO,IAAI,EAAE;oBACX,MAAM,GAAG,GAAG,cAAM,4BAA4B,CAAC;wBAC7C,KAAK,EAAE,MAAM;wBACb,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAKA,EAAiB,EAAE,CAAC,CAAC;wBACpB,SAAS;wBACT,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnC,aAAa;wBACb,UAAU;wBACV,SAAS,EAAE,CAAC,CAAC,iBAAiB;wBAC9B,UAAU,EAAE,GAAG;wBACf,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;wBACpB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/C,cAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;aACF;YACD,6BAAO;QACT,CAAC;KAAA;CACF,CAAC,CAAC","sourcesContent":["import { IInterestRate } from '@yuants/data-interest-rate';\nimport { createSeriesProvider } from '@yuants/data-series';\nimport { Terminal } from '@yuants/protocol';\nimport { decodePath, formatTime } from '@yuants/utils';\nimport { firstValueFrom, timer } from 'rxjs';\nimport { getFutureFundingRate } from '../api/public-api';\nimport { getMarginInterestRateHistory } from '../api/private-api';\n\nconst terminal = Terminal.fromNodeEnv();\n\ncreateSeriesProvider<IInterestRate>(terminal, {\n tableName: 'interest_rate',\n series_id_prefix_parts: ['BINANCE'],\n reversed: true,\n serviceOptions: { concurrent: 1 },\n queryFn: async function* ({ series_id, started_at, ended_at }) {\n const [datasource_id, product_id] = decodePath(series_id);\n let current_start = started_at;\n const [, instType, symbol] = decodePath(product_id);\n if (instType === 'USDT-FUTURE') {\n while (true) {\n // 向前翻页,时间降序\n const res = await getFutureFundingRate({\n symbol: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 1000,\n });\n yield res.map(\n (v): IInterestRate => ({\n series_id,\n created_at: formatTime(v.fundingTime),\n datasource_id,\n product_id,\n long_rate: `${-v.fundingRate}`,\n short_rate: `${v.fundingRate}`,\n settlement_price: '',\n }),\n );\n if (res.length < 1000) {\n break;\n }\n current_start = +res[res.length - 1].fundingTime;\n await firstValueFrom(timer(1000));\n }\n return;\n }\n if (instType === 'MARGIN') {\n while (true) {\n const res = await getMarginInterestRateHistory({\n asset: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 100,\n });\n yield res.map(\n (v: {\n asset: string;\n dailyInterestRate: string;\n timestamp: number;\n vipLevel: number;\n }): IInterestRate => ({\n series_id,\n created_at: formatTime(v.timestamp),\n datasource_id,\n product_id,\n long_rate: v.dailyInterestRate,\n short_rate: '0',\n settlement_price: '',\n }),\n );\n if (res.length < 100) {\n break;\n }\n current_start = +res[res.length - 1].timestamp;\n await firstValueFrom(timer(1000));\n }\n }\n return;\n },\n});\n"]}
1
+ {"version":3,"file":"interest_rate.js","sourceRoot":"","sources":["../../src/public-data/interest_rate.ts"],"names":[],"mappings":"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","sourcesContent":["import { IInterestRate } from '@yuants/data-interest-rate';\nimport { createSeriesProvider } from '@yuants/data-series';\nimport { Terminal } from '@yuants/protocol';\nimport { decodePath, formatTime } from '@yuants/utils';\nimport { firstValueFrom, timer } from 'rxjs';\nimport { getFutureFundingRate } from '../api/public-api';\nimport { getMarginInterestRateHistory } from '../api/private-api';\n\nconst terminal = Terminal.fromNodeEnv();\n\ncreateSeriesProvider<IInterestRate>(terminal, {\n tableName: 'interest_rate',\n series_id_prefix_parts: ['BINANCE'],\n reversed: true,\n serviceOptions: { concurrent: 1 },\n queryFn: async function* ({ series_id, started_at, ended_at }) {\n let current_start = started_at;\n const [, instType, symbol] = decodePath(series_id);\n if (instType === 'USDT-FUTURE') {\n while (true) {\n // 向前翻页,时间降序\n const res = await getFutureFundingRate({\n symbol: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 1000,\n });\n yield res.map(\n (v): IInterestRate => ({\n series_id,\n created_at: formatTime(v.fundingTime),\n datasource_id: 'BINANCE',\n product_id: series_id,\n long_rate: `${-v.fundingRate}`,\n short_rate: `${v.fundingRate}`,\n settlement_price: '',\n }),\n );\n if (res.length < 1000) {\n break;\n }\n current_start = +res[res.length - 1].fundingTime;\n await firstValueFrom(timer(1000));\n }\n return;\n }\n if (instType === 'MARGIN') {\n while (true) {\n const res = await getMarginInterestRateHistory({\n asset: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 100,\n });\n yield res.map(\n (v: {\n asset: string;\n dailyInterestRate: string;\n timestamp: number;\n vipLevel: number;\n }): IInterestRate => ({\n series_id,\n created_at: formatTime(v.timestamp),\n datasource_id: 'BINANCE',\n product_id: series_id,\n long_rate: v.dailyInterestRate,\n short_rate: '0',\n settlement_price: '',\n }),\n );\n if (res.length < 100) {\n break;\n }\n current_start = +res[res.length - 1].timestamp;\n await firstValueFrom(timer(1000));\n }\n }\n return;\n },\n});\n"]}
@@ -26,9 +26,8 @@ const terminal = protocol_1.Terminal.fromNodeEnv();
26
26
  serviceOptions: { concurrent: 1 },
27
27
  queryFn: function ({ series_id, started_at, ended_at }) {
28
28
  return __asyncGenerator(this, arguments, function* () {
29
- const [datasource_id, product_id] = (0, utils_1.decodePath)(series_id);
30
29
  let current_start = started_at;
31
- const [, instType, symbol] = (0, utils_1.decodePath)(product_id);
30
+ const [, instType, symbol] = (0, utils_1.decodePath)(series_id);
32
31
  if (instType === 'USDT-FUTURE') {
33
32
  while (true) {
34
33
  // 向前翻页,时间降序
@@ -41,8 +40,8 @@ const terminal = protocol_1.Terminal.fromNodeEnv();
41
40
  yield yield __await(res.map((v) => ({
42
41
  series_id,
43
42
  created_at: (0, utils_1.formatTime)(v.fundingTime),
44
- datasource_id,
45
- product_id,
43
+ datasource_id: 'BINANCE',
44
+ product_id: series_id,
46
45
  long_rate: `${-v.fundingRate}`,
47
46
  short_rate: `${v.fundingRate}`,
48
47
  settlement_price: '',
@@ -66,8 +65,8 @@ const terminal = protocol_1.Terminal.fromNodeEnv();
66
65
  yield yield __await(res.map((v) => ({
67
66
  series_id,
68
67
  created_at: (0, utils_1.formatTime)(v.timestamp),
69
- datasource_id,
70
- product_id,
68
+ datasource_id: 'BINANCE',
69
+ product_id: series_id,
71
70
  long_rate: v.dailyInterestRate,
72
71
  short_rate: '0',
73
72
  settlement_price: '',
@@ -1 +1 @@
1
- {"version":3,"file":"interest_rate.js","sourceRoot":"","sources":["../../src/public-data/interest_rate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,qDAA2D;AAC3D,+CAA4C;AAC5C,yCAAuD;AACvD,+BAA6C;AAC7C,kDAAyD;AACzD,oDAAkE;AAElE,MAAM,QAAQ,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC;AAExC,IAAA,kCAAoB,EAAgB,QAAQ,EAAE;IAC5C,SAAS,EAAE,eAAe;IAC1B,sBAAsB,EAAE,CAAC,SAAS,CAAC;IACnC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IACjC,OAAO,EAAE,UAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;;YAC3D,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,aAAa,GAAG,UAAU,CAAC;YAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,aAAa,EAAE;gBAC9B,OAAO,IAAI,EAAE;oBACX,YAAY;oBACZ,MAAM,GAAG,GAAG,cAAM,IAAA,iCAAoB,EAAC;wBACrC,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC;wBACrB,SAAS;wBACT,UAAU,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,WAAW,CAAC;wBACrC,aAAa;wBACb,UAAU;wBACV,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC9B,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;wBAC9B,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE;wBACrB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;oBACjD,cAAM,IAAA,qBAAc,EAAC,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;gBACD,6BAAO;aACR;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,OAAO,IAAI,EAAE;oBACX,MAAM,GAAG,GAAG,cAAM,IAAA,0CAA4B,EAAC;wBAC7C,KAAK,EAAE,MAAM;wBACb,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAKA,EAAiB,EAAE,CAAC,CAAC;wBACpB,SAAS;wBACT,UAAU,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,SAAS,CAAC;wBACnC,aAAa;wBACb,UAAU;wBACV,SAAS,EAAE,CAAC,CAAC,iBAAiB;wBAC9B,UAAU,EAAE,GAAG;wBACf,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;wBACpB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/C,cAAM,IAAA,qBAAc,EAAC,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;aACF;YACD,6BAAO;QACT,CAAC;KAAA;CACF,CAAC,CAAC","sourcesContent":["import { IInterestRate } from '@yuants/data-interest-rate';\nimport { createSeriesProvider } from '@yuants/data-series';\nimport { Terminal } from '@yuants/protocol';\nimport { decodePath, formatTime } from '@yuants/utils';\nimport { firstValueFrom, timer } from 'rxjs';\nimport { getFutureFundingRate } from '../api/public-api';\nimport { getMarginInterestRateHistory } from '../api/private-api';\n\nconst terminal = Terminal.fromNodeEnv();\n\ncreateSeriesProvider<IInterestRate>(terminal, {\n tableName: 'interest_rate',\n series_id_prefix_parts: ['BINANCE'],\n reversed: true,\n serviceOptions: { concurrent: 1 },\n queryFn: async function* ({ series_id, started_at, ended_at }) {\n const [datasource_id, product_id] = decodePath(series_id);\n let current_start = started_at;\n const [, instType, symbol] = decodePath(product_id);\n if (instType === 'USDT-FUTURE') {\n while (true) {\n // 向前翻页,时间降序\n const res = await getFutureFundingRate({\n symbol: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 1000,\n });\n yield res.map(\n (v): IInterestRate => ({\n series_id,\n created_at: formatTime(v.fundingTime),\n datasource_id,\n product_id,\n long_rate: `${-v.fundingRate}`,\n short_rate: `${v.fundingRate}`,\n settlement_price: '',\n }),\n );\n if (res.length < 1000) {\n break;\n }\n current_start = +res[res.length - 1].fundingTime;\n await firstValueFrom(timer(1000));\n }\n return;\n }\n if (instType === 'MARGIN') {\n while (true) {\n const res = await getMarginInterestRateHistory({\n asset: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 100,\n });\n yield res.map(\n (v: {\n asset: string;\n dailyInterestRate: string;\n timestamp: number;\n vipLevel: number;\n }): IInterestRate => ({\n series_id,\n created_at: formatTime(v.timestamp),\n datasource_id,\n product_id,\n long_rate: v.dailyInterestRate,\n short_rate: '0',\n settlement_price: '',\n }),\n );\n if (res.length < 100) {\n break;\n }\n current_start = +res[res.length - 1].timestamp;\n await firstValueFrom(timer(1000));\n }\n }\n return;\n },\n});\n"]}
1
+ {"version":3,"file":"interest_rate.js","sourceRoot":"","sources":["../../src/public-data/interest_rate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,qDAA2D;AAC3D,+CAA4C;AAC5C,yCAAuD;AACvD,+BAA6C;AAC7C,kDAAyD;AACzD,oDAAkE;AAElE,MAAM,QAAQ,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC;AAExC,IAAA,kCAAoB,EAAgB,QAAQ,EAAE;IAC5C,SAAS,EAAE,eAAe;IAC1B,sBAAsB,EAAE,CAAC,SAAS,CAAC;IACnC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;IACjC,OAAO,EAAE,UAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;;YAC3D,IAAI,aAAa,GAAG,UAAU,CAAC;YAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,aAAa,EAAE;gBAC9B,OAAO,IAAI,EAAE;oBACX,YAAY;oBACZ,MAAM,GAAG,GAAG,cAAM,IAAA,iCAAoB,EAAC;wBACrC,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC;wBACrB,SAAS;wBACT,UAAU,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,WAAW,CAAC;wBACrC,aAAa,EAAE,SAAS;wBACxB,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC9B,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;wBAC9B,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE;wBACrB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;oBACjD,cAAM,IAAA,qBAAc,EAAC,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;gBACD,6BAAO;aACR;YACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,OAAO,IAAI,EAAE;oBACX,MAAM,GAAG,GAAG,cAAM,IAAA,0CAA4B,EAAC;wBAC7C,KAAK,EAAE,MAAM;wBACb,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA,CAAC;oBACH,oBAAM,GAAG,CAAC,GAAG,CACX,CAAC,CAKA,EAAiB,EAAE,CAAC,CAAC;wBACpB,SAAS;wBACT,UAAU,EAAE,IAAA,kBAAU,EAAC,CAAC,CAAC,SAAS,CAAC;wBACnC,aAAa,EAAE,SAAS;wBACxB,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,CAAC,CAAC,iBAAiB;wBAC9B,UAAU,EAAE,GAAG;wBACf,gBAAgB,EAAE,EAAE;qBACrB,CAAC,CACH,CAAA,CAAC;oBACF,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;wBACpB,MAAM;qBACP;oBACD,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/C,cAAM,IAAA,qBAAc,EAAC,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAA,CAAC;iBACnC;aACF;YACD,6BAAO;QACT,CAAC;KAAA;CACF,CAAC,CAAC","sourcesContent":["import { IInterestRate } from '@yuants/data-interest-rate';\nimport { createSeriesProvider } from '@yuants/data-series';\nimport { Terminal } from '@yuants/protocol';\nimport { decodePath, formatTime } from '@yuants/utils';\nimport { firstValueFrom, timer } from 'rxjs';\nimport { getFutureFundingRate } from '../api/public-api';\nimport { getMarginInterestRateHistory } from '../api/private-api';\n\nconst terminal = Terminal.fromNodeEnv();\n\ncreateSeriesProvider<IInterestRate>(terminal, {\n tableName: 'interest_rate',\n series_id_prefix_parts: ['BINANCE'],\n reversed: true,\n serviceOptions: { concurrent: 1 },\n queryFn: async function* ({ series_id, started_at, ended_at }) {\n let current_start = started_at;\n const [, instType, symbol] = decodePath(series_id);\n if (instType === 'USDT-FUTURE') {\n while (true) {\n // 向前翻页,时间降序\n const res = await getFutureFundingRate({\n symbol: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 1000,\n });\n yield res.map(\n (v): IInterestRate => ({\n series_id,\n created_at: formatTime(v.fundingTime),\n datasource_id: 'BINANCE',\n product_id: series_id,\n long_rate: `${-v.fundingRate}`,\n short_rate: `${v.fundingRate}`,\n settlement_price: '',\n }),\n );\n if (res.length < 1000) {\n break;\n }\n current_start = +res[res.length - 1].fundingTime;\n await firstValueFrom(timer(1000));\n }\n return;\n }\n if (instType === 'MARGIN') {\n while (true) {\n const res = await getMarginInterestRateHistory({\n asset: symbol,\n startTime: current_start,\n endTime: ended_at,\n limit: 100,\n });\n yield res.map(\n (v: {\n asset: string;\n dailyInterestRate: string;\n timestamp: number;\n vipLevel: number;\n }): IInterestRate => ({\n series_id,\n created_at: formatTime(v.timestamp),\n datasource_id: 'BINANCE',\n product_id: series_id,\n long_rate: v.dailyInterestRate,\n short_rate: '0',\n settlement_price: '',\n }),\n );\n if (res.length < 100) {\n break;\n }\n current_start = +res[res.length - 1].timestamp;\n await firstValueFrom(timer(1000));\n }\n }\n return;\n },\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuants/vendor-binance",
3
- "version": "0.10.2",
3
+ "version": "0.10.4",
4
4
  "main": "lib/index.js",
5
5
  "files": [
6
6
  "dist",
@@ -20,7 +20,7 @@
20
20
  "@yuants/data-order": "0.6.6",
21
21
  "@yuants/data-interest-rate": "0.1.48",
22
22
  "@yuants/transfer": "0.2.39",
23
- "@yuants/exchange": "0.1.2",
23
+ "@yuants/exchange": "0.2.0",
24
24
  "rxjs": "~7.5.6"
25
25
  },
26
26
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "apps/vendor-binance/AGENTS.md": "378369925bffa237cd5e8ef459fe2bc2a141337c",
3
- "apps/vendor-binance/CHANGELOG.json": "210424b0c49dec158a6cba508656a49e2d49979f",
4
- "apps/vendor-binance/CHANGELOG.md": "c05587ab8f52a2056a6fa2cff020a05a0a401c26",
3
+ "apps/vendor-binance/CHANGELOG.json": "3dd7d3e1517b39d1e58e0c35b288f4014d78df52",
4
+ "apps/vendor-binance/CHANGELOG.md": "c8deac06d7f5f3f6bb2ab7b47bd9528b7f83a487",
5
5
  "apps/vendor-binance/README.md": "4ab94c08b3d07398aee74c3264a4f87d554d20fa",
6
6
  "apps/vendor-binance/SESSION_NOTES.md": "323540130bec032bd3e4231c7bbcfc0013a17631",
7
7
  "apps/vendor-binance/api-extractor.json": "62f4fd324425b9a235f0c117975967aab09ced0c",
@@ -9,13 +9,13 @@
9
9
  "apps/vendor-binance/config/rig.json": "f6c7b5537dc77a3170ba9f008bae3b6c3ee11956",
10
10
  "apps/vendor-binance/config/typescript.json": "854907e8a821f2050f6533368db160c649c25348",
11
11
  "apps/vendor-binance/etc/vendor-binance.api.md": "2094b84e9b5e7503f5c42b31fffee8d7db47fe7b",
12
- "apps/vendor-binance/package.json": "01208f27e12907766c4a44028307ae8a81feee62",
12
+ "apps/vendor-binance/package.json": "d2eb73dc0256e6cae36934d386b97adfd1efa752",
13
13
  "apps/vendor-binance/src/api/client.ts": "4d853dcbc46f08054dfbf6b985f776a3231a8138",
14
14
  "apps/vendor-binance/src/api/private-api.ts": "e7643bd482e4d8f4eefe39aee578e5ea52094b2b",
15
15
  "apps/vendor-binance/src/api/public-api.ts": "7ff3b6551cdf1766b4a31cdf76002ce1db11f109",
16
16
  "apps/vendor-binance/src/index.ts": "285cc4bded3608d415aaa00b9df180fbbdcebac0",
17
17
  "apps/vendor-binance/src/legacy_index.ts": "a2b44c041aa7ef1f4b77249e11f84d97cde5525f",
18
- "apps/vendor-binance/src/public-data/interest_rate.ts": "a95d6d8784a9d5b0a82105247a36ae793df82ae0",
18
+ "apps/vendor-binance/src/public-data/interest_rate.ts": "ab9b57f1af6478c61d34db8b51f4fcabac971fd4",
19
19
  "apps/vendor-binance/src/public-data/ohlc.ts": "bb4f791f96064eca7d45d361ea36cb8ba0ab8fe0",
20
20
  "apps/vendor-binance/src/public-data/product.ts": "a25f998f917cc94c029984c4f9f38fe56a9ef3e6",
21
21
  "apps/vendor-binance/src/public-data/quote.ts": "5a034f952736b50ce9d1939c588ba163ac975c38",
@@ -42,7 +42,7 @@
42
42
  "libraries/data-order/temp/package-deps.json": "2adac9fc0423f9b1b7ddaa8946ab7af374cc22e1",
43
43
  "libraries/data-interest-rate/temp/package-deps.json": "cef1e1cb0116ad593c24635684e0cbf03488d67c",
44
44
  "libraries/transfer/temp/package-deps.json": "36c58299bd6c841c5ba7252d71881a881570d08c",
45
- "libraries/exchange/temp/package-deps.json": "f9a2557b53874e78a809b82326b850d98b524a9b",
45
+ "libraries/exchange/temp/package-deps.json": "3cc8493e0f93738d571c8ea2c23fc54e8b1bc4f3",
46
46
  "libraries/extension/temp/package-deps.json": "9569c553c2f9a7d50b70d8f101fc2d3825aaccb9",
47
47
  "tools/toolkit/temp/package-deps.json": "23e053490eb8feade23e4d45de4e54883e322711"
48
48
  }