wenay-common 1.0.21 → 1.0.22

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.
Files changed (76) hide show
  1. package/lib/{srcClient/index.js → index.js} +16 -16
  2. package/package.json +5 -1
  3. package/lib/src/Common/BaseTypes.d.ts +0 -38
  4. package/lib/src/Common/BaseTypes.js +0 -3
  5. package/lib/src/Common/BaseTypes.js.map +0 -1
  6. package/lib/src/Common/ByteStream.d.ts +0 -96
  7. package/lib/src/Common/ByteStream.js +0 -427
  8. package/lib/src/Common/ByteStream.js.map +0 -1
  9. package/lib/src/Common/Color.d.ts +0 -26
  10. package/lib/src/Common/Color.js +0 -52
  11. package/lib/src/Common/Color.js.map +0 -1
  12. package/lib/src/Common/Common.d.ts +0 -232
  13. package/lib/src/Common/Common.js +0 -615
  14. package/lib/src/Common/Common.js.map +0 -1
  15. package/lib/src/Common/List.d.ts +0 -64
  16. package/lib/src/Common/List.js +0 -194
  17. package/lib/src/Common/List.js.map +0 -1
  18. package/lib/src/Common/ListNodeAnd.d.ts +0 -46
  19. package/lib/src/Common/ListNodeAnd.js +0 -90
  20. package/lib/src/Common/ListNodeAnd.js.map +0 -1
  21. package/lib/src/Common/Math.d.ts +0 -27
  22. package/lib/src/Common/Math.js +0 -71
  23. package/lib/src/Common/Math.js.map +0 -1
  24. package/lib/src/Common/Time.d.ts +0 -181
  25. package/lib/src/Common/Time.js +0 -356
  26. package/lib/src/Common/Time.js.map +0 -1
  27. package/lib/src/Exchange/Bars.d.ts +0 -182
  28. package/lib/src/Exchange/Bars.js +0 -454
  29. package/lib/src/Exchange/Bars.js.map +0 -1
  30. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.d.ts +0 -28
  31. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js +0 -9
  32. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js.map +0 -1
  33. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.d.ts +0 -600
  34. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js +0 -356
  35. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js.map +0 -1
  36. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.d.ts +0 -4
  37. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js +0 -108
  38. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js.map +0 -1
  39. package/lib/src/Exchange/ConnectData/Binance/commonOrder.d.ts +0 -1
  40. package/lib/src/Exchange/ConnectData/Binance/commonOrder.js +0 -9
  41. package/lib/src/Exchange/ConnectData/Binance/commonOrder.js.map +0 -1
  42. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.d.ts +0 -22
  43. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js +0 -44
  44. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js.map +0 -1
  45. package/lib/src/Exchange/ConnectData/Binance/interfaces.d.ts +0 -345
  46. package/lib/src/Exchange/ConnectData/Binance/interfaces.js +0 -3
  47. package/lib/src/Exchange/ConnectData/Binance/interfaces.js.map +0 -1
  48. package/lib/src/Exchange/ConnectData/Binance/order.d.ts +0 -204
  49. package/lib/src/Exchange/ConnectData/Binance/order.js +0 -417
  50. package/lib/src/Exchange/ConnectData/Binance/order.js.map +0 -1
  51. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.d.ts +0 -14
  52. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js +0 -26
  53. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js.map +0 -1
  54. package/lib/src/Exchange/ConnectData/Binance/use.d.ts +0 -44
  55. package/lib/src/Exchange/ConnectData/Binance/use.js +0 -90
  56. package/lib/src/Exchange/ConnectData/Binance/use.js.map +0 -1
  57. package/lib/src/Exchange/ConnectData/Binance.d.ts +0 -122
  58. package/lib/src/Exchange/ConnectData/Binance.js +0 -514
  59. package/lib/src/Exchange/ConnectData/Binance.js.map +0 -1
  60. package/lib/src/Exchange/IHistoryBase.d.ts +0 -157
  61. package/lib/src/Exchange/IHistoryBase.js +0 -3
  62. package/lib/src/Exchange/IHistoryBase.js.map +0 -1
  63. package/lib/src/Exchange/LoadBase.d.ts +0 -59
  64. package/lib/src/Exchange/LoadBase.js +0 -103
  65. package/lib/src/Exchange/LoadBase.js.map +0 -1
  66. package/lib/src/Exchange/MarketData.d.ts +0 -78
  67. package/lib/src/Exchange/MarketData.js +0 -358
  68. package/lib/src/Exchange/MarketData.js.map +0 -1
  69. package/lib/src/Exchange/mini.d.ts +0 -68
  70. package/lib/src/Exchange/mini.js +0 -3
  71. package/lib/src/Exchange/mini.js.map +0 -1
  72. package/lib/srcClient/index.d.ts +0 -15
  73. package/lib/srcClient/index.js.map +0 -1
  74. package/lib/srcServer/index.d.ts +0 -16
  75. package/lib/srcServer/index.js +0 -40
  76. package/lib/srcServer/index.js.map +0 -1
@@ -1,417 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.spaceBinance = void 0;
4
- const signatureCoder_1 = require("./signatureCoder");
5
- const commonOrder_1 = require("./commonOrder");
6
- var spaceBinance;
7
- (function (spaceBinance) {
8
- function NormalizePrice(value, priceStep) {
9
- if (priceStep < 1)
10
- return value.toFixed(-Math.log10(priceStep));
11
- else
12
- return value.toFixed(0);
13
- }
14
- const nLot = (data) => (0, commonOrder_1.NormalizeLot)(data.volume, data.minLot, data.stepLot).toFixed(6);
15
- const nPrice = (data) => NormalizePrice(data.price, data.stepPrice);
16
- function binanceSpot(binance) {
17
- return {
18
- async buy(data) { await binance.marketBuy(data.symbol, nLot(data)); },
19
- async sell(data) { await binance.marketSell(data.symbol, nLot(data)); },
20
- async buyLimit(data) { await binance.buy(data.symbol, nLot(data), nPrice(data), { type: 'LIMIT' }); },
21
- async sellLimit(data) { await binance.sell(data.symbol, nLot(data), nPrice(data), { type: 'LIMIT' }); },
22
- async cancelOrders(data) { await binance.cancel(data.symbol, data.orderId); },
23
- async getOrders() { }
24
- };
25
- }
26
- spaceBinance.binanceSpot = binanceSpot;
27
- function binanceFutures(binance) {
28
- return {
29
- async buy(data) { await binance.futuresMarketBuy(data.symbol, nLot(data), data.params ?? {}); },
30
- async sell(data) { await binance.marketSell(data.symbol, nLot(data), data.params ?? {}); },
31
- async buyLimit(data) { await binance.futuresBuy(data.symbol, nLot(data), nPrice(data)); },
32
- async sellLimit(data) { await binance.futuresSell(data.symbol, nLot(data), nPrice(data)); },
33
- async cancelOrders(data) { await binance.futuresCancel(data.symbol, { orderId: data.orderId }); },
34
- async getOrders() { }
35
- };
36
- }
37
- spaceBinance.binanceFutures = binanceFutures;
38
- function binanceIso(binance) {
39
- return {
40
- async buy(data) { await binance.mgMarketBuy(data.symbol, nLot(data), { type: 'MARKET' }); },
41
- async sell(data) { await binance.mgMarketSell(data.symbol, nLot(data), { type: 'MARKET' }); },
42
- async buyLimit(data) { await binance.mgBuy(data.symbol, nLot(data), nPrice(data), { type: 'LIMIT' }); },
43
- async sellLimit(data) { await binance.mgSell(data.symbol, nLot(data), nPrice(data), { type: 'LIMIT' }); },
44
- async cancelOrders(data) {
45
- await new Promise((resolve, reject) => {
46
- binance.mgCancel(data.symbol, data.orderId, (error, response) => {
47
- if (!error)
48
- resolve(response);
49
- else {
50
- reject(error);
51
- }
52
- }, 'TRUE');
53
- });
54
- },
55
- async getOrders() { }
56
- };
57
- }
58
- spaceBinance.binanceIso = binanceIso;
59
- function transferMoneyF(binance) {
60
- return (data) => {
61
- const { from, to, amount } = data;
62
- const asset = data.asset ?? "USDT";
63
- return new Promise((resolve, reject) => {
64
- const result = (error) => !error ? resolve(true) : reject(error);
65
- if (from == "SPOT" && to == "MARGIN")
66
- binance.mgTransferMainToMargin(asset, amount, result);
67
- if (from == "MARGIN" && to == "SPOT")
68
- binance.mgTransferMarginToMain(asset, amount, result);
69
- if (from == "SPOT" && to == "FUTURES")
70
- binance.transferMainToFutures(asset, amount, result);
71
- if (from == "FUTURES" && to == "SPOT")
72
- binance.transferFuturesToMain(asset, amount, result);
73
- });
74
- };
75
- }
76
- spaceBinance.transferMoneyF = transferMoneyF;
77
- const binanceHeader = (apiKey) => ({ headers: { 'Content-type': 'application/x-www-form-urlencoded', 'X-MBX-APIKEY': apiKey } });
78
- class BinanceDataFunc {
79
- maxBorrowableCrossF({ axios, apiKey, apiSecret }) {
80
- return {
81
- wight: {
82
- type: "IP",
83
- wight: 50,
84
- max: 10000,
85
- timeMs: 60 * 1000
86
- },
87
- function: async function (asset) {
88
- const timestamp = Date.now();
89
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, timestamp }, apiSecret);
90
- const url = `https://api.binance.com/sapi/v1/margin/maxBorrowable?asset=${asset}&timestamp=${timestamp}&signature=${signature}`;
91
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
92
- console.log(e);
93
- throw e;
94
- });
95
- return {
96
- amount: +res.data.amount,
97
- borrowLimit: +res.data.borrowLimit
98
- };
99
- }
100
- };
101
- }
102
- maxBorrowableIsolatedF({ axios, apiKey, apiSecret }) {
103
- return {
104
- wight: {
105
- type: "IP",
106
- wight: 50,
107
- max: 10000,
108
- timeMs: 60 * 1000
109
- },
110
- function: async function (asset, isolatedSymbol) {
111
- const timestamp = Date.now();
112
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, timestamp }, apiSecret);
113
- const url = `https://api.binance.com/sapi/v1/margin/maxBorrowable?asset=${asset}&timestamp=${timestamp}&isolatedSymbol=${isolatedSymbol}&signature=${signature}`;
114
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
115
- console.log(e);
116
- throw e;
117
- });
118
- return {
119
- amount: +res.data.amount,
120
- borrowLimit: +res.data.borrowLimit
121
- };
122
- }
123
- };
124
- }
125
- maxTransferableCrossF({ axios, apiKey, apiSecret }) {
126
- return {
127
- wight: {
128
- type: "IP",
129
- wight: 50,
130
- max: 10000,
131
- timeMs: 60 * 1000
132
- },
133
- function: async function (asset, isolatedSymbol) {
134
- const timestamp = Date.now();
135
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, timestamp }, apiSecret);
136
- const url = `https://api.binance.com/sapi/v1/margin/maxTransferable?asset=${asset}&timestamp=${timestamp}&signature=${signature}`;
137
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
138
- console.log(e);
139
- throw e;
140
- });
141
- return {
142
- amount: +res.data.amount
143
- };
144
- }
145
- };
146
- }
147
- maxTransferableIsolatedF({ axios, apiKey, apiSecret }) {
148
- return {
149
- wight: {
150
- type: "IP",
151
- wight: 50,
152
- max: 10000,
153
- timeMs: 60 * 1000
154
- },
155
- function: async function (asset, isolatedSymbol) {
156
- const timestamp = Date.now();
157
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, timestamp }, apiSecret);
158
- const url = `https://api.binance.com/sapi/v1/margin/maxTransferable?asset=${asset}&timestamp=${timestamp}&isolatedSymbol=${isolatedSymbol}&signature=${signature}`;
159
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
160
- console.log(e);
161
- throw e;
162
- });
163
- return {
164
- amount: +res.data.amount
165
- };
166
- }
167
- };
168
- }
169
- transferIsolatedF({ axios, apiKey, apiSecret }) {
170
- return {
171
- wight: {
172
- type: "IP",
173
- wight: 50,
174
- max: 10000,
175
- timeMs: 60 * 1000
176
- },
177
- function: async function (asset, symbol, amount, fromAccountType) {
178
- const timestamp = Date.now();
179
- const type = fromAccountType == "ISOLATED_MARGIN" ? 'ISOLATEDMARGIN_MARGIN' : 'MARGIN_ISOLATEDMARGIN';
180
- const signature = fromAccountType == "ISOLATED_MARGIN" ? (0, signatureCoder_1.GetSignatureFunc)({ type, asset, amount, fromSymbol: symbol, timestamp }, apiSecret) : (0, signatureCoder_1.GetSignatureFunc)({ type, asset, amount, toSymbol: symbol, timestamp }, apiSecret);
181
- const url = fromAccountType == "ISOLATED_MARGIN" ? `https://api.binance.com/sapi/v1/asset/transfer?type=${type}&asset=${asset}&amount=${amount}&fromSymbol=${symbol}&timestamp=${timestamp}&signature=${signature}` :
182
- `https://api.binance.com/sapi/v1/asset/transfer?type=${type}&asset=${asset}&amount=${amount}&toSymbol=${symbol}&timestamp=${timestamp}&signature=${signature}`;
183
- const res = await axios.post(url, '', { ...binanceHeader(apiKey) }).catch(e => {
184
- console.log(e);
185
- throw e;
186
- });
187
- return { tranId: +res.data.tranId };
188
- }
189
- };
190
- }
191
- transferIsolatedToSpotF({ axios, apiKey, apiSecret }) {
192
- return {
193
- wight: {
194
- type: "UID",
195
- wight: 600,
196
- max: 150000,
197
- timeMs: 60 * 1000
198
- },
199
- function: async function (asset, symbol, amount, transFrom) {
200
- const timestamp = Date.now();
201
- const transTo = transFrom == 'ISOLATED_MARGIN' ? 'SPOT' : 'ISOLATED_MARGIN';
202
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, symbol, transFrom, transTo, amount, timestamp }, apiSecret);
203
- const url = `https://api.binance.com/sapi/v1/margin/isolated/transfer?asset=${asset}&symbol=${symbol}&transFrom=${transFrom}&transTo=${transTo}&amount=${amount}&timestamp=${timestamp}&signature=${signature}`;
204
- const res = await axios.post(url, '', { ...binanceHeader(apiKey) }).catch(e => {
205
- console.log(e);
206
- throw e;
207
- });
208
- return { tranId: +res.data.tranId };
209
- }
210
- };
211
- }
212
- updateIsolatedAccsInfoАF({ axios, apiKey, apiSecret }) {
213
- return {
214
- wight: {
215
- type: "UID",
216
- wight: 600,
217
- max: 150000,
218
- timeMs: 60 * 1000
219
- },
220
- function: async function (asset, symbol, amount, transFrom) {
221
- const timestamp = Date.now();
222
- const transTo = transFrom == 'ISOLATED_MARGIN' ? 'SPOT' : 'ISOLATED_MARGIN';
223
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ asset, symbol, transFrom, transTo, amount, timestamp }, apiSecret);
224
- const url = `https://api.binance.com/sapi/v1/margin/isolated/account?timestamp=${timestamp}&signature=${signature}`;
225
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
226
- console.log(e);
227
- throw e;
228
- });
229
- const result = {
230
- assets: res?.data?.assets,
231
- totalAssetOfBtc: res.data.totalAssetOfBtc && +res.data.totalAssetOfBtc
232
- };
233
- return result;
234
- }
235
- };
236
- }
237
- disableIsolatedAccF({ axios, apiKey, apiSecret }) {
238
- return {
239
- wight: {
240
- type: "UID",
241
- wight: 300,
242
- max: 150000,
243
- timeMs: 60 * 1000
244
- },
245
- function: async function (symbol) {
246
- const timestamp = Date.now();
247
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ symbol, timestamp }, apiSecret);
248
- const url = `https://api.binance.com/sapi/v1/margin/isolated/account?symbol=${symbol}&timestamp=${timestamp}&signature=${signature}`;
249
- const res = await axios.delete(url, { ...binanceHeader(apiKey) }).catch(e => {
250
- console.log(e);
251
- throw e;
252
- });
253
- if (res?.data.success)
254
- return true;
255
- throw res?.data?.code;
256
- }
257
- };
258
- }
259
- enableIsolatedAccF({ axios, apiKey, apiSecret }) {
260
- return {
261
- wight: {
262
- type: "UID",
263
- wight: 300,
264
- max: 150000,
265
- timeMs: 60 * 1000
266
- },
267
- function: async function (symbol) {
268
- const timestamp = Date.now();
269
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ symbol, timestamp }, apiSecret);
270
- const url = `https://api.binance.com/sapi/v1/margin/isolated/account?symbol=${symbol}&timestamp=${timestamp}&signature=${signature}`;
271
- const res = await axios.post(url, '', { ...binanceHeader(apiKey) }).catch(e => {
272
- console.log(e);
273
- throw e;
274
- });
275
- if (res?.data.success)
276
- return true;
277
- throw res?.data?.code;
278
- }
279
- };
280
- }
281
- getIsolatedAccountsLimitF({ axios, apiKey, apiSecret }) {
282
- return {
283
- wight: {
284
- type: "UID",
285
- wight: 300,
286
- max: 150000,
287
- timeMs: 60 * 1000
288
- },
289
- function: async function (symbol) {
290
- const timestamp = Date.now();
291
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ symbol, timestamp }, apiSecret);
292
- const url = `https://api.binance.com/sapi/v1/margin/isolated/accountLimit?timestamp=${timestamp}&signature=${signature}`;
293
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
294
- console.log(e);
295
- throw e;
296
- });
297
- if (res?.data != undefined)
298
- return res.data;
299
- throw res?.data?.code;
300
- }
301
- };
302
- }
303
- getIsolationFeeDataF({ axios, apiKey, apiSecret }) {
304
- return {
305
- wight: {
306
- type: "UID",
307
- wight: 300,
308
- max: 150000,
309
- timeMs: 60 * 1000
310
- },
311
- function: async function (symbol) {
312
- const timestamp = Date.now();
313
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ symbol, timestamp }, apiSecret);
314
- const url = `https://api.binance.com/sapi/v1/margin/isolatedMarginData?timestamp=${timestamp}&signature=${signature}`;
315
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
316
- console.log(e);
317
- throw e;
318
- });
319
- if (res?.data != undefined)
320
- return res.data;
321
- throw res?.data?.code;
322
- }
323
- };
324
- }
325
- getIsolationFeeDataBySymbolF({ axios, apiKey, apiSecret }) {
326
- return {
327
- wight: {
328
- type: "UID",
329
- wight: 300,
330
- max: 150000,
331
- timeMs: 60 * 1000
332
- },
333
- function: async function (symbol) {
334
- const timestamp = Date.now();
335
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ symbol, timestamp }, apiSecret);
336
- const url = `https://api.binance.com/sapi/v1/margin/isolatedMarginData?symbol=${symbol}&timestamp=${timestamp}&signature=${signature}`;
337
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
338
- console.log(e);
339
- throw e;
340
- });
341
- if (res.data.length)
342
- return res.data[0];
343
- throw res?.data?.code;
344
- }
345
- };
346
- }
347
- getAllCrossMarginPairs({ axios, apiKey, apiSecret }) {
348
- return {
349
- wight: {
350
- type: "IP",
351
- wight: 1,
352
- max: 10000,
353
- timeMs: 60 * 1000
354
- },
355
- function: async function () {
356
- const timestamp = Date.now();
357
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ timestamp }, apiSecret);
358
- const url = `https://api.binance.com/sapi/v1/margin/allPairs?timestamp=${timestamp}&signature=${signature}`;
359
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
360
- console.log(e);
361
- throw e;
362
- });
363
- if (res?.data != undefined)
364
- return res.data;
365
- throw res?.data?.code;
366
- }
367
- };
368
- }
369
- getAllCrossIsolatePairs({ axios, apiKey, apiSecret }) {
370
- return {
371
- wight: {
372
- type: "IP",
373
- wight: 1,
374
- max: 10000,
375
- timeMs: 60 * 1000
376
- },
377
- function: async function () {
378
- const timestamp = Date.now();
379
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ timestamp }, apiSecret);
380
- const url = `https://api.binance.com/sapi/v1/margin/isolated/allPairs?timestamp=${timestamp}&signature=${signature}`;
381
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
382
- console.log(e);
383
- throw e;
384
- });
385
- if (res?.data != undefined)
386
- return res.data;
387
- throw res?.data?.code;
388
- }
389
- };
390
- }
391
- crossMarginAccountDetails({ axios, apiKey, apiSecret }) {
392
- return {
393
- wight: {
394
- type: "IP",
395
- wight: 10,
396
- max: 10000,
397
- timeMs: 60 * 1000
398
- },
399
- function: async function () {
400
- const timestamp = Date.now();
401
- const signature = (0, signatureCoder_1.GetSignatureFunc)({ timestamp }, apiSecret);
402
- const url = `https://api.binance.com/sapi/v1/margin/account?timestamp=${timestamp}&signature=${signature}`;
403
- const res = await axios.get(url, { ...binanceHeader(apiKey) }).catch(e => {
404
- console.log(e);
405
- throw e;
406
- });
407
- if (res?.data != undefined)
408
- return res.data;
409
- throw res?.data?.code;
410
- }
411
- };
412
- }
413
- }
414
- spaceBinance.BinanceDataFunc = BinanceDataFunc;
415
- spaceBinance.binanceFunc = new BinanceDataFunc;
416
- })(spaceBinance = exports.spaceBinance || (exports.spaceBinance = {}));
417
- //# sourceMappingURL=order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../../src/Exchange/ConnectData/Binance/order.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export type MilliSec = number;
2
- type tInputBaseR = {
3
- [key: string]: number | string | string[];
4
- };
5
- export type tInputBase = {
6
- timestamp?: MilliSec;
7
- recvWindow?: MilliSec;
8
- } & tInputBaseR;
9
- type tSignatureDate = tInputBase;
10
- export declare function getSignatureFuncF(data: {
11
- createHmac: any;
12
- }): (q: tSignatureDate, apiSecret: string) => string;
13
- export declare const GetSignatureFunc: (q: tSignatureDate, apiSecret: string) => string;
14
- export {};
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetSignatureFunc = exports.getSignatureFuncF = void 0;
4
- const node_crypto_1 = require("node:crypto");
5
- function getSignatureFuncF(data) {
6
- return function (q, apiSecret) {
7
- const query = Object.keys(q)
8
- .reduce((a, k) => {
9
- const o = q[k];
10
- if (Array.isArray(o)) {
11
- o.forEach(v => {
12
- a.push(k + "=" + encodeURIComponent(v));
13
- });
14
- }
15
- else if (o !== undefined) {
16
- a.push(k + "=" + encodeURIComponent(o));
17
- }
18
- return a;
19
- }, [])
20
- .join("&");
21
- return data.createHmac('sha256', apiSecret).update(query).digest('hex');
22
- };
23
- }
24
- exports.getSignatureFuncF = getSignatureFuncF;
25
- exports.GetSignatureFunc = getSignatureFuncF({ createHmac: node_crypto_1.createHmac });
26
- //# sourceMappingURL=signatureCoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signatureCoder.js","sourceRoot":"","sources":["../../../../../src/Exchange/ConnectData/Binance/signatureCoder.ts"],"names":[],"mappings":";;;AACA,6CAAuC;AAkBvC,SAAgB,iBAAiB,CAAC,IAAuB;IACrD,OAAO,UAAU,CAAgB,EAAE,SAAiB;QAEhD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvB,MAAM,CAAC,CAAC,CAAW,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACV,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3C,CAAC,CAAC,CAAA;aACL;iBAAM,IAAI,CAAC,KAAK,SAAS,EAAE;gBACxB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,OAAO,CAAC,CAAC;QACb,CAAC,EAAE,EAAE,CAAC;aACL,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAW,CAAA;IACrF,CAAC,CAAA;AACL,CAAC;AAnBD,8CAmBC;AACY,QAAA,gBAAgB,GAAG,iBAAiB,CAAC,EAAC,UAAU,EAAV,wBAAU,EAAC,CAAC,CAAA"}
@@ -1,44 +0,0 @@
1
- import { spaceBinance } from "./order";
2
- export type Simple22<T> = {
3
- [key in keyof T]: (T[key] extends (a: any) => infer Result ? (Result extends {
4
- function: any;
5
- } ? Result["function"] : T[key]) : T[key]);
6
- };
7
- export declare function BinanceAcc2F(data: spaceBinance.tFtt): {
8
- all: Simple22<spaceBinance.BinanceDataFunc>;
9
- transfer: {
10
- isolatedToSpot: (asset: string, symbol: string, amount: string | number, transFrom: "SPOT" | "ISOLATED_MARGIN") => Promise<{
11
- tranId: number;
12
- code?: number | undefined;
13
- }>;
14
- spotToIsolated: (asset: string, symbol: string, amount: string | number, fromAccountType: "MARGIN" | "ISOLATED_MARGIN") => Promise<{
15
- tranId: number;
16
- code?: number | undefined;
17
- }>;
18
- maxTransferableIsolated: (asset: string, isolatedSymbol: string) => Promise<{
19
- amount: number;
20
- }>;
21
- maxTransferableCross: (asset: string, isolatedSymbol: string) => Promise<{
22
- amount: number;
23
- }>;
24
- };
25
- spot: {
26
- maxBorrowableCross: ({ axios, apiKey, apiSecret }: spaceBinance.tFtt) => {
27
- wight: spaceBinance.tFF | spaceBinance.tFF[];
28
- function: (asset: string) => Promise<import("./interfaces").IBorrowable>;
29
- };
30
- };
31
- iso: {
32
- updateIsolatedAccsInfo: (asset: string, symbol: string, amount: string | number, transFrom: "SPOT" | "ISOLATED_MARGIN") => Promise<{
33
- assets?: import("./interfaces").IIsolatedAcc[] | undefined;
34
- totalAssetOfBtc?: number | undefined;
35
- }>;
36
- maxBorrowableIsolated: (asset: string, isolatedSymbol: string) => Promise<import("./interfaces").IBorrowable>;
37
- disableIsolatedAcc: (symbol: string) => Promise<boolean>;
38
- enableIsolatedAcc: (symbol: string) => Promise<boolean>;
39
- getIsolatedAccountsLimit: (symbol: string) => Promise<any>;
40
- getIsolationFeeData: (symbol: string) => Promise<any>;
41
- getIsolationFeeDataBySymbol: (symbol: string) => Promise<any>;
42
- };
43
- futures: {};
44
- };
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BinanceAcc2F = void 0;
4
- const order_1 = require("./order");
5
- const funcTimeWait_1 = require("./funcTimeWait");
6
- const spot_1 = require("./BinanceLib/spot");
7
- const binanceFunc = order_1.spaceBinance.binanceFunc;
8
- const helper4 = (obj, k) => {
9
- const t = obj[k];
10
- if (typeof t == "function") {
11
- return ((...a) => {
12
- const wight = obj.wight;
13
- const func = (wight) => {
14
- const now = funcTimeWait_1.FuncTimeWait.weight(wight.type, wight.timeMs);
15
- if (now + wight.wight > wight.max) {
16
- throw { wait: wight.max - now + wight.wight };
17
- }
18
- funcTimeWait_1.FuncTimeWait.add({ weight: wight.wight, type: wight.type });
19
- };
20
- if (wight) {
21
- const arr = Array.isArray(wight) ? wight : [wight];
22
- arr.forEach(e => func(e));
23
- }
24
- return t(...a);
25
- });
26
- }
27
- return t;
28
- };
29
- function BinanceFuncConvert(data, input) {
30
- let tt = data;
31
- for (let key in data) {
32
- const a = data[key];
33
- if (typeof a == "function") {
34
- const buf = a(input);
35
- tt[key] = helper4(buf, "function");
36
- }
37
- }
38
- return tt;
39
- }
40
- function BinanceFuncConvert3(data, input) {
41
- let tt = data;
42
- for (let key in data) {
43
- const a = data[key];
44
- if (typeof a == "function") {
45
- const buf = a(input);
46
- tt[key] = helper4(buf, "function");
47
- }
48
- }
49
- return tt;
50
- }
51
- function BinanceFuncConvert2(data, input) {
52
- let tt = data;
53
- for (let key in data) {
54
- const a = data[key];
55
- if (typeof a == "function") {
56
- const buf = a(input);
57
- tt[key] = helper4(buf, "function");
58
- }
59
- }
60
- return tt;
61
- }
62
- function BinanceAcc2F(data) {
63
- const BFunc = BinanceFuncConvert(binanceFunc, data);
64
- const tt = new spot_1.BinanceSpot.BinanceDataFunc;
65
- const BFunc2 = BinanceFuncConvert3(tt, data);
66
- return {
67
- all: BFunc,
68
- transfer: {
69
- isolatedToSpot: BFunc.transferIsolatedToSpotF,
70
- spotToIsolated: BFunc.transferIsolatedF,
71
- maxTransferableIsolated: BFunc.maxTransferableIsolatedF,
72
- maxTransferableCross: BFunc.maxTransferableCrossF,
73
- },
74
- spot: {
75
- maxBorrowableCross: binanceFunc.maxBorrowableCrossF,
76
- },
77
- iso: {
78
- updateIsolatedAccsInfo: BFunc.updateIsolatedAccsInfoАF,
79
- maxBorrowableIsolated: BFunc.maxBorrowableIsolatedF,
80
- disableIsolatedAcc: BFunc.disableIsolatedAccF,
81
- enableIsolatedAcc: BFunc.enableIsolatedAccF,
82
- getIsolatedAccountsLimit: BFunc.getIsolatedAccountsLimitF,
83
- getIsolationFeeData: BFunc.getIsolationFeeDataF,
84
- getIsolationFeeDataBySymbol: BFunc.getIsolationFeeDataBySymbolF,
85
- },
86
- futures: {},
87
- };
88
- }
89
- exports.BinanceAcc2F = BinanceAcc2F;
90
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../src/Exchange/ConnectData/Binance/use.ts"],"names":[],"mappings":"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"}