@ultrade/shared 1.0.6 → 1.0.8

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 (168) hide show
  1. package/dist/common/auth.helper.js +1 -346
  2. package/dist/common/big-number.helper.js +1 -244
  3. package/dist/common/index.js +1 -1753
  4. package/dist/common/mappers/codexAsset.mapper.js +1 -29
  5. package/dist/common/mappers/codexBalance.mapper.js +1 -27
  6. package/dist/common/mappers/index.js +1 -1420
  7. package/dist/common/mappers/trade.mapper.js +1 -1342
  8. package/dist/common/utils/assert.js +1 -21
  9. package/dist/common/utils/decode.js +1 -195
  10. package/dist/common/utils/index.js +1 -111
  11. package/dist/common/utils/social.js +1 -19
  12. package/dist/common/utils/stat.js +1 -255
  13. package/dist/constants/index.js +1 -366
  14. package/dist/enums/index.js +1 -901
  15. package/dist/helpers/Encoding.js +1 -297
  16. package/dist/helpers/algo.helper.js +1 -1183
  17. package/dist/helpers/assert.helper.js +1 -1597
  18. package/dist/helpers/atomic.helper.js +1 -598
  19. package/dist/helpers/balance.helper.js +1 -4186
  20. package/dist/helpers/codex/common.helper.js +2 -4119
  21. package/dist/helpers/codex/index.js +2 -4119
  22. package/dist/helpers/codex/mbr.helper.js +1 -4119
  23. package/dist/helpers/codex/mna.helper.js +1 -4119
  24. package/dist/helpers/codex/order.helper.js +1 -4119
  25. package/dist/helpers/codex/setGlobal.helper.js +1 -4185
  26. package/dist/helpers/codex/transfer.helper.js +2 -4119
  27. package/dist/helpers/codex/txn.helper.js +1 -4119
  28. package/dist/helpers/codex.helper.js +8 -4119
  29. package/dist/helpers/eth.helper.js +2 -4119
  30. package/dist/helpers/index.js +1 -820
  31. package/dist/helpers/interval.helpers.js +1 -99
  32. package/dist/helpers/liquidity.helper.js +1 -70
  33. package/dist/helpers/order.helper.js +1 -954
  34. package/dist/helpers/pair.helper.js +1 -946
  35. package/dist/helpers/pointSystem.helper.js +1 -384
  36. package/dist/helpers/ticker.helpers.js +1 -338
  37. package/dist/helpers/vaa.helper.js +1 -4223
  38. package/dist/helpers/withdraw.helper.js +2 -4719
  39. package/dist/interfaces/index.js +1 -1389
  40. package/dist/{common → src/common}/big-number.helper.d.ts +3 -0
  41. package/dist/src/helpers/atomic.helper.d.ts +21 -0
  42. package/dist/types/index.js +1 -354
  43. package/package.json +24 -18
  44. package/dist/constants/allowedUrls.d.ts +0 -1
  45. package/dist/constants/env.d.ts +0 -6
  46. package/dist/constants/social.d.ts +0 -3
  47. package/dist/enums/db/chains.d.ts +0 -30
  48. package/dist/enums/db/pending-actions.enum.d.ts +0 -6
  49. package/dist/helpers/atomic.helper.d.ts +0 -4
  50. package/dist/interfaces/algostreamer/index.d.ts +0 -49
  51. package/dist/interfaces/confirmed-txn.interface.d.ts +0 -46
  52. /package/dist/{common → src/common}/auth.helper.d.ts +0 -0
  53. /package/dist/{common → src/common}/index.d.ts +0 -0
  54. /package/dist/{common → src/common}/mappers/codexAsset.mapper.d.ts +0 -0
  55. /package/dist/{common → src/common}/mappers/codexBalance.mapper.d.ts +0 -0
  56. /package/dist/{common → src/common}/mappers/index.d.ts +0 -0
  57. /package/dist/{common → src/common}/mappers/trade.mapper.d.ts +0 -0
  58. /package/dist/{common → src/common}/utils/assert.d.ts +0 -0
  59. /package/dist/{common → src/common}/utils/decode.d.ts +0 -0
  60. /package/dist/{common → src/common}/utils/index.d.ts +0 -0
  61. /package/dist/{common → src/common}/utils/social.d.ts +0 -0
  62. /package/dist/{common → src/common}/utils/stat.d.ts +0 -0
  63. /package/dist/{constants → src/constants}/auth.d.ts +0 -0
  64. /package/dist/{constants → src/constants}/cctp.d.ts +0 -0
  65. /package/dist/{constants → src/constants}/codex.d.ts +0 -0
  66. /package/dist/{constants → src/constants}/index.d.ts +0 -0
  67. /package/dist/{constants → src/constants}/response.d.ts +0 -0
  68. /package/dist/{constants → src/constants}/settings.d.ts +0 -0
  69. /package/dist/{constants → src/constants}/withdrawalWalletsMessage.d.ts +0 -0
  70. /package/dist/{enums → src/enums}/chains.enum.d.ts +0 -0
  71. /package/dist/{enums → src/enums}/db/account/index.d.ts +0 -0
  72. /package/dist/{enums → src/enums}/db/affiliate.enum.d.ts +0 -0
  73. /package/dist/{enums → src/enums}/db/available-pair-settings.enum.d.ts +0 -0
  74. /package/dist/{enums → src/enums}/db/common.enum.d.ts +0 -0
  75. /package/dist/{enums → src/enums}/db/component/index.d.ts +0 -0
  76. /package/dist/{enums → src/enums}/db/index.d.ts +0 -0
  77. /package/dist/{enums → src/enums}/db/market-maker.enum.d.ts +0 -0
  78. /package/dist/{enums → src/enums}/db/notification-center/userNotification.enum.d.ts +0 -0
  79. /package/dist/{enums → src/enums}/db/order-side.enum.d.ts +0 -0
  80. /package/dist/{enums → src/enums}/db/order-status.enum.d.ts +0 -0
  81. /package/dist/{enums → src/enums}/db/order-type.enum.d.ts +0 -0
  82. /package/dist/{enums → src/enums}/db/relayer.enum.d.ts +0 -0
  83. /package/dist/{enums → src/enums}/db/setting-type.enum.d.ts +0 -0
  84. /package/dist/{enums → src/enums}/db/social-action.enum.d.ts +0 -0
  85. /package/dist/{enums → src/enums}/db/social-prompt.enum.d.ts +0 -0
  86. /package/dist/{enums → src/enums}/db/social.enum.d.ts +0 -0
  87. /package/dist/{enums → src/enums}/db/state-type.enum.d.ts +0 -0
  88. /package/dist/{enums → src/enums}/db/trade.enums.d.ts +0 -0
  89. /package/dist/{enums → src/enums}/db/tradingKeyType.enum.d.ts +0 -0
  90. /package/dist/{enums → src/enums}/db/upgrade.enum.d.ts +0 -0
  91. /package/dist/{enums → src/enums}/db/withdrawal-wallet.enum.d.ts +0 -0
  92. /package/dist/{enums → src/enums}/index.d.ts +0 -0
  93. /package/dist/{enums → src/enums}/maintenanceMode.enum.d.ts +0 -0
  94. /package/dist/{enums → src/enums}/notification.enum.d.ts +0 -0
  95. /package/dist/{enums → src/enums}/rabbitMq.d.ts +0 -0
  96. /package/dist/{enums → src/enums}/social.enum.d.ts +0 -0
  97. /package/dist/{helpers → src/helpers}/Encoding.d.ts +0 -0
  98. /package/dist/{helpers → src/helpers}/algo.helper.d.ts +0 -0
  99. /package/dist/{helpers → src/helpers}/assert.helper.d.ts +0 -0
  100. /package/dist/{helpers → src/helpers}/balance.helper.d.ts +0 -0
  101. /package/dist/{helpers → src/helpers}/codex/common.helper.d.ts +0 -0
  102. /package/dist/{helpers → src/helpers}/codex/index.d.ts +0 -0
  103. /package/dist/{helpers → src/helpers}/codex/mbr.helper.d.ts +0 -0
  104. /package/dist/{helpers → src/helpers}/codex/mna.helper.d.ts +0 -0
  105. /package/dist/{helpers → src/helpers}/codex/order.helper.d.ts +0 -0
  106. /package/dist/{helpers → src/helpers}/codex/setGlobal.helper.d.ts +0 -0
  107. /package/dist/{helpers → src/helpers}/codex/transfer.helper.d.ts +0 -0
  108. /package/dist/{helpers → src/helpers}/codex/txn.helper.d.ts +0 -0
  109. /package/dist/{helpers → src/helpers}/codex.helper.d.ts +0 -0
  110. /package/dist/{helpers → src/helpers}/eth.helper.d.ts +0 -0
  111. /package/dist/{helpers → src/helpers}/index.d.ts +0 -0
  112. /package/dist/{helpers → src/helpers}/interval.helpers.d.ts +0 -0
  113. /package/dist/{helpers → src/helpers}/liquidity.helper.d.ts +0 -0
  114. /package/dist/{helpers → src/helpers}/order.helper.d.ts +0 -0
  115. /package/dist/{helpers → src/helpers}/pair.helper.d.ts +0 -0
  116. /package/dist/{helpers → src/helpers}/pointSystem.helper.d.ts +0 -0
  117. /package/dist/{helpers → src/helpers}/ticker.helpers.d.ts +0 -0
  118. /package/dist/{helpers → src/helpers}/vaa.helper.d.ts +0 -0
  119. /package/dist/{helpers → src/helpers}/withdraw.helper.d.ts +0 -0
  120. /package/dist/{interfaces → src/interfaces}/accountInfo.interface.d.ts +0 -0
  121. /package/dist/{interfaces → src/interfaces}/api/affiliate.interface.d.ts +0 -0
  122. /package/dist/{interfaces → src/interfaces}/api/index.d.ts +0 -0
  123. /package/dist/{interfaces → src/interfaces}/cache.interface.d.ts +0 -0
  124. /package/dist/{interfaces → src/interfaces}/db/baseModel.interface.d.ts +0 -0
  125. /package/dist/{interfaces → src/interfaces}/db/hummingbot/index.d.ts +0 -0
  126. /package/dist/{interfaces → src/interfaces}/db/index.d.ts +0 -0
  127. /package/dist/{interfaces → src/interfaces}/db/market/index.d.ts +0 -0
  128. /package/dist/{interfaces → src/interfaces}/db/marketing/index.d.ts +0 -0
  129. /package/dist/{interfaces → src/interfaces}/db/notification_center/index.d.ts +0 -0
  130. /package/dist/{interfaces → src/interfaces}/db/relayer/index.d.ts +0 -0
  131. /package/dist/{interfaces → src/interfaces}/db/social/index.d.ts +0 -0
  132. /package/dist/{interfaces → src/interfaces}/db/softDeleteModel.interface.d.ts +0 -0
  133. /package/dist/{interfaces → src/interfaces}/db/white_label/index.d.ts +0 -0
  134. /package/dist/{interfaces → src/interfaces}/db/withdrawal_wallets/index.d.ts +0 -0
  135. /package/dist/{interfaces → src/interfaces}/dto/index.d.ts +0 -0
  136. /package/dist/{interfaces → src/interfaces}/emailService.interface.d.ts +0 -0
  137. /package/dist/{interfaces → src/interfaces}/index.d.ts +0 -0
  138. /package/dist/{interfaces → src/interfaces}/kmsService.interface.d.ts +0 -0
  139. /package/dist/{interfaces → src/interfaces}/last-look-trade.interface.d.ts +0 -0
  140. /package/dist/{interfaces → src/interfaces}/market.interface.d.ts +0 -0
  141. /package/dist/{interfaces → src/interfaces}/order.interface.d.ts +0 -0
  142. /package/dist/{interfaces → src/interfaces}/pair.interface.d.ts +0 -0
  143. /package/dist/{interfaces → src/interfaces}/query.interface.d.ts +0 -0
  144. /package/dist/{interfaces → src/interfaces}/services/accountCache.interface.d.ts +0 -0
  145. /package/dist/{interfaces → src/interfaces}/services/algod.interface.d.ts +0 -0
  146. /package/dist/{interfaces → src/interfaces}/services/balances.interface.d.ts +0 -0
  147. /package/dist/{interfaces → src/interfaces}/services/coin-market-cap.interface.d.ts +0 -0
  148. /package/dist/{interfaces → src/interfaces}/services/index.d.ts +0 -0
  149. /package/dist/{interfaces → src/interfaces}/services/price-model.interface.d.ts +0 -0
  150. /package/dist/{interfaces → src/interfaces}/services/price-service.interface.d.ts +0 -0
  151. /package/dist/{interfaces → src/interfaces}/services/socialActivity.interface.d.ts +0 -0
  152. /package/dist/{interfaces → src/interfaces}/services/tmc.interface.d.ts +0 -0
  153. /package/dist/{interfaces → src/interfaces}/streaming.interface.d.ts +0 -0
  154. /package/dist/{interfaces → src/interfaces}/timestream.interface.d.ts +0 -0
  155. /package/dist/{interfaces → src/interfaces}/trading.interface.d.ts +0 -0
  156. /package/dist/{interfaces → src/interfaces}/tradingKey.interface.d.ts +0 -0
  157. /package/dist/{interfaces → src/interfaces}/transfer.interface.d.ts +0 -0
  158. /package/dist/{interfaces → src/interfaces}/wallet.interface.d.ts +0 -0
  159. /package/dist/{interfaces → src/interfaces}/withdrawalWallets.interface.d.ts +0 -0
  160. /package/dist/{types → src/types}/algo-order.type.d.ts +0 -0
  161. /package/dist/{types → src/types}/amm/amm.d.ts +0 -0
  162. /package/dist/{types → src/types}/api/request.types.d.ts +0 -0
  163. /package/dist/{types → src/types}/codex.types.d.ts +0 -0
  164. /package/dist/{types → src/types}/hummingbots.types.d.ts +0 -0
  165. /package/dist/{types → src/types}/index.d.ts +0 -0
  166. /package/dist/{types → src/types}/notification.type.d.ts +0 -0
  167. /package/dist/{types → src/types}/settings.type.d.ts +0 -0
  168. /package/dist/{types → src/types}/state.type.d.ts +0 -0
@@ -1,338 +1 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ var __webpack_modules__ = ({
4
-
5
- /***/ 1174:
6
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7
-
8
-
9
- var __importDefault = (this && this.__importDefault) || function (mod) {
10
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
- };
12
- Object.defineProperty(exports, "__esModule", ({ value: true }));
13
- exports.Operations = void 0;
14
- exports.absolute = absolute;
15
- exports.ceil = ceil;
16
- exports.toFixed = toFixed;
17
- exports.floor = floor;
18
- exports.round = round;
19
- exports.plus = plus;
20
- exports.minus = minus;
21
- exports.multiply = multiply;
22
- exports.toUsd = toUsd;
23
- exports.divide = divide;
24
- exports.greaterThanOrEqual = greaterThanOrEqual;
25
- exports.greaterThan = greaterThan;
26
- exports.lessThanOrEqual = lessThanOrEqual;
27
- exports.lessThan = lessThan;
28
- exports.equal = equal;
29
- exports.mod = mod;
30
- exports.modZero = modZero;
31
- exports.bn_operation = bn_operation;
32
- exports.roundNumber = roundNumber;
33
- exports.convertFromBaseUnits = convertFromBaseUnits;
34
- exports.convertToBaseUnits = convertToBaseUnits;
35
- const bignumber_js_1 = __importDefault(__webpack_require__(4978));
36
- bignumber_js_1.default.config({ DECIMAL_PLACES: 40, EXPONENTIAL_AT: 45 });
37
- var Operations;
38
- (function (Operations) {
39
- Operations["MINUS"] = "-";
40
- Operations["PLUS"] = "+";
41
- Operations["MULTIPLY"] = "*";
42
- Operations["DIVIDE"] = "/";
43
- Operations["GREATER_THAN_OR_EQUAL"] = ">=";
44
- Operations["GREATER_THAN"] = ">";
45
- Operations["LESS_THAN_OR_EQUAL"] = "<=";
46
- Operations["LESS_THAN"] = "<";
47
- Operations["EQUAL"] = "==";
48
- Operations["MOD"] = "mod";
49
- })(Operations || (exports.Operations = Operations = {}));
50
- function absolute(value) {
51
- let x = new bignumber_js_1.default(value);
52
- const res = x.abs().toString();
53
- return res;
54
- }
55
- function ceil(value) {
56
- let x = new bignumber_js_1.default(String(value));
57
- const res = x.integerValue(bignumber_js_1.default.ROUND_CEIL).toString();
58
- if (!equal(value, res)) {
59
- console.log('Ceil value', { value, res });
60
- }
61
- return res;
62
- }
63
- function toFixed(value, decimalPlaces, roundUpToFirstSignificant = false) {
64
- const x = new bignumber_js_1.default(String(value));
65
- let res;
66
- if (roundUpToFirstSignificant) {
67
- const valueStr = x.toFixed();
68
- const decimalIndex = valueStr.indexOf('.');
69
- if (decimalIndex >= 0) {
70
- const fractionalPart = valueStr.slice(decimalIndex + 1);
71
- let leadingZeros = 0;
72
- for (let char of fractionalPart) {
73
- if (char === '0') {
74
- leadingZeros++;
75
- }
76
- else {
77
- break;
78
- }
79
- }
80
- const totalDecimalPlaces = leadingZeros + 1;
81
- res = x.toFixed(totalDecimalPlaces, bignumber_js_1.default.ROUND_UP);
82
- }
83
- else {
84
- res = x.toFixed(0);
85
- }
86
- }
87
- else {
88
- res = x.toFixed(decimalPlaces);
89
- }
90
- console.log('Fixed value', { value, res });
91
- return res;
92
- }
93
- function floor(value) {
94
- let x = new bignumber_js_1.default(String(value));
95
- const res = x.integerValue(bignumber_js_1.default.ROUND_FLOOR).toString();
96
- console.log('Floor value', { value, res });
97
- return res;
98
- }
99
- function round(value) {
100
- let x = new bignumber_js_1.default(String(value));
101
- const res = x.integerValue(bignumber_js_1.default.ROUND_HALF_UP).toString();
102
- console.log('Round value', { value, res });
103
- return res;
104
- }
105
- function plus(value1, value2) {
106
- return bn_operation(value1, value2, Operations.PLUS);
107
- }
108
- function minus(value1, value2) {
109
- return bn_operation(value1, value2, Operations.MINUS);
110
- }
111
- function multiply(value1, value2) {
112
- return bn_operation(value1, value2, Operations.MULTIPLY);
113
- }
114
- function toUsd(amount, price) {
115
- return multiply(amount, price || 0);
116
- }
117
- ;
118
- function divide(value1, value2) {
119
- return bn_operation(value1, value2, Operations.DIVIDE);
120
- }
121
- function greaterThanOrEqual(value1, value2) {
122
- return Boolean(bn_operation(value1, value2, Operations.GREATER_THAN_OR_EQUAL));
123
- }
124
- function greaterThan(value1, value2) {
125
- return Boolean(bn_operation(value1, value2, Operations.GREATER_THAN));
126
- }
127
- function lessThanOrEqual(value1, value2) {
128
- return Boolean(bn_operation(value1, value2, Operations.LESS_THAN_OR_EQUAL));
129
- }
130
- function lessThan(value1, value2) {
131
- return Boolean(bn_operation(value1, value2, Operations.LESS_THAN));
132
- }
133
- function equal(value1, value2) {
134
- return Boolean(bn_operation(value1, value2, Operations.EQUAL));
135
- }
136
- function mod(value1, value2) {
137
- return bn_operation(value1, value2, Operations.MOD);
138
- }
139
- function modZero(value1, value2) {
140
- return equal(mod(value1, value2), 0);
141
- }
142
- function bn_operation(a, b, operation) {
143
- a = new bignumber_js_1.default(String(a));
144
- b = new bignumber_js_1.default(String(b));
145
- switch (operation.toLowerCase()) {
146
- case '-':
147
- return a.minus(b).toString();
148
- case '+':
149
- return a.plus(b).toString();
150
- case '*':
151
- case 'x':
152
- return a.multipliedBy(b).toString();
153
- case '÷':
154
- case '/':
155
- return a.dividedBy(b).toString();
156
- case '>=':
157
- return a.isGreaterThanOrEqualTo(b);
158
- case '>':
159
- return a.isGreaterThan(b);
160
- case '<=':
161
- return a.isLessThanOrEqualTo(b);
162
- case '<':
163
- return a.isLessThan(b);
164
- case '==':
165
- return a.isEqualTo(b);
166
- case 'mod':
167
- return a.modulo(b);
168
- default:
169
- break;
170
- }
171
- }
172
- function getExponentialNumberComponents(x) {
173
- if (x.toString().includes('e')) {
174
- const parts = x.toString().split('e');
175
- return [parseFloat(parts[0]), parseFloat(parts[1])];
176
- }
177
- return [x, 0];
178
- }
179
- function generateExponentialNumberFromComponents(decimalPart, exponent) {
180
- return decimalPart + (exponent < 0 ? `e${exponent}` : `e+${exponent}`);
181
- }
182
- function roundNumber({ decimalPlaces = 0 }, x) {
183
- if (decimalPlaces > 0) {
184
- const [decimal, decimalExponentialPart] = getExponentialNumberComponents(x);
185
- const [rounded, roundedExponentialPart] = getExponentialNumberComponents(Math.round(Number(generateExponentialNumberFromComponents(decimal, decimalExponentialPart + decimalPlaces))));
186
- return Number(generateExponentialNumberFromComponents(rounded, roundedExponentialPart - decimalPlaces));
187
- }
188
- return Math.round(x);
189
- }
190
- function convertFromBaseUnits(assetDecimals, quantity) {
191
- const decimals = Number(assetDecimals);
192
- return roundNumber({ decimalPlaces: decimals }, Math.pow(10, -decimals) * Number(quantity));
193
- }
194
- function convertToBaseUnits(assetDecimals, quantity) {
195
- const baseAmount = Math.pow(10, Number(assetDecimals)) * Number(quantity);
196
- return roundNumber({ decimalPlaces: 0 }, baseAmount);
197
- }
198
-
199
-
200
- /***/ }),
201
-
202
- /***/ 4978:
203
- /***/ ((module) => {
204
-
205
- module.exports = require("bignumber.js");
206
-
207
- /***/ })
208
-
209
- /******/ });
210
- /************************************************************************/
211
- /******/ // The module cache
212
- /******/ var __webpack_module_cache__ = {};
213
- /******/
214
- /******/ // The require function
215
- /******/ function __webpack_require__(moduleId) {
216
- /******/ // Check if module is in cache
217
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
218
- /******/ if (cachedModule !== undefined) {
219
- /******/ return cachedModule.exports;
220
- /******/ }
221
- /******/ // Create a new module (and put it into the cache)
222
- /******/ var module = __webpack_module_cache__[moduleId] = {
223
- /******/ // no module.id needed
224
- /******/ // no module.loaded needed
225
- /******/ exports: {}
226
- /******/ };
227
- /******/
228
- /******/ // Execute the module function
229
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
230
- /******/
231
- /******/ // Return the exports of the module
232
- /******/ return module.exports;
233
- /******/ }
234
- /******/
235
- /************************************************************************/
236
- var __webpack_exports__ = {};
237
- // This entry needs to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
238
- (() => {
239
- var exports = __webpack_exports__;
240
-
241
- Object.defineProperty(exports, "__esModule", ({ value: true }));
242
- exports.groupTickersByInterval = groupTickersByInterval;
243
- exports.groupTickersByMonthInterval = groupTickersByMonthInterval;
244
- exports.groupTickersByYearInterval = groupTickersByYearInterval;
245
- exports.mapCandleToTicker = mapCandleToTicker;
246
- exports.roundUpSecondsInTimestamp = roundUpSecondsInTimestamp;
247
- exports.roundUpMinutesInTimestamp = roundUpMinutesInTimestamp;
248
- exports.roundUpHoursInTimestamp = roundUpHoursInTimestamp;
249
- const big_number_helper_1 = __webpack_require__(1174);
250
- function groupTickersByInterval(tickers, newIntervalInSec, endTimeInSec) {
251
- const newGroupedTickers = [];
252
- let timestamp = endTimeInSec - newIntervalInSec;
253
- let slot = null;
254
- const sortedTickers = tickers.sort((a, b) => b.t - a.t);
255
- for (let i = 0; i < sortedTickers.length; i++) {
256
- const element = sortedTickers[i];
257
- if (element.t < timestamp) {
258
- if (slot) {
259
- newGroupedTickers.push({ ...slot });
260
- slot = null;
261
- }
262
- timestamp = timestamp - newIntervalInSec * Math.ceil((timestamp - element.t) / newIntervalInSec);
263
- }
264
- if (!slot) {
265
- slot = { ...element, t: timestamp };
266
- }
267
- else {
268
- if ((0, big_number_helper_1.lessThan)(slot.h, element.h))
269
- slot.h = element.h;
270
- if ((0, big_number_helper_1.greaterThan)(slot.l, element.l))
271
- slot.l = element.l;
272
- slot.o = element.o;
273
- slot.v = Number((0, big_number_helper_1.plus)(slot.v, element.v));
274
- }
275
- if (i + 1 === sortedTickers.length) {
276
- newGroupedTickers.push({ ...slot });
277
- }
278
- }
279
- return newGroupedTickers;
280
- }
281
- function groupTickersByMonthInterval(tickers, months, endTimeInSec) {
282
- const sortedTickers = tickers.sort((a, b) => b.t - a.t);
283
- const yearlyTickers = [];
284
- const tickersByYear = new Map();
285
- for (const ticker of sortedTickers) {
286
- const date = new Date(ticker.t * 1000);
287
- const year = date.getFullYear();
288
- if (!tickersByYear.has(year)) {
289
- tickersByYear.set(year, []);
290
- }
291
- tickersByYear.get(year).push(ticker);
292
- }
293
- for (const [year, yearTickers] of tickersByYear) {
294
- if (yearTickers.length === 0)
295
- continue;
296
- const sortedYearTickers = yearTickers.sort((a, b) => a.t - b.t);
297
- const yearlyTicker = {
298
- t: new Date(year, 0, 1).getTime() / 1000,
299
- o: sortedYearTickers[0].o,
300
- h: Math.max(...sortedYearTickers.map(t => t.h)),
301
- l: Math.min(...sortedYearTickers.map(t => t.l)),
302
- c: sortedYearTickers[sortedYearTickers.length - 1].c,
303
- v: sortedYearTickers.reduce((sum, t) => sum + t.v, 0),
304
- q: sortedYearTickers.reduce((sum, t) => sum + t.q, 0),
305
- };
306
- yearlyTickers.push(yearlyTicker);
307
- }
308
- return yearlyTickers.sort((a, b) => b.t - a.t);
309
- }
310
- function groupTickersByYearInterval(tickers, years, endTimeInSec) {
311
- throw new Error("groupTickersByYearInterval has not implemented yet");
312
- }
313
- function mapCandleToTicker(candle) {
314
- return {
315
- t: +(0, big_number_helper_1.divide)(candle.timestamp, 1000),
316
- o: candle.open,
317
- h: candle.high,
318
- l: candle.low,
319
- c: candle.close,
320
- v: candle.volume,
321
- q: candle.quote
322
- };
323
- }
324
- function roundUpSecondsInTimestamp(timeInSec) {
325
- return (new Date(timeInSec * 1000).setSeconds(60, 0)) / 1000;
326
- }
327
- function roundUpMinutesInTimestamp(timeInSec) {
328
- return (new Date(timeInSec * 1000).setMinutes(60, 0, 0)) / 1000;
329
- }
330
- function roundUpHoursInTimestamp(timeInSec) {
331
- return (new Date(timeInSec * 1000).setHours(24, 0, 0, 0)) / 1000;
332
- }
333
-
334
- })();
335
-
336
- module.exports = __webpack_exports__;
337
- /******/ })()
338
- ;
1
+ var E=Object.create;var g=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var A=(e,n)=>{for(var i in n)g(e,i,{get:n[i],enumerable:!0})},p=(e,n,i,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of k(n))!L.call(e,o)&&o!==i&&g(e,o,{get:()=>n[o],enumerable:!(a=S(n,o))||a.enumerable});return e};var U=(e,n,i)=>(i=e!=null?E(N(e)):{},p(n||!e||!e.__esModule?g(i,"default",{value:e,enumerable:!0}):i,e)),_=e=>p(g({},"__esModule",{value:!0}),e);var B={};A(B,{groupTickersByInterval:()=>O,groupTickersByMonthInterval:()=>w,groupTickersByYearInterval:()=>y,mapCandleToTicker:()=>M,roundUpHoursInTimestamp:()=>I,roundUpMinutesInTimestamp:()=>D,roundUpSecondsInTimestamp:()=>R});module.exports=_(B);var l=U(require("bignumber.js"));l.default.config({DECIMAL_PLACES:40,EXPONENTIAL_AT:45});function T(e,n){return b(e,n,"+")}function f(e,n){return b(e,n,"/")}function d(e,n){return!!b(e,n,">")}function x(e,n){return!!b(e,n,"<")}function b(e,n,i){switch(e=new l.default(String(e)),n=new l.default(String(n)),i.toLowerCase()){case"-":return e.minus(n).toString();case"+":return e.plus(n).toString();case"*":case"x":return e.multipliedBy(n).toString();case"\xF7":case"/":return e.dividedBy(n).toString();case">=":return e.isGreaterThanOrEqualTo(n);case">":return e.isGreaterThan(n);case"<=":return e.isLessThanOrEqualTo(n);case"<":return e.isLessThan(n);case"==":return e.isEqualTo(n);case"mod":return e.modulo(n);default:break}}function O(e,n,i){let a=[],o=i-n,t=null,s=e.sort((u,r)=>r.t-u.t);for(let u=0;u<s.length;u++){let r=s[u];r.t<o&&(t&&(a.push({...t}),t=null),o=o-n*Math.ceil((o-r.t)/n)),t?(x(t.h,r.h)&&(t.h=r.h),d(t.l,r.l)&&(t.l=r.l),t.o=r.o,t.v=Number(T(t.v,r.v))):t={...r,t:o},u+1===s.length&&a.push({...t})}return a}function w(e,n,i){let a=e.sort((s,u)=>u.t-s.t),o=[],t=new Map;for(let s of a){let r=new Date(s.t*1e3).getFullYear();t.has(r)||t.set(r,[]),t.get(r).push(s)}for(let[s,u]of t){if(u.length===0)continue;let r=u.sort((c,m)=>c.t-m.t),h={t:new Date(s,0,1).getTime()/1e3,o:r[0].o,h:Math.max(...r.map(c=>c.h)),l:Math.min(...r.map(c=>c.l)),c:r[r.length-1].c,v:r.reduce((c,m)=>c+m.v,0),q:r.reduce((c,m)=>c+m.q,0)};o.push(h)}return o.sort((s,u)=>u.t-s.t)}function y(e,n,i){throw new Error("groupTickersByYearInterval has not implemented yet")}function M(e){return{t:+f(e.timestamp,1e3),o:e.open,h:e.high,l:e.low,c:e.close,v:e.volume,q:e.quote}}function R(e){return new Date(e*1e3).setSeconds(60,0)/1e3}function D(e){return new Date(e*1e3).setMinutes(60,0,0)/1e3}function I(e){return new Date(e*1e3).setHours(24,0,0,0)/1e3}0&&(module.exports={groupTickersByInterval,groupTickersByMonthInterval,groupTickersByYearInterval,mapCandleToTicker,roundUpHoursInTimestamp,roundUpMinutesInTimestamp,roundUpSecondsInTimestamp});