@defisaver/automation-sdk 3.3.16-liq-prot-dev → 3.3.17

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 (39) hide show
  1. package/cjs/constants/index.js +42 -117
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +2 -5
  4. package/cjs/services/strategiesService.js +21 -160
  5. package/cjs/services/strategySubService.d.ts +21 -18
  6. package/cjs/services/strategySubService.js +74 -78
  7. package/cjs/services/strategySubService.test.js +149 -3
  8. package/cjs/services/subDataService.d.ts +20 -70
  9. package/cjs/services/subDataService.js +79 -23
  10. package/cjs/services/subDataService.test.js +202 -17
  11. package/cjs/services/utils.d.ts +1 -2
  12. package/cjs/services/utils.js +1 -14
  13. package/cjs/types/enums.d.ts +17 -36
  14. package/cjs/types/enums.js +11 -30
  15. package/esm/constants/index.js +42 -117
  16. package/esm/index.d.ts +2 -2
  17. package/esm/index.js +2 -5
  18. package/esm/services/strategiesService.js +21 -160
  19. package/esm/services/strategySubService.d.ts +21 -18
  20. package/esm/services/strategySubService.js +73 -78
  21. package/esm/services/strategySubService.test.js +147 -4
  22. package/esm/services/subDataService.d.ts +20 -70
  23. package/esm/services/subDataService.js +77 -21
  24. package/esm/services/subDataService.test.js +200 -18
  25. package/esm/services/utils.d.ts +1 -2
  26. package/esm/services/utils.js +1 -13
  27. package/esm/types/enums.d.ts +17 -36
  28. package/esm/types/enums.js +11 -30
  29. package/package.json +1 -1
  30. package/src/constants/index.ts +43 -119
  31. package/src/index.ts +6 -22
  32. package/src/services/strategiesService.ts +23 -225
  33. package/src/services/strategySubService.test.ts +191 -3
  34. package/src/services/strategySubService.ts +121 -173
  35. package/src/services/subDataService.test.ts +214 -18
  36. package/src/services/subDataService.ts +106 -42
  37. package/src/services/utils.test.ts +1 -1
  38. package/src/services/utils.ts +1 -15
  39. package/src/types/enums.ts +13 -30
@@ -543,64 +543,24 @@ export const MAINNET_BUNDLES_INFO = {
543
543
  strategyId: Strategies.Identifiers.EoaCloseOnPrice,
544
544
  protocol: PROTOCOLS.AaveV4,
545
545
  },
546
- [Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
547
- strategyOrBundleId: Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
548
- strategyId: Strategies.Identifiers.LiquidationProtection,
549
- protocol: PROTOCOLS.MakerDAO,
550
- },
551
- [Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
552
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
553
- strategyId: Strategies.Identifiers.LiquidationProtection,
554
- protocol: PROTOCOLS.AaveV3,
555
- },
556
- [Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
557
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
558
- strategyId: Strategies.Identifiers.LiquidationProtection,
559
- protocol: PROTOCOLS.AaveV4,
560
- },
561
- [Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
562
- strategyOrBundleId: Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
563
- strategyId: Strategies.Identifiers.LiquidationProtection,
564
- protocol: PROTOCOLS.Spark,
565
- },
566
- [Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
567
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
568
- strategyId: Strategies.Identifiers.LiquidationProtection,
569
- protocol: PROTOCOLS.CompoundV3,
570
- },
571
- [Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
572
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
573
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
574
- protocol: PROTOCOLS.CompoundV3,
575
- },
576
- [Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
577
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
578
- strategyId: Strategies.Identifiers.LiquidationProtection,
546
+ [Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
547
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
548
+ strategyId: Strategies.Identifiers.RepayOnPrice,
579
549
  protocol: PROTOCOLS.MorphoBlue,
580
550
  },
581
- [Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
582
- strategyOrBundleId: Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
583
- strategyId: Strategies.Identifiers.LiquidationProtection,
584
- protocol: PROTOCOLS.FluidT1,
585
- },
586
- [Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
587
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
588
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
589
- protocol: PROTOCOLS.AaveV3,
590
- },
591
- [Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION]: {
592
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION,
593
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
594
- protocol: PROTOCOLS.AaveV4,
551
+ [Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
552
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
553
+ strategyId: Strategies.Identifiers.EoaBoostOnPrice,
554
+ protocol: PROTOCOLS.MorphoBlue,
595
555
  },
596
- [Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
597
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
598
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
556
+ [Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
557
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
558
+ strategyId: Strategies.Identifiers.EoaRepayOnPrice,
599
559
  protocol: PROTOCOLS.MorphoBlue,
600
560
  },
601
- [Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
602
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
603
- strategyId: Strategies.Identifiers.RepayOnPrice,
561
+ [Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE]: {
562
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE,
563
+ strategyId: Strategies.Identifiers.EoaCloseOnPrice,
604
564
  protocol: PROTOCOLS.MorphoBlue,
605
565
  },
606
566
  };
@@ -660,16 +620,6 @@ export const OPTIMISM_BUNDLES_INFO = {
660
620
  strategyId: Strategies.Identifiers.EoaCloseOnPrice,
661
621
  protocol: PROTOCOLS.AaveV3,
662
622
  },
663
- [Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
664
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
665
- strategyId: Strategies.Identifiers.LiquidationProtection,
666
- protocol: PROTOCOLS.AaveV3,
667
- },
668
- [Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
669
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
670
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
671
- protocol: PROTOCOLS.AaveV3,
672
- },
673
623
  };
674
624
  export const BASE_BUNDLES_INFO = {
675
625
  [Bundles.BaseIds.AAVE_V3_REPAY]: {
@@ -812,35 +762,30 @@ export const BASE_BUNDLES_INFO = {
812
762
  strategyId: Strategies.Identifiers.RepayOnPrice,
813
763
  protocol: PROTOCOLS.MorphoBlue,
814
764
  },
815
- [Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
816
- strategyOrBundleId: Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
817
- strategyId: Strategies.Identifiers.LiquidationProtection,
818
- protocol: PROTOCOLS.AaveV3,
819
- },
820
- [Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
821
- strategyOrBundleId: Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
822
- strategyId: Strategies.Identifiers.LiquidationProtection,
823
- protocol: PROTOCOLS.CompoundV3,
765
+ [Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY]: {
766
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY,
767
+ strategyId: Strategies.Identifiers.EoaRepay,
768
+ protocol: PROTOCOLS.MorphoBlue,
824
769
  },
825
- [Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
826
- strategyOrBundleId: Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
827
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
828
- protocol: PROTOCOLS.CompoundV3,
770
+ [Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST]: {
771
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST,
772
+ strategyId: Strategies.Identifiers.EoaBoost,
773
+ protocol: PROTOCOLS.MorphoBlue,
829
774
  },
830
- [Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
831
- strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
832
- strategyId: Strategies.Identifiers.LiquidationProtection,
775
+ [Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
776
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
777
+ strategyId: Strategies.Identifiers.EoaBoostOnPrice,
833
778
  protocol: PROTOCOLS.MorphoBlue,
834
779
  },
835
- [Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
836
- strategyOrBundleId: Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
837
- strategyId: Strategies.Identifiers.LiquidationProtection,
838
- protocol: PROTOCOLS.FluidT1,
780
+ [Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
781
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
782
+ strategyId: Strategies.Identifiers.EoaRepayOnPrice,
783
+ protocol: PROTOCOLS.MorphoBlue,
839
784
  },
840
- [Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
841
- strategyOrBundleId: Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
842
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
843
- protocol: PROTOCOLS.AaveV3,
785
+ [Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE]: {
786
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE,
787
+ strategyId: Strategies.Identifiers.EoaCloseOnPrice,
788
+ protocol: PROTOCOLS.MorphoBlue,
844
789
  },
845
790
  };
846
791
  export const ARBITRUM_BUNDLES_INFO = {
@@ -994,39 +939,19 @@ export const ARBITRUM_BUNDLES_INFO = {
994
939
  strategyId: Strategies.Identifiers.RepayOnPrice,
995
940
  protocol: PROTOCOLS.MorphoBlue,
996
941
  },
997
- [Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
998
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
999
- strategyId: Strategies.Identifiers.LiquidationProtection,
1000
- protocol: PROTOCOLS.AaveV3,
1001
- },
1002
- [Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
1003
- strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
1004
- strategyId: Strategies.Identifiers.LiquidationProtection,
1005
- protocol: PROTOCOLS.CompoundV3,
1006
- },
1007
- [Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
1008
- strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
1009
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
1010
- protocol: PROTOCOLS.CompoundV3,
1011
- },
1012
- [Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
1013
- strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
1014
- strategyId: Strategies.Identifiers.LiquidationProtection,
942
+ [Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
943
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
944
+ strategyId: Strategies.Identifiers.EoaBoostOnPrice,
1015
945
  protocol: PROTOCOLS.MorphoBlue,
1016
946
  },
1017
- [Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
1018
- strategyOrBundleId: Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
1019
- strategyId: Strategies.Identifiers.LiquidationProtection,
1020
- protocol: PROTOCOLS.FluidT1,
1021
- },
1022
- [Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
1023
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
1024
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
1025
- protocol: PROTOCOLS.AaveV3,
947
+ [Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
948
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
949
+ strategyId: Strategies.Identifiers.EoaRepayOnPrice,
950
+ protocol: PROTOCOLS.MorphoBlue,
1026
951
  },
1027
- [Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
1028
- strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
1029
- strategyId: Strategies.Identifiers.EoaLiquidationProtection,
952
+ [Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE]: {
953
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE,
954
+ strategyId: Strategies.Identifiers.EoaCloseOnPrice,
1030
955
  protocol: PROTOCOLS.MorphoBlue,
1031
956
  },
1032
957
  };
package/esm/index.d.ts CHANGED
@@ -15,10 +15,10 @@ import * as enums from './types/enums';
15
15
  import type * as types from './types';
16
16
  import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
17
17
  declare const utils: {
18
+ getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
18
19
  compareSubHashes: typeof compareSubHashes;
19
20
  encodeSubId: typeof encodeSubId;
20
21
  getCloseStrategyType: typeof getCloseStrategyType;
21
- getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
22
22
  };
23
- export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
23
+ export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
24
24
  export type { types };
package/esm/index.js CHANGED
@@ -18,9 +18,6 @@ import * as constants from './constants';
18
18
  import * as enums from './types/enums';
19
19
  import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, } from './services/utils';
20
20
  const utils = {
21
- compareSubHashes,
22
- encodeSubId,
23
- getCloseStrategyType,
24
- getRatioStateInfoForAaveCloseStrategy,
21
+ getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType,
25
22
  };
26
- export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
23
+ export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
@@ -66,7 +66,7 @@ function parseMakerLeverageManagement(position, parseData) {
66
66
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
67
67
  const { isEnabled } = parseData.strategiesSubsData;
68
68
  const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
69
- const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
69
+ const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
70
70
  _position.strategyData.decoded.triggerData = triggerData;
71
71
  _position.strategyData.decoded.subData = subData;
72
72
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
@@ -94,24 +94,6 @@ function parseMakerLeverageManagement(position, parseData) {
94
94
  _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
95
95
  return _position;
96
96
  }
97
- function parseMakerLiquidationProtection(position, parseData) {
98
- const _position = cloneDeep(position);
99
- const { subStruct, subId } = parseData.subscriptionEventData;
100
- const { isEnabled } = parseData.strategiesSubsData;
101
- const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
102
- const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
103
- _position.strategyData.decoded.triggerData = triggerData;
104
- _position.strategyData.decoded.subData = subData;
105
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
106
- _position.specific = {
107
- triggerRepayRatio: triggerData.ratio,
108
- targetRepayRatio: subData.targetRatio,
109
- repayEnabled: isEnabled,
110
- subId1: Number(subId),
111
- };
112
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
113
- return _position;
114
- }
115
97
  function parseLiquityCloseOnPrice(position, parseData) {
116
98
  const _position = cloneDeep(position);
117
99
  const { subStruct } = parseData.subscriptionEventData;
@@ -149,7 +131,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
149
131
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
150
132
  const { isEnabled } = parseData.strategiesSubsData;
151
133
  const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
152
- const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
134
+ const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
153
135
  _position.strategyData.decoded.triggerData = triggerData;
154
136
  _position.strategyData.decoded.subData = subData;
155
137
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -185,10 +167,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
185
167
  const isEOA = _position.strategy.strategyId.includes('eoa');
186
168
  let subData;
187
169
  if (isEOA) {
188
- subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
170
+ subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.decode(subStruct.subData);
189
171
  }
190
172
  else {
191
- subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
173
+ subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
192
174
  }
193
175
  _position.strategyData.decoded.triggerData = triggerData;
194
176
  _position.strategyData.decoded.subData = subData;
@@ -222,26 +204,6 @@ function parseAaveV3LeverageManagement(position, parseData) {
222
204
  }
223
205
  return _position;
224
206
  }
225
- function parseAaveV3LiquidationProtection(position, parseData) {
226
- const _position = cloneDeep(position);
227
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
228
- const { isEnabled } = parseData.strategiesSubsData;
229
- const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
230
- const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
231
- _position.strategyData.decoded.triggerData = triggerData;
232
- _position.strategyData.decoded.subData = subData;
233
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
234
- _position.specific = {
235
- triggerRepayRatio: triggerData.ratio,
236
- targetRepayRatio: subData.targetRatio,
237
- repayEnabled: isEnabled,
238
- subId1: Number(subId),
239
- subHashRepay: subHash,
240
- };
241
- const isEOA = _position.strategy.strategyId.includes('eoa');
242
- _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
243
- return _position;
244
- }
245
207
  function parseAaveV3LeverageManagementOnPrice(position, parseData) {
246
208
  const _position = cloneDeep(position);
247
209
  const { subStruct } = parseData.subscriptionEventData;
@@ -371,26 +333,6 @@ function parseAaveV4LeverageManagement(position, parseData) {
371
333
  }
372
334
  return _position;
373
335
  }
374
- function parseAaveV4LiquidationProtection(position, parseData) {
375
- const _position = cloneDeep(position);
376
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
377
- const { isEnabled } = parseData.strategiesSubsData;
378
- const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
379
- const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
380
- const isEOA = _position.strategy.strategyId.includes('eoa');
381
- _position.strategyData.decoded.triggerData = triggerData;
382
- _position.strategyData.decoded.subData = subData;
383
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
384
- _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
385
- _position.specific = {
386
- triggerRepayRatio: triggerData.ratio,
387
- targetRepayRatio: subData.targetRatio,
388
- repayEnabled: isEnabled,
389
- subId1: Number(subId),
390
- subHashRepay: subHash,
391
- };
392
- return _position;
393
- }
394
336
  function parseAaveV4LeverageManagementOnPrice(position, parseData) {
395
337
  const _position = cloneDeep(position);
396
338
  const { subStruct } = parseData.subscriptionEventData;
@@ -510,7 +452,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
510
452
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
511
453
  const { isEnabled } = parseData.strategiesSubsData;
512
454
  const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
513
- const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
455
+ const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
514
456
  _position.strategyData.decoded.triggerData = triggerData;
515
457
  _position.strategyData.decoded.subData = subData;
516
458
  _position.owner = triggerData.owner.toLowerCase();
@@ -544,7 +486,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
544
486
  const _position = cloneDeep(position);
545
487
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
546
488
  const { isEnabled } = parseData.strategiesSubsData;
547
- const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
489
+ const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
548
490
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
549
491
  const subData = subDataDecoder.decode(subStruct.subData);
550
492
  _position.strategyData.decoded.triggerData = triggerData;
@@ -575,27 +517,6 @@ function parseCompoundV3LeverageManagement(position, parseData) {
575
517
  _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
576
518
  return _position;
577
519
  }
578
- function parseCompoundV3LiquidationProtection(position, parseData) {
579
- const _position = cloneDeep(position);
580
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
581
- const { isEnabled } = parseData.strategiesSubsData;
582
- const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
583
- const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
584
- const subData = subDataDecoder.decode(subStruct.subData);
585
- _position.strategyData.decoded.triggerData = triggerData;
586
- _position.strategyData.decoded.subData = subData;
587
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
588
- const isEOA = _position.strategy.strategyId.includes('eoa');
589
- _position.specific = {
590
- triggerRepayRatio: triggerData.ratio,
591
- targetRepayRatio: subData.targetRatio,
592
- repayEnabled: isEnabled,
593
- subId1: Number(subId),
594
- subHashRepay: subHash,
595
- };
596
- _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
597
- return _position;
598
- }
599
520
  function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
600
521
  const _position = cloneDeep(position);
601
522
  const { subStruct } = parseData.subscriptionEventData;
@@ -669,7 +590,7 @@ function parseExchangeDca(position, parseData, chainId) {
669
590
  function parseExchangeLimitOrder(position, parseData, chainId) {
670
591
  const _position = cloneDeep(position);
671
592
  const { subStruct } = parseData.subscriptionEventData;
672
- _position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
593
+ _position.strategyData.decoded.subData = subDataService.exchangeLimitOrderSubData.decode(subStruct.subData, chainId);
673
594
  const fromTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
674
595
  const toTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.toToken, chainId).decimals;
675
596
  _position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
@@ -681,7 +602,7 @@ function parseLiquityLeverageManagement(position, parseData) {
681
602
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
682
603
  const { isEnabled } = parseData.strategiesSubsData;
683
604
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
684
- const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
605
+ const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
685
606
  _position.strategyData.decoded.triggerData = triggerData;
686
607
  _position.strategyData.decoded.subData = subData;
687
608
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner);
@@ -747,7 +668,7 @@ function parseSparkLeverageManagement(position, parseData) {
747
668
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
748
669
  const { isEnabled } = parseData.strategiesSubsData;
749
670
  const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
750
- const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
671
+ const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
751
672
  _position.strategyData.decoded.triggerData = triggerData;
752
673
  _position.strategyData.decoded.subData = subData;
753
674
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -775,25 +696,6 @@ function parseSparkLeverageManagement(position, parseData) {
775
696
  _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
776
697
  return _position;
777
698
  }
778
- function parseSparkLiquidationProtection(position, parseData) {
779
- const _position = cloneDeep(position);
780
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
781
- const { isEnabled } = parseData.strategiesSubsData;
782
- const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
783
- const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
784
- _position.strategyData.decoded.triggerData = triggerData;
785
- _position.strategyData.decoded.subData = subData;
786
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
787
- _position.specific = {
788
- triggerRepayRatio: triggerData.ratio,
789
- targetRepayRatio: subData.targetRatio,
790
- repayEnabled: isEnabled,
791
- subId1: Number(subId),
792
- subHashRepay: subHash,
793
- };
794
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
795
- return _position;
796
- }
797
699
  function parseSparkLeverageManagementOnPrice(position, parseData) {
798
700
  const _position = cloneDeep(position);
799
701
  const { subStruct } = parseData.subscriptionEventData;
@@ -918,6 +820,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
918
820
  const _position = cloneDeep(position);
919
821
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
920
822
  const { isEnabled } = parseData.strategiesSubsData;
823
+ const isEOA = _position.strategy.strategyId.includes('eoa');
921
824
  const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
922
825
  const subData = subDataService.morphoBlueLeverageManagementSubData.decode(subStruct.subData);
923
826
  _position.strategyData.decoded.triggerData = triggerData;
@@ -931,7 +834,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
931
834
  repayEnabled: isEnabled,
932
835
  subId1: Number(subId),
933
836
  subHashRepay: subHash,
934
- mergeWithId: Strategies.Identifiers.Boost,
837
+ mergeWithId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
935
838
  };
936
839
  }
937
840
  else {
@@ -941,36 +844,16 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
941
844
  boostEnabled: isEnabled,
942
845
  subId2: Number(subId),
943
846
  subHashBoost: subHash,
944
- mergeId: Strategies.Identifiers.Boost,
847
+ mergeId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
945
848
  };
946
849
  }
947
- const isEOA = _position.strategy.strategyId.includes('eoa');
948
850
  _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
949
851
  return _position;
950
852
  }
951
- function parseMorphoBlueLiquidationProtection(position, parseData) {
952
- const _position = cloneDeep(position);
953
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
954
- const { isEnabled } = parseData.strategiesSubsData;
955
- const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
956
- const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
957
- _position.strategyData.decoded.triggerData = triggerData;
958
- _position.strategyData.decoded.subData = subData;
959
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
960
- _position.specific = {
961
- triggerRepayRatio: triggerData.ratio,
962
- targetRepayRatio: subData.targetRatio,
963
- repayEnabled: isEnabled,
964
- subId1: Number(subId),
965
- subHashRepay: subHash,
966
- };
967
- const isEOA = _position.strategy.strategyId.includes('eoa');
968
- _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
969
- return _position;
970
- }
971
853
  function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
972
854
  const _position = cloneDeep(position);
973
855
  const { subStruct } = parseData.subscriptionEventData;
856
+ const isEOA = _position.strategy.strategyId.includes('eoa');
974
857
  const triggerData = triggerService.morphoBluePriceTrigger.decode(subStruct.triggerData);
975
858
  const subData = subDataService.morphoBlueLeverageManagementOnPriceSubData.decode(subStruct.subData);
976
859
  _position.strategyData.decoded.triggerData = triggerData;
@@ -993,11 +876,15 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
993
876
  ratio: subData.targetRatio,
994
877
  ratioState: triggerData.priceState,
995
878
  };
879
+ _position.strategy.strategyId = isEOA
880
+ ? Strategies.IdOverrides.EoaLeverageManagementOnPrice
881
+ : Strategies.IdOverrides.LeverageManagementOnPrice;
996
882
  return _position;
997
883
  }
998
884
  function parseMorphoBlueCloseOnPrice(position, parseData) {
999
885
  const _position = cloneDeep(position);
1000
886
  const { subStruct } = parseData.subscriptionEventData;
887
+ const isEOA = _position.strategy.strategyId.includes('eoa');
1001
888
  const triggerData = triggerService.morphoBluePriceRangeTrigger.decode(subStruct.triggerData);
1002
889
  const subData = subDataService.morphoBlueCloseOnPriceSubData.decode(subStruct.subData);
1003
890
  _position.strategyData.decoded.triggerData = triggerData;
@@ -1012,6 +899,7 @@ function parseMorphoBlueCloseOnPrice(position, parseData) {
1012
899
  ]);
1013
900
  const marketId = web3.utils.keccak256(marketIdEncodedData);
1014
901
  const { takeProfitType, stopLossType } = getStopLossAndTakeProfitTypeByCloseStrategyType(+subData.closeType);
902
+ _position.strategy.strategyId = isEOA ? Strategies.Identifiers.EoaCloseOnPrice : Strategies.Identifiers.CloseOnPrice;
1015
903
  _position.specific = {
1016
904
  subHash: _position.subHash,
1017
905
  marketId,
@@ -1120,25 +1008,6 @@ function parseFluidT1LeverageManagement(position, parseData) {
1120
1008
  _position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
1121
1009
  return _position;
1122
1010
  }
1123
- function parseFluidT1LiquidationProtection(position, parseData) {
1124
- const _position = cloneDeep(position);
1125
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
1126
- const { isEnabled } = parseData.strategiesSubsData;
1127
- const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
1128
- const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
1129
- _position.strategyData.decoded.triggerData = triggerData;
1130
- _position.strategyData.decoded.subData = subData;
1131
- _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
1132
- _position.specific = {
1133
- triggerRepayRatio: triggerData.ratio,
1134
- targetRepayRatio: subData.targetRatio,
1135
- repayEnabled: isEnabled,
1136
- subId1: Number(subId),
1137
- subHashRepay: subHash,
1138
- };
1139
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
1140
- return _position;
1141
- }
1142
1011
  const parsingMethodsMapping = {
1143
1012
  [ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
1144
1013
  [Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
@@ -1148,7 +1017,6 @@ const parsingMethodsMapping = {
1148
1017
  [Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
1149
1018
  [Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
1150
1019
  [Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
1151
- [Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
1152
1020
  },
1153
1021
  [ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
1154
1022
  [Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
@@ -1187,8 +1055,6 @@ const parsingMethodsMapping = {
1187
1055
  [Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
1188
1056
  [Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
1189
1057
  [Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
1190
- [Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
1191
- [Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
1192
1058
  },
1193
1059
  [ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
1194
1060
  [Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
@@ -1203,8 +1069,6 @@ const parsingMethodsMapping = {
1203
1069
  [Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
1204
1070
  [Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
1205
1071
  [Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
1206
- [Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
1207
- [Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
1208
1072
  },
1209
1073
  [ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
1210
1074
  [Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -1221,8 +1085,6 @@ const parsingMethodsMapping = {
1221
1085
  [Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
1222
1086
  [Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
1223
1087
  [Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
1224
- [Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
1225
- [Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
1226
1088
  },
1227
1089
  [ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
1228
1090
  [Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
@@ -1242,7 +1104,6 @@ const parsingMethodsMapping = {
1242
1104
  [Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
1243
1105
  [Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
1244
1106
  [Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
1245
- [Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
1246
1107
  },
1247
1108
  [ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
1248
1109
  [Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
@@ -1256,14 +1117,14 @@ const parsingMethodsMapping = {
1256
1117
  [Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
1257
1118
  [Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1258
1119
  [Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1120
+ [Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1121
+ [Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1259
1122
  [Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
1260
- [Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
1261
- [Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
1123
+ [Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
1262
1124
  },
1263
1125
  [ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
1264
1126
  [Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
1265
1127
  [Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
1266
- [Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
1267
1128
  },
1268
1129
  };
1269
1130
  function getParsingMethod(id, strategy) {