@defisaver/automation-sdk 2.0.2 → 2.0.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.
Files changed (55) hide show
  1. package/.eslintrc.js +1 -0
  2. package/esm/abis/index.js +27 -15
  3. package/esm/automation/private/Automation.js +9 -6
  4. package/esm/automation/private/LegacyAutomation.d.ts +5 -5
  5. package/esm/automation/private/LegacyAutomation.js +30 -23
  6. package/esm/automation/private/LegacyProtocol.js +4 -1
  7. package/esm/automation/private/Protocol.js +4 -1
  8. package/esm/automation/private/StrategiesAutomation.d.ts +2 -2
  9. package/esm/automation/private/StrategiesAutomation.js +27 -21
  10. package/esm/automation/public/ArbitrumStrategies.js +10 -4
  11. package/esm/automation/public/EthereumStrategies.js +10 -4
  12. package/esm/automation/public/OptimismStrategies.js +10 -4
  13. package/esm/automation/public/legacy/LegacyAaveAutomation.js +13 -7
  14. package/esm/automation/public/legacy/LegacyCompoundAutomation.js +13 -7
  15. package/esm/automation/public/legacy/LegacyMakerAutomation.js +13 -7
  16. package/esm/configuration.js +8 -5
  17. package/esm/constants/index.js +281 -275
  18. package/esm/index.js +57 -17
  19. package/esm/services/contractService.js +22 -14
  20. package/esm/services/ethereumService.js +18 -10
  21. package/esm/services/strategiesService.js +132 -105
  22. package/esm/services/strategySubService.js +90 -61
  23. package/esm/services/subDataService.d.ts +5 -0
  24. package/esm/services/subDataService.js +158 -145
  25. package/esm/services/triggerService.d.ts +5 -5
  26. package/esm/services/triggerService.js +124 -94
  27. package/esm/services/utils.js +82 -33
  28. package/esm/services/utils.test.d.ts +1 -0
  29. package/esm/services/utils.test.js +362 -0
  30. package/esm/types/contracts/generated/Erc20.js +2 -1
  31. package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.js +2 -1
  32. package/esm/types/contracts/generated/Legacy_AuthCheck.js +2 -1
  33. package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +2 -1
  34. package/esm/types/contracts/generated/Legacy_MakerSubscriptions.js +2 -1
  35. package/esm/types/contracts/generated/SubStorage.js +2 -1
  36. package/esm/types/contracts/generated/UniMulticall.js +2 -1
  37. package/esm/types/contracts/generated/index.js +2 -1
  38. package/esm/types/contracts/generated/types.js +2 -1
  39. package/esm/types/enums.js +17 -14
  40. package/esm/types/index.js +2 -1
  41. package/package.json +11 -7
  42. package/src/automation/private/LegacyAutomation.ts +11 -10
  43. package/src/automation/private/StrategiesAutomation.ts +5 -6
  44. package/src/configuration.ts +0 -3
  45. package/src/index.ts +0 -1
  46. package/src/services/ethereumService.ts +6 -6
  47. package/src/services/strategiesService.ts +2 -2
  48. package/src/services/subDataService.ts +84 -76
  49. package/src/services/triggerService.ts +83 -83
  50. package/src/services/utils.test.ts +414 -0
  51. package/src/services/utils.ts +6 -7
  52. package/tsconfig.json +1 -1
  53. package/umd/index.js +7045 -4124
  54. package/src/types/typings/process.d.ts +0 -9
  55. package/yarn-error.log +0 -7233
@@ -1,12 +1,38 @@
1
- import { getAssetInfoByAddress } from '@defisaver/tokens';
2
- import { cloneDeep } from 'lodash';
3
- import { BUNDLES_INFO, STRATEGIES_INFO } from '../constants';
4
- import { ProtocolIdentifiers, Strategies } from '../types/enums';
5
- import { getRatioStateInfoForAaveCloseStrategy, isRatioStateOver, wethToEthByAddress } from './utils';
6
- import * as subDataService from './subDataService';
7
- import * as triggerService from './triggerService';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.parseStrategiesAutomatedPosition = void 0;
27
+ const tokens_1 = require("@defisaver/tokens");
28
+ const lodash_1 = require("lodash");
29
+ const constants_1 = require("../constants");
30
+ const enums_1 = require("../types/enums");
31
+ const utils_1 = require("./utils");
32
+ const subDataService = __importStar(require("./subDataService"));
33
+ const triggerService = __importStar(require("./triggerService"));
8
34
  function parseMakerSavingsLiqProtection(position, parseData) {
9
- const _position = cloneDeep(position);
35
+ const _position = (0, lodash_1.cloneDeep)(position);
10
36
  const { subStruct } = parseData.subscriptionEventData;
11
37
  const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
12
38
  const subData = subDataService.makerRepayFromSavingsSubData.decode(subStruct.subData);
@@ -21,14 +47,14 @@ function parseMakerSavingsLiqProtection(position, parseData) {
21
47
  return _position;
22
48
  }
23
49
  function parseMakerCloseOnPrice(position, parseData) {
24
- const _position = cloneDeep(position);
50
+ const _position = (0, lodash_1.cloneDeep)(position);
25
51
  const { subStruct } = parseData.subscriptionEventData;
26
52
  const triggerData = triggerService.chainlinkPriceTrigger.decode(subStruct.triggerData);
27
53
  const subData = subDataService.makerCloseSubData.decode(subStruct.subData);
28
54
  _position.strategyData.decoded.triggerData = triggerData;
29
55
  _position.strategyData.decoded.subData = subData;
30
- const isTakeProfit = isRatioStateOver(Number(triggerData.state));
31
- _position.strategy.strategyId = isTakeProfit ? Strategies.IdOverrides.TakeProfit : Strategies.IdOverrides.StopLoss;
56
+ const isTakeProfit = (0, utils_1.isRatioStateOver)(Number(triggerData.state));
57
+ _position.strategy.strategyId = isTakeProfit ? enums_1.Strategies.IdOverrides.TakeProfit : enums_1.Strategies.IdOverrides.StopLoss;
32
58
  _position.specific = {
33
59
  price: triggerData.price,
34
60
  closeToAssetAddr: subData.closeToAssetAddr,
@@ -36,13 +62,13 @@ function parseMakerCloseOnPrice(position, parseData) {
36
62
  return _position;
37
63
  }
38
64
  function parseMakerTrailingStop(position, parseData) {
39
- const _position = cloneDeep(position);
65
+ const _position = (0, lodash_1.cloneDeep)(position);
40
66
  const { subStruct } = parseData.subscriptionEventData;
41
67
  const triggerData = triggerService.trailingStopTrigger.decode(subStruct.triggerData);
42
68
  const subData = subDataService.makerCloseSubData.decode(subStruct.subData);
43
69
  _position.strategyData.decoded.triggerData = triggerData;
44
70
  _position.strategyData.decoded.subData = subData;
45
- _position.strategy.strategyId = Strategies.IdOverrides.TrailingStop;
71
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.TrailingStop;
46
72
  _position.specific = {
47
73
  triggerPercentage: Number(triggerData.triggerPercentage),
48
74
  roundId: Number(triggerData.roundId),
@@ -51,14 +77,14 @@ function parseMakerTrailingStop(position, parseData) {
51
77
  return _position;
52
78
  }
53
79
  function parseMakerLeverageManagement(position, parseData) {
54
- const _position = cloneDeep(position);
80
+ const _position = (0, lodash_1.cloneDeep)(position);
55
81
  const { subStruct, subId } = parseData.subscriptionEventData;
56
82
  const { isEnabled } = parseData.strategiesSubsData;
57
83
  const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
58
84
  const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
59
85
  _position.strategyData.decoded.triggerData = triggerData;
60
86
  _position.strategyData.decoded.subData = subData;
61
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
87
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
62
88
  if (isRepay) {
63
89
  _position.specific = {
64
90
  triggerRepayRatio: triggerData.ratio,
@@ -75,19 +101,19 @@ function parseMakerLeverageManagement(position, parseData) {
75
101
  subId2: Number(subId),
76
102
  };
77
103
  }
78
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
104
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
79
105
  _position.specific.mergeWithSameId = true;
80
106
  return _position;
81
107
  }
82
108
  function parseLiquityCloseOnPrice(position, parseData) {
83
- const _position = cloneDeep(position);
109
+ const _position = (0, lodash_1.cloneDeep)(position);
84
110
  const { subStruct } = parseData.subscriptionEventData;
85
111
  const triggerData = triggerService.chainlinkPriceTrigger.decode(subStruct.triggerData);
86
112
  const subData = subDataService.liquityCloseSubData.decode(subStruct.subData);
87
113
  _position.strategyData.decoded.triggerData = triggerData;
88
114
  _position.strategyData.decoded.subData = subData;
89
- const isTakeProfit = isRatioStateOver(Number(triggerData.state));
90
- _position.strategy.strategyId = isTakeProfit ? Strategies.IdOverrides.TakeProfit : Strategies.IdOverrides.StopLoss;
115
+ const isTakeProfit = (0, utils_1.isRatioStateOver)(Number(triggerData.state));
116
+ _position.strategy.strategyId = isTakeProfit ? enums_1.Strategies.IdOverrides.TakeProfit : enums_1.Strategies.IdOverrides.StopLoss;
91
117
  _position.specific = {
92
118
  price: triggerData.price,
93
119
  closeToAssetAddr: subData.closeToAssetAddr,
@@ -95,13 +121,13 @@ function parseLiquityCloseOnPrice(position, parseData) {
95
121
  return _position;
96
122
  }
97
123
  function parseLiquityTrailingStop(position, parseData) {
98
- const _position = cloneDeep(position);
124
+ const _position = (0, lodash_1.cloneDeep)(position);
99
125
  const { subStruct } = parseData.subscriptionEventData;
100
126
  const triggerData = triggerService.trailingStopTrigger.decode(subStruct.triggerData);
101
127
  const subData = subDataService.liquityCloseSubData.decode(subStruct.subData);
102
128
  _position.strategyData.decoded.triggerData = triggerData;
103
129
  _position.strategyData.decoded.subData = subData;
104
- _position.strategy.strategyId = Strategies.IdOverrides.TrailingStop;
130
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.TrailingStop;
105
131
  _position.specific = {
106
132
  triggerPercentage: Number(triggerData.triggerPercentage),
107
133
  roundId: Number(triggerData.roundId),
@@ -110,14 +136,14 @@ function parseLiquityTrailingStop(position, parseData) {
110
136
  return _position;
111
137
  }
112
138
  function parseAaveV2LeverageManagement(position, parseData) {
113
- const _position = cloneDeep(position);
139
+ const _position = (0, lodash_1.cloneDeep)(position);
114
140
  const { subStruct, subId } = parseData.subscriptionEventData;
115
141
  const { isEnabled } = parseData.strategiesSubsData;
116
142
  const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
117
143
  const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
118
144
  _position.strategyData.decoded.triggerData = triggerData;
119
145
  _position.strategyData.decoded.subData = subData;
120
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
146
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
121
147
  if (isRepay) {
122
148
  _position.specific = {
123
149
  triggerRepayRatio: triggerData.ratio,
@@ -134,19 +160,19 @@ function parseAaveV2LeverageManagement(position, parseData) {
134
160
  subId2: Number(subId),
135
161
  };
136
162
  }
137
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
163
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
138
164
  _position.specific.mergeWithSameId = true;
139
165
  return _position;
140
166
  }
141
167
  function parseAaveV3LeverageManagement(position, parseData) {
142
- const _position = cloneDeep(position);
168
+ const _position = (0, lodash_1.cloneDeep)(position);
143
169
  const { subStruct, subId } = parseData.subscriptionEventData;
144
170
  const { isEnabled } = parseData.strategiesSubsData;
145
171
  const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
146
172
  const subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
147
173
  _position.strategyData.decoded.triggerData = triggerData;
148
174
  _position.strategyData.decoded.subData = subData;
149
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
175
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
150
176
  if (isRepay) {
151
177
  _position.specific = {
152
178
  triggerRepayRatio: triggerData.ratio,
@@ -163,19 +189,19 @@ function parseAaveV3LeverageManagement(position, parseData) {
163
189
  subId2: Number(subId),
164
190
  };
165
191
  }
166
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
192
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
167
193
  _position.specific.mergeWithSameId = true;
168
194
  return _position;
169
195
  }
170
196
  function parseMorphoAaveV2LeverageManagement(position, parseData) {
171
- const _position = cloneDeep(position);
197
+ const _position = (0, lodash_1.cloneDeep)(position);
172
198
  const { subStruct, subId } = parseData.subscriptionEventData;
173
199
  const { isEnabled } = parseData.strategiesSubsData;
174
200
  const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
175
201
  const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
176
202
  _position.strategyData.decoded.triggerData = triggerData;
177
203
  _position.strategyData.decoded.subData = subData;
178
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
204
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
179
205
  if (isRepay) {
180
206
  _position.specific = {
181
207
  triggerRepayRatio: triggerData.ratio,
@@ -192,12 +218,12 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
192
218
  subId2: Number(subId),
193
219
  };
194
220
  }
195
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
221
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
196
222
  _position.specific.mergeWithSameId = true;
197
223
  return _position;
198
224
  }
199
225
  function parseAaveV3CloseOnPrice(position, parseData) {
200
- const _position = cloneDeep(position);
226
+ const _position = (0, lodash_1.cloneDeep)(position);
201
227
  const { subStruct } = parseData.subscriptionEventData;
202
228
  const triggerData = triggerService.aaveV3QuotePriceTrigger.decode(subStruct.triggerData);
203
229
  const subData = subDataService.aaveV3QuotePriceSubData.decode(subStruct.subData);
@@ -213,12 +239,12 @@ function parseAaveV3CloseOnPrice(position, parseData) {
213
239
  price: triggerData.price,
214
240
  ratioState: triggerData.ratioState,
215
241
  };
216
- const { ratioState } = getRatioStateInfoForAaveCloseStrategy(_position.specific.ratioState, wethToEthByAddress(_position.specific.collAsset, parseData.chainId), wethToEthByAddress(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
217
- _position.strategy.strategyId = isRatioStateOver(ratioState) ? Strategies.IdOverrides.TakeProfit : Strategies.IdOverrides.StopLoss;
242
+ const { ratioState } = (0, utils_1.getRatioStateInfoForAaveCloseStrategy)(_position.specific.ratioState, (0, utils_1.wethToEthByAddress)(_position.specific.collAsset, parseData.chainId), (0, utils_1.wethToEthByAddress)(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
243
+ _position.strategy.strategyId = (0, utils_1.isRatioStateOver)(ratioState) ? enums_1.Strategies.IdOverrides.TakeProfit : enums_1.Strategies.IdOverrides.StopLoss;
218
244
  return _position;
219
245
  }
220
246
  function parseCompoundV2LeverageManagement(position, parseData) {
221
- const _position = cloneDeep(position);
247
+ const _position = (0, lodash_1.cloneDeep)(position);
222
248
  const { subStruct, subId } = parseData.subscriptionEventData;
223
249
  const { isEnabled } = parseData.strategiesSubsData;
224
250
  const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
@@ -226,7 +252,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
226
252
  _position.strategyData.decoded.triggerData = triggerData;
227
253
  _position.strategyData.decoded.subData = subData;
228
254
  _position.owner = triggerData.owner;
229
- const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
255
+ const isRepay = [enums_1.Strategies.Identifiers.Repay, enums_1.Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
230
256
  if (isRepay) {
231
257
  _position.specific = {
232
258
  triggerRepayRatio: triggerData.ratio,
@@ -243,12 +269,12 @@ function parseCompoundV2LeverageManagement(position, parseData) {
243
269
  subId2: Number(subId),
244
270
  };
245
271
  }
246
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
272
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
247
273
  _position.specific.mergeWithSameId = true;
248
274
  return _position;
249
275
  }
250
276
  function parseCompoundV3LeverageManagement(position, parseData) {
251
- const _position = cloneDeep(position);
277
+ const _position = (0, lodash_1.cloneDeep)(position);
252
278
  const { subStruct, subId } = parseData.subscriptionEventData;
253
279
  const { isEnabled } = parseData.strategiesSubsData;
254
280
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
@@ -256,7 +282,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
256
282
  _position.strategyData.decoded.triggerData = triggerData;
257
283
  _position.strategyData.decoded.subData = subData;
258
284
  _position.owner = triggerData.owner;
259
- const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
285
+ const isRepay = [enums_1.Strategies.Identifiers.Repay, enums_1.Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
260
286
  if (isRepay) {
261
287
  _position.specific = {
262
288
  triggerRepayRatio: triggerData.ratio,
@@ -274,19 +300,19 @@ function parseCompoundV3LeverageManagement(position, parseData) {
274
300
  };
275
301
  }
276
302
  const isEOA = _position.strategy.strategyId.includes('eoa');
277
- _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
303
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
278
304
  _position.specific.mergeWithSameId = true;
279
305
  return _position;
280
306
  }
281
307
  function parseChickenBondsRebond(position, parseData) {
282
- const _position = cloneDeep(position);
308
+ const _position = (0, lodash_1.cloneDeep)(position);
283
309
  const { subStruct } = parseData.subscriptionEventData;
284
310
  _position.strategyData.decoded.triggerData = triggerService.cBondsRebondTrigger.decode(subStruct.triggerData);
285
311
  _position.strategyData.decoded.subData = subDataService.cBondsRebondSubData.decode(subStruct.subData);
286
312
  return _position;
287
313
  }
288
314
  function parseLiquityBondProtection(position, parseData) {
289
- const _position = cloneDeep(position);
315
+ const _position = (0, lodash_1.cloneDeep)(position);
290
316
  const { subStruct } = parseData.subscriptionEventData;
291
317
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
292
318
  _position.strategyData.decoded.subData = subDataService.liquityPaybackUsingChickenBondSubData.decode(subStruct.subData);
@@ -299,30 +325,30 @@ function parseLiquityBondProtection(position, parseData) {
299
325
  return _position;
300
326
  }
301
327
  function parseExchangeDca(position, parseData, chainId) {
302
- const _position = cloneDeep(position);
328
+ const _position = (0, lodash_1.cloneDeep)(position);
303
329
  const { subStruct } = parseData.subscriptionEventData;
304
330
  _position.strategyData.decoded.triggerData = triggerService.exchangeTimestampTrigger.decode(subStruct.triggerData);
305
331
  _position.strategyData.decoded.subData = subDataService.exchangeDcaSubData.decode(subStruct.subData, chainId);
306
332
  return _position;
307
333
  }
308
334
  function parseExchangeLimitOrder(position, parseData, chainId) {
309
- const _position = cloneDeep(position);
335
+ const _position = (0, lodash_1.cloneDeep)(position);
310
336
  const { subStruct } = parseData.subscriptionEventData;
311
337
  _position.strategyData.decoded.subData = subDataService.exchangeLimitOrderSubData.decode(subStruct.subData, chainId);
312
- const fromTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
313
- const toTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.toToken, chainId).decimals;
338
+ const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
339
+ const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
314
340
  _position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
315
341
  return _position;
316
342
  }
317
343
  function parseLiquityLeverageManagement(position, parseData) {
318
- const _position = cloneDeep(position);
344
+ const _position = (0, lodash_1.cloneDeep)(position);
319
345
  const { subStruct, subId } = parseData.subscriptionEventData;
320
346
  const { isEnabled } = parseData.strategiesSubsData;
321
347
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
322
348
  const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
323
349
  _position.strategyData.decoded.triggerData = triggerData;
324
350
  _position.strategyData.decoded.subData = subData;
325
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
351
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
326
352
  if (isRepay) {
327
353
  _position.specific = {
328
354
  triggerRepayRatio: triggerData.ratio,
@@ -339,19 +365,19 @@ function parseLiquityLeverageManagement(position, parseData) {
339
365
  subId2: Number(subId),
340
366
  };
341
367
  }
342
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
368
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
343
369
  _position.specific.mergeWithSameId = true;
344
370
  return _position;
345
371
  }
346
372
  function parseSparkLeverageManagement(position, parseData) {
347
- const _position = cloneDeep(position);
373
+ const _position = (0, lodash_1.cloneDeep)(position);
348
374
  const { subStruct, subId } = parseData.subscriptionEventData;
349
375
  const { isEnabled } = parseData.strategiesSubsData;
350
376
  const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
351
377
  const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
352
378
  _position.strategyData.decoded.triggerData = triggerData;
353
379
  _position.strategyData.decoded.subData = subData;
354
- const isRepay = _position.strategy.strategyId === Strategies.Identifiers.Repay;
380
+ const isRepay = _position.strategy.strategyId === enums_1.Strategies.Identifiers.Repay;
355
381
  if (isRepay) {
356
382
  _position.specific = {
357
383
  triggerRepayRatio: triggerData.ratio,
@@ -368,12 +394,12 @@ function parseSparkLeverageManagement(position, parseData) {
368
394
  subId2: Number(subId),
369
395
  };
370
396
  }
371
- _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
397
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
372
398
  _position.specific.mergeWithSameId = true;
373
399
  return _position;
374
400
  }
375
401
  function parseSparkCloseOnPrice(position, parseData) {
376
- const _position = cloneDeep(position);
402
+ const _position = (0, lodash_1.cloneDeep)(position);
377
403
  const { subStruct } = parseData.subscriptionEventData;
378
404
  const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
379
405
  const subData = subDataService.sparkQuotePriceSubData.decode(subStruct.subData);
@@ -389,15 +415,15 @@ function parseSparkCloseOnPrice(position, parseData) {
389
415
  price: triggerData.price,
390
416
  ratioState: triggerData.ratioState,
391
417
  };
392
- const { ratioState } = getRatioStateInfoForAaveCloseStrategy(_position.specific.ratioState, wethToEthByAddress(_position.specific.collAsset, parseData.chainId), wethToEthByAddress(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
393
- _position.strategy.strategyId = isRatioStateOver(ratioState) ? Strategies.IdOverrides.TakeProfit : Strategies.IdOverrides.StopLoss;
418
+ const { ratioState } = (0, utils_1.getRatioStateInfoForAaveCloseStrategy)(_position.specific.ratioState, (0, utils_1.wethToEthByAddress)(_position.specific.collAsset, parseData.chainId), (0, utils_1.wethToEthByAddress)(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
419
+ _position.strategy.strategyId = (0, utils_1.isRatioStateOver)(ratioState) ? enums_1.Strategies.IdOverrides.TakeProfit : enums_1.Strategies.IdOverrides.StopLoss;
394
420
  return _position;
395
421
  }
396
422
  function parseLiquitySavingsLiqProtection(position, parseData) {
397
- const _position = cloneDeep(position);
423
+ const _position = (0, lodash_1.cloneDeep)(position);
398
424
  const { subStruct } = parseData.subscriptionEventData;
399
- const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
400
- const subData = subDataService.makerRepayFromSavingsSubData.decode(subStruct.subData);
425
+ const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
426
+ const subData = subDataService.liquityRepayFromSavingsSubData.decode(subStruct.subData);
401
427
  _position.strategyData.decoded.triggerData = triggerData;
402
428
  _position.strategyData.decoded.subData = subData;
403
429
  _position.specific = {
@@ -409,73 +435,73 @@ function parseLiquitySavingsLiqProtection(position, parseData) {
409
435
  return _position;
410
436
  }
411
437
  const parsingMethodsMapping = {
412
- [ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
413
- [Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
414
- [Strategies.Identifiers.CloseOnPriceToDebt]: parseMakerCloseOnPrice,
415
- [Strategies.Identifiers.CloseOnPriceToColl]: parseMakerCloseOnPrice,
416
- [Strategies.Identifiers.TrailingStopToColl]: parseMakerTrailingStop,
417
- [Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
418
- [Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
419
- [Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
438
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
439
+ [enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
440
+ [enums_1.Strategies.Identifiers.CloseOnPriceToDebt]: parseMakerCloseOnPrice,
441
+ [enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseMakerCloseOnPrice,
442
+ [enums_1.Strategies.Identifiers.TrailingStopToColl]: parseMakerTrailingStop,
443
+ [enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
444
+ [enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
445
+ [enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
420
446
  },
421
- [ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
422
- [Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
423
- [Strategies.Identifiers.TrailingStopToColl]: parseLiquityTrailingStop,
424
- [Strategies.Identifiers.BondProtection]: parseLiquityBondProtection,
425
- [Strategies.Identifiers.Repay]: parseLiquityLeverageManagement,
426
- [Strategies.Identifiers.Boost]: parseLiquityLeverageManagement,
427
- [Strategies.Identifiers.SavingsDsrPayback]: parseLiquitySavingsLiqProtection,
428
- [Strategies.Identifiers.SavingsDsrSupply]: parseLiquitySavingsLiqProtection,
447
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
448
+ [enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
449
+ [enums_1.Strategies.Identifiers.TrailingStopToColl]: parseLiquityTrailingStop,
450
+ [enums_1.Strategies.Identifiers.BondProtection]: parseLiquityBondProtection,
451
+ [enums_1.Strategies.Identifiers.Repay]: parseLiquityLeverageManagement,
452
+ [enums_1.Strategies.Identifiers.Boost]: parseLiquityLeverageManagement,
453
+ [enums_1.Strategies.Identifiers.SavingsDsrPayback]: parseLiquitySavingsLiqProtection,
454
+ [enums_1.Strategies.Identifiers.SavingsDsrSupply]: parseLiquitySavingsLiqProtection,
429
455
  },
430
- [ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
431
- [Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
432
- [Strategies.Identifiers.Boost]: parseAaveV2LeverageManagement,
456
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
457
+ [enums_1.Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
458
+ [enums_1.Strategies.Identifiers.Boost]: parseAaveV2LeverageManagement,
433
459
  },
434
- [ProtocolIdentifiers.StrategiesAutomation.AaveV3]: {
435
- [Strategies.Identifiers.Repay]: parseAaveV3LeverageManagement,
436
- [Strategies.Identifiers.Boost]: parseAaveV3LeverageManagement,
437
- [Strategies.Identifiers.CloseToDebt]: parseAaveV3CloseOnPrice,
438
- [Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice,
460
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV3]: {
461
+ [enums_1.Strategies.Identifiers.Repay]: parseAaveV3LeverageManagement,
462
+ [enums_1.Strategies.Identifiers.Boost]: parseAaveV3LeverageManagement,
463
+ [enums_1.Strategies.Identifiers.CloseToDebt]: parseAaveV3CloseOnPrice,
464
+ [enums_1.Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice,
439
465
  },
440
- [ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
441
- [Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
442
- [Strategies.Identifiers.Boost]: parseCompoundV2LeverageManagement,
466
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
467
+ [enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
468
+ [enums_1.Strategies.Identifiers.Boost]: parseCompoundV2LeverageManagement,
443
469
  },
444
- [ProtocolIdentifiers.StrategiesAutomation.CompoundV3]: {
445
- [Strategies.Identifiers.Repay]: parseCompoundV3LeverageManagement,
446
- [Strategies.Identifiers.Boost]: parseCompoundV3LeverageManagement,
447
- [Strategies.Identifiers.EoaRepay]: parseCompoundV3LeverageManagement,
448
- [Strategies.Identifiers.EoaBoost]: parseCompoundV3LeverageManagement,
470
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV3]: {
471
+ [enums_1.Strategies.Identifiers.Repay]: parseCompoundV3LeverageManagement,
472
+ [enums_1.Strategies.Identifiers.Boost]: parseCompoundV3LeverageManagement,
473
+ [enums_1.Strategies.Identifiers.EoaRepay]: parseCompoundV3LeverageManagement,
474
+ [enums_1.Strategies.Identifiers.EoaBoost]: parseCompoundV3LeverageManagement,
449
475
  },
450
- [ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
451
- [Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
476
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
477
+ [enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
452
478
  },
453
- [ProtocolIdentifiers.StrategiesAutomation.MorphoAaveV2]: {
454
- [Strategies.Identifiers.Repay]: parseMorphoAaveV2LeverageManagement,
455
- [Strategies.Identifiers.Boost]: parseMorphoAaveV2LeverageManagement,
479
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.MorphoAaveV2]: {
480
+ [enums_1.Strategies.Identifiers.Repay]: parseMorphoAaveV2LeverageManagement,
481
+ [enums_1.Strategies.Identifiers.Boost]: parseMorphoAaveV2LeverageManagement,
456
482
  },
457
- [ProtocolIdentifiers.StrategiesAutomation.Exchange]: {
458
- [Strategies.Identifiers.Dca]: parseExchangeDca,
459
- [Strategies.Identifiers.LimitOrder]: parseExchangeLimitOrder,
483
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.Exchange]: {
484
+ [enums_1.Strategies.Identifiers.Dca]: parseExchangeDca,
485
+ [enums_1.Strategies.Identifiers.LimitOrder]: parseExchangeLimitOrder,
460
486
  },
461
- [ProtocolIdentifiers.StrategiesAutomation.Spark]: {
462
- [Strategies.Identifiers.Repay]: parseSparkLeverageManagement,
463
- [Strategies.Identifiers.Boost]: parseSparkLeverageManagement,
464
- [Strategies.Identifiers.CloseToDebt]: parseSparkCloseOnPrice,
465
- [Strategies.Identifiers.CloseToCollateral]: parseSparkCloseOnPrice,
487
+ [enums_1.ProtocolIdentifiers.StrategiesAutomation.Spark]: {
488
+ [enums_1.Strategies.Identifiers.Repay]: parseSparkLeverageManagement,
489
+ [enums_1.Strategies.Identifiers.Boost]: parseSparkLeverageManagement,
490
+ [enums_1.Strategies.Identifiers.CloseToDebt]: parseSparkCloseOnPrice,
491
+ [enums_1.Strategies.Identifiers.CloseToCollateral]: parseSparkCloseOnPrice,
466
492
  },
467
493
  };
468
494
  function getParsingMethod(id, strategy) {
469
495
  return parsingMethodsMapping[id][strategy.strategyId];
470
496
  }
471
- export function parseStrategiesAutomatedPosition(parseData) {
497
+ function parseStrategiesAutomatedPosition(parseData) {
472
498
  const { chainId, blockNumber, subscriptionEventData, strategiesSubsData, } = parseData;
473
499
  const { subStruct, proxy, subId, subHash, } = subscriptionEventData;
474
500
  const { isEnabled } = strategiesSubsData;
475
501
  const id = subStruct.strategyOrBundleId;
476
502
  const strategyOrBundleInfo = (subStruct.isBundle
477
- ? BUNDLES_INFO[chainId][id]
478
- : STRATEGIES_INFO[chainId][id]);
503
+ ? constants_1.BUNDLES_INFO[chainId][id]
504
+ : constants_1.STRATEGIES_INFO[chainId][id]);
479
505
  if (!strategyOrBundleInfo)
480
506
  return null;
481
507
  const position = {
@@ -501,3 +527,4 @@ export function parseStrategiesAutomatedPosition(parseData) {
501
527
  };
502
528
  return getParsingMethod(position.protocol.id, position.strategy)(position, parseData, chainId);
503
529
  }
530
+ exports.parseStrategiesAutomatedPosition = parseStrategiesAutomatedPosition;