@yuants/vendor-okx 0.32.1 → 0.32.2
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 +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/trade-history-service.js +59 -0
- package/dist/services/trade-history-service.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/trade-history-service.d.ts +2 -0
- package/lib/services/trade-history-service.d.ts.map +1 -0
- package/lib/services/trade-history-service.js +61 -0
- package/lib/services/trade-history-service.js.map +1 -0
- package/package.json +9 -9
- package/temp/build/typescript/ts_xKrCYDcc.json +1 -1
- package/temp/package-deps.json +7 -6
- package/temp/test/jest/haste-map-0104fb5fee08bd97aacd02300cdbf195-f3ddf881f4f21e2e5ae6006d95adf2b1-267deb988b5111321a1cf92c4d020334 +0 -0
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,eAAe,CAAC;AACvB,OAAO,yBAAyB,CAAC;AACjC,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,YAAY,CAAC;AACpB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,yBAAyB,CAAC;AACjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC","sourcesContent":["import './account';\nimport './account-actions-with-credential';\nimport './api-service';\nimport './experimental/exchange';\nimport './order';\nimport './order-actions';\nimport './order-actions-with-credential';\nimport './public-data/market-order';\nimport './public-data/ohlc';\nimport './public-data/quote';\nimport './services';\nimport './strategy-account';\nimport './trade';\nimport './transfer';\nimport './public-data/new-quote';\nimport './services/quotes';\nimport './services/ohlc-service';\nimport './services/interest-rate-service';\nimport './services/interest-ledger-service';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,eAAe,CAAC;AACvB,OAAO,yBAAyB,CAAC;AACjC,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,YAAY,CAAC;AACpB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,yBAAyB,CAAC;AACjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC","sourcesContent":["import './account';\nimport './account-actions-with-credential';\nimport './api-service';\nimport './experimental/exchange';\nimport './order';\nimport './order-actions';\nimport './order-actions-with-credential';\nimport './public-data/market-order';\nimport './public-data/ohlc';\nimport './public-data/quote';\nimport './services';\nimport './strategy-account';\nimport './trade';\nimport './transfer';\nimport './public-data/new-quote';\nimport './services/quotes';\nimport './services/ohlc-service';\nimport './services/interest-rate-service';\nimport './services/interest-ledger-service';\nimport './services/trade-history-service';\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Terminal } from '@yuants/protocol';
|
|
2
|
+
import { encodePath, formatTime } from '@yuants/utils';
|
|
3
|
+
import { provideTradeHistoryService } from '@yuants/exchange';
|
|
4
|
+
import { getAccountBillsArchive } from '../api/private-api';
|
|
5
|
+
import { createClientProductCache } from '@yuants/data-product';
|
|
6
|
+
const terminal = Terminal.fromNodeEnv();
|
|
7
|
+
const productsCache = createClientProductCache(terminal, { expire: 7200000 });
|
|
8
|
+
const WINDOW_MS = 10 * 24 * 3600000;
|
|
9
|
+
const fetchTradeHistoryBackward = async (req) => {
|
|
10
|
+
var _a;
|
|
11
|
+
if (req.trade_type === 'USDT_SWAP') {
|
|
12
|
+
const res = await getAccountBillsArchive(req.credential.payload, {
|
|
13
|
+
type: '2',
|
|
14
|
+
instType: 'SWAP',
|
|
15
|
+
end: req.time.toString(),
|
|
16
|
+
begin: (req.time - WINDOW_MS).toString(),
|
|
17
|
+
});
|
|
18
|
+
return (await Promise.all(((_a = res.data) !== null && _a !== void 0 ? _a : []).map(async (v) => {
|
|
19
|
+
const ms = Number(v.ts);
|
|
20
|
+
let direction = 'OPEN_LONG';
|
|
21
|
+
if (v.subType === '1')
|
|
22
|
+
direction = 'OPEN_LONG';
|
|
23
|
+
if (v.subType === '2')
|
|
24
|
+
direction = 'CLOSE_LONG';
|
|
25
|
+
if (v.subType === '3')
|
|
26
|
+
direction = 'OPEN_LONG';
|
|
27
|
+
if (v.subType === '4')
|
|
28
|
+
direction = 'OPEN_SHORT';
|
|
29
|
+
if (v.subType === '5')
|
|
30
|
+
direction = 'CLOSE_LONG';
|
|
31
|
+
if (v.subType === '6')
|
|
32
|
+
direction = 'CLOSE_SHORT';
|
|
33
|
+
const product_id = encodePath('OKX', v.instType, v.instId);
|
|
34
|
+
const product = await productsCache.query(product_id);
|
|
35
|
+
if (!product)
|
|
36
|
+
return;
|
|
37
|
+
const size = (Number(v.sz) * Number(product.value_scale)).toString();
|
|
38
|
+
return {
|
|
39
|
+
id: v.billId,
|
|
40
|
+
product_id,
|
|
41
|
+
size,
|
|
42
|
+
account_id: req.account_id,
|
|
43
|
+
direction,
|
|
44
|
+
price: v.px,
|
|
45
|
+
fee: v.fee,
|
|
46
|
+
fee_currency: v.ccy,
|
|
47
|
+
pnl: v.pnl,
|
|
48
|
+
created_at: formatTime(ms),
|
|
49
|
+
};
|
|
50
|
+
}))).filter((x) => !!x && Date.parse(x.created_at) <= req.time);
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
53
|
+
};
|
|
54
|
+
provideTradeHistoryService(terminal, {
|
|
55
|
+
direction: 'backward',
|
|
56
|
+
type: 'OKX',
|
|
57
|
+
trade_type: ['USDT_SWAP'],
|
|
58
|
+
}, fetchTradeHistoryBackward);
|
|
59
|
+
//# sourceMappingURL=trade-history-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-history-service.js","sourceRoot":"","sources":["../../src/services/trade-history-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Terminal } from '@yuants/protocol';\nimport { encodePath, formatTime } from '@yuants/utils';\nimport { provideTradeHistoryService } from '@yuants/exchange';\nimport { getAccountBillsArchive } from '../api/private-api';\nimport { ITradeHistory } from '@yuants/data-trade';\nimport { createClientProductCache } from '@yuants/data-product';\ninterface IExchangeCredential {\n type: string;\n payload: any;\n}\n\nconst terminal = Terminal.fromNodeEnv();\n\nconst productsCache = createClientProductCache(terminal, { expire: 7200_000 });\n\nconst WINDOW_MS = 10 * 24 * 3600_000;\nconst fetchTradeHistoryBackward = async (req: {\n credential: IExchangeCredential;\n account_id: string;\n time: number;\n trade_type: string;\n}): Promise<ITradeHistory[]> => {\n if (req.trade_type === 'USDT_SWAP') {\n const res = await getAccountBillsArchive(req.credential.payload, {\n type: '2',\n instType: 'SWAP',\n end: req.time.toString(),\n begin: (req.time - WINDOW_MS).toString(),\n });\n return (\n await Promise.all(\n (res.data ?? []).map(async (v): Promise<ITradeHistory | undefined> => {\n const ms = Number(v.ts);\n let direction = 'OPEN_LONG';\n if (v.subType === '1') direction = 'OPEN_LONG';\n if (v.subType === '2') direction = 'CLOSE_LONG';\n if (v.subType === '3') direction = 'OPEN_LONG';\n if (v.subType === '4') direction = 'OPEN_SHORT';\n if (v.subType === '5') direction = 'CLOSE_LONG';\n if (v.subType === '6') direction = 'CLOSE_SHORT';\n const product_id = encodePath('OKX', v.instType, v.instId);\n const product = await productsCache.query(product_id);\n if (!product) return;\n const size = (Number(v.sz) * Number(product.value_scale)).toString();\n return {\n id: v.billId,\n product_id,\n size,\n account_id: req.account_id,\n direction,\n price: v.px,\n fee: v.fee,\n fee_currency: v.ccy,\n pnl: v.pnl,\n created_at: formatTime(ms),\n } as ITradeHistory;\n }),\n )\n ).filter((x): x is Exclude<typeof x, undefined> => !!x && Date.parse(x.created_at!) <= req.time);\n }\n return [];\n};\n\nprovideTradeHistoryService(\n terminal,\n {\n direction: 'backward',\n type: 'OKX',\n trade_type: ['USDT_SWAP'],\n },\n fetchTradeHistoryBackward,\n);\n"]}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,eAAe,CAAC;AACvB,OAAO,yBAAyB,CAAC;AACjC,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,YAAY,CAAC;AACpB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,yBAAyB,CAAC;AACjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,mCAAmC,CAAC;AAC3C,OAAO,eAAe,CAAC;AACvB,OAAO,yBAAyB,CAAC;AACjC,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,YAAY,CAAC;AACpB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,yBAAyB,CAAC;AACjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qBAAmB;AACnB,6CAA2C;AAC3C,yBAAuB;AACvB,mCAAiC;AACjC,mBAAiB;AACjB,2BAAyB;AACzB,2CAAyC;AACzC,sCAAoC;AACpC,8BAA4B;AAC5B,+BAA6B;AAC7B,sBAAoB;AACpB,8BAA4B;AAC5B,mBAAiB;AACjB,sBAAoB;AACpB,mCAAiC;AACjC,6BAA2B;AAC3B,mCAAiC;AACjC,4CAA0C;AAC1C,8CAA4C","sourcesContent":["import './account';\nimport './account-actions-with-credential';\nimport './api-service';\nimport './experimental/exchange';\nimport './order';\nimport './order-actions';\nimport './order-actions-with-credential';\nimport './public-data/market-order';\nimport './public-data/ohlc';\nimport './public-data/quote';\nimport './services';\nimport './strategy-account';\nimport './trade';\nimport './transfer';\nimport './public-data/new-quote';\nimport './services/quotes';\nimport './services/ohlc-service';\nimport './services/interest-rate-service';\nimport './services/interest-ledger-service';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qBAAmB;AACnB,6CAA2C;AAC3C,yBAAuB;AACvB,mCAAiC;AACjC,mBAAiB;AACjB,2BAAyB;AACzB,2CAAyC;AACzC,sCAAoC;AACpC,8BAA4B;AAC5B,+BAA6B;AAC7B,sBAAoB;AACpB,8BAA4B;AAC5B,mBAAiB;AACjB,sBAAoB;AACpB,mCAAiC;AACjC,6BAA2B;AAC3B,mCAAiC;AACjC,4CAA0C;AAC1C,8CAA4C;AAC5C,4CAA0C","sourcesContent":["import './account';\nimport './account-actions-with-credential';\nimport './api-service';\nimport './experimental/exchange';\nimport './order';\nimport './order-actions';\nimport './order-actions-with-credential';\nimport './public-data/market-order';\nimport './public-data/ohlc';\nimport './public-data/quote';\nimport './services';\nimport './strategy-account';\nimport './trade';\nimport './transfer';\nimport './public-data/new-quote';\nimport './services/quotes';\nimport './services/ohlc-service';\nimport './services/interest-rate-service';\nimport './services/interest-ledger-service';\nimport './services/trade-history-service';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-history-service.d.ts","sourceRoot":"","sources":["../../src/services/trade-history-service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const protocol_1 = require("@yuants/protocol");
|
|
4
|
+
const utils_1 = require("@yuants/utils");
|
|
5
|
+
const exchange_1 = require("@yuants/exchange");
|
|
6
|
+
const private_api_1 = require("../api/private-api");
|
|
7
|
+
const data_product_1 = require("@yuants/data-product");
|
|
8
|
+
const terminal = protocol_1.Terminal.fromNodeEnv();
|
|
9
|
+
const productsCache = (0, data_product_1.createClientProductCache)(terminal, { expire: 7200000 });
|
|
10
|
+
const WINDOW_MS = 10 * 24 * 3600000;
|
|
11
|
+
const fetchTradeHistoryBackward = async (req) => {
|
|
12
|
+
var _a;
|
|
13
|
+
if (req.trade_type === 'USDT_SWAP') {
|
|
14
|
+
const res = await (0, private_api_1.getAccountBillsArchive)(req.credential.payload, {
|
|
15
|
+
type: '2',
|
|
16
|
+
instType: 'SWAP',
|
|
17
|
+
end: req.time.toString(),
|
|
18
|
+
begin: (req.time - WINDOW_MS).toString(),
|
|
19
|
+
});
|
|
20
|
+
return (await Promise.all(((_a = res.data) !== null && _a !== void 0 ? _a : []).map(async (v) => {
|
|
21
|
+
const ms = Number(v.ts);
|
|
22
|
+
let direction = 'OPEN_LONG';
|
|
23
|
+
if (v.subType === '1')
|
|
24
|
+
direction = 'OPEN_LONG';
|
|
25
|
+
if (v.subType === '2')
|
|
26
|
+
direction = 'CLOSE_LONG';
|
|
27
|
+
if (v.subType === '3')
|
|
28
|
+
direction = 'OPEN_LONG';
|
|
29
|
+
if (v.subType === '4')
|
|
30
|
+
direction = 'OPEN_SHORT';
|
|
31
|
+
if (v.subType === '5')
|
|
32
|
+
direction = 'CLOSE_LONG';
|
|
33
|
+
if (v.subType === '6')
|
|
34
|
+
direction = 'CLOSE_SHORT';
|
|
35
|
+
const product_id = (0, utils_1.encodePath)('OKX', v.instType, v.instId);
|
|
36
|
+
const product = await productsCache.query(product_id);
|
|
37
|
+
if (!product)
|
|
38
|
+
return;
|
|
39
|
+
const size = (Number(v.sz) * Number(product.value_scale)).toString();
|
|
40
|
+
return {
|
|
41
|
+
id: v.billId,
|
|
42
|
+
product_id,
|
|
43
|
+
size,
|
|
44
|
+
account_id: req.account_id,
|
|
45
|
+
direction,
|
|
46
|
+
price: v.px,
|
|
47
|
+
fee: v.fee,
|
|
48
|
+
fee_currency: v.ccy,
|
|
49
|
+
pnl: v.pnl,
|
|
50
|
+
created_at: (0, utils_1.formatTime)(ms),
|
|
51
|
+
};
|
|
52
|
+
}))).filter((x) => !!x && Date.parse(x.created_at) <= req.time);
|
|
53
|
+
}
|
|
54
|
+
return [];
|
|
55
|
+
};
|
|
56
|
+
(0, exchange_1.provideTradeHistoryService)(terminal, {
|
|
57
|
+
direction: 'backward',
|
|
58
|
+
type: 'OKX',
|
|
59
|
+
trade_type: ['USDT_SWAP'],
|
|
60
|
+
}, fetchTradeHistoryBackward);
|
|
61
|
+
//# sourceMappingURL=trade-history-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-history-service.js","sourceRoot":"","sources":["../../src/services/trade-history-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Terminal } from '@yuants/protocol';\nimport { encodePath, formatTime } from '@yuants/utils';\nimport { provideTradeHistoryService } from '@yuants/exchange';\nimport { getAccountBillsArchive } from '../api/private-api';\nimport { ITradeHistory } from '@yuants/data-trade';\nimport { createClientProductCache } from '@yuants/data-product';\ninterface IExchangeCredential {\n type: string;\n payload: any;\n}\n\nconst terminal = Terminal.fromNodeEnv();\n\nconst productsCache = createClientProductCache(terminal, { expire: 7200_000 });\n\nconst WINDOW_MS = 10 * 24 * 3600_000;\nconst fetchTradeHistoryBackward = async (req: {\n credential: IExchangeCredential;\n account_id: string;\n time: number;\n trade_type: string;\n}): Promise<ITradeHistory[]> => {\n if (req.trade_type === 'USDT_SWAP') {\n const res = await getAccountBillsArchive(req.credential.payload, {\n type: '2',\n instType: 'SWAP',\n end: req.time.toString(),\n begin: (req.time - WINDOW_MS).toString(),\n });\n return (\n await Promise.all(\n (res.data ?? []).map(async (v): Promise<ITradeHistory | undefined> => {\n const ms = Number(v.ts);\n let direction = 'OPEN_LONG';\n if (v.subType === '1') direction = 'OPEN_LONG';\n if (v.subType === '2') direction = 'CLOSE_LONG';\n if (v.subType === '3') direction = 'OPEN_LONG';\n if (v.subType === '4') direction = 'OPEN_SHORT';\n if (v.subType === '5') direction = 'CLOSE_LONG';\n if (v.subType === '6') direction = 'CLOSE_SHORT';\n const product_id = encodePath('OKX', v.instType, v.instId);\n const product = await productsCache.query(product_id);\n if (!product) return;\n const size = (Number(v.sz) * Number(product.value_scale)).toString();\n return {\n id: v.billId,\n product_id,\n size,\n account_id: req.account_id,\n direction,\n price: v.px,\n fee: v.fee,\n fee_currency: v.ccy,\n pnl: v.pnl,\n created_at: formatTime(ms),\n } as ITradeHistory;\n }),\n )\n ).filter((x): x is Exclude<typeof x, undefined> => !!x && Date.parse(x.created_at!) <= req.time);\n }\n return [];\n};\n\nprovideTradeHistoryService(\n terminal,\n {\n direction: 'backward',\n type: 'OKX',\n trade_type: ['USDT_SWAP'],\n },\n fetchTradeHistoryBackward,\n);\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuants/vendor-okx",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.2",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"rxjs": "~7.5.6",
|
|
12
12
|
"ws": "~8.8.1",
|
|
13
|
-
"@yuants/transfer": "0.2.48",
|
|
14
|
-
"@yuants/data-account": "0.11.8",
|
|
15
13
|
"@yuants/protocol": "0.54.1",
|
|
16
14
|
"@yuants/data-order": "0.7.9",
|
|
15
|
+
"@yuants/data-account": "0.11.8",
|
|
16
|
+
"@yuants/transfer": "0.2.48",
|
|
17
17
|
"@yuants/utils": "0.19.4",
|
|
18
18
|
"@yuants/cache": "0.3.12",
|
|
19
19
|
"@yuants/sql": "0.9.39",
|
|
20
20
|
"@yuants/data-series": "0.3.61",
|
|
21
|
-
"@yuants/data-ohlc": "0.6.4",
|
|
22
21
|
"@yuants/data-product": "0.5.9",
|
|
23
22
|
"@yuants/data-interest-rate": "0.2.8",
|
|
24
|
-
"@yuants/data-
|
|
25
|
-
"@yuants/data-trade": "0.1.
|
|
26
|
-
"@yuants/exchange": "0.8.
|
|
23
|
+
"@yuants/data-ohlc": "0.6.4",
|
|
24
|
+
"@yuants/data-trade": "0.1.31",
|
|
25
|
+
"@yuants/exchange": "0.8.13",
|
|
26
|
+
"@yuants/data-quote": "0.4.8"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@microsoft/api-extractor": "~7.55.2",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"typescript": "~5.9.3",
|
|
36
36
|
"ts-node": "~10.9.2",
|
|
37
37
|
"@types/ws": "~8.5.3",
|
|
38
|
-
"@yuants/
|
|
39
|
-
"@yuants/
|
|
38
|
+
"@yuants/tool-kit": "0.2.2",
|
|
39
|
+
"@yuants/extension": "0.2.40"
|
|
40
40
|
},
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"registry": "https://registry.npmjs.org",
|