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

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 (35) hide show
  1. package/cjs/constants/index.js +190 -0
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +5 -2
  4. package/cjs/services/strategiesService.js +169 -12
  5. package/cjs/services/strategySubService.d.ts +22 -17
  6. package/cjs/services/strategySubService.js +115 -38
  7. package/cjs/services/strategySubService.test.js +111 -41
  8. package/cjs/services/subDataService.d.ts +70 -20
  9. package/cjs/services/subDataService.js +23 -79
  10. package/cjs/services/subDataService.test.js +17 -202
  11. package/cjs/types/enums.d.ts +48 -6
  12. package/cjs/types/enums.js +42 -0
  13. package/esm/constants/index.js +190 -0
  14. package/esm/index.d.ts +2 -2
  15. package/esm/index.js +5 -2
  16. package/esm/services/strategiesService.js +169 -12
  17. package/esm/services/strategySubService.d.ts +22 -17
  18. package/esm/services/strategySubService.js +113 -37
  19. package/esm/services/strategySubService.test.js +112 -39
  20. package/esm/services/subDataService.d.ts +70 -20
  21. package/esm/services/subDataService.js +21 -77
  22. package/esm/services/subDataService.test.js +18 -200
  23. package/esm/types/enums.d.ts +48 -6
  24. package/esm/types/enums.js +42 -0
  25. package/package.json +1 -1
  26. package/src/constants/index.ts +192 -1
  27. package/src/index.ts +22 -6
  28. package/src/services/strategiesService.ts +234 -12
  29. package/src/services/strategySubService.test.ts +147 -47
  30. package/src/services/strategySubService.ts +246 -47
  31. package/src/services/subDataService.test.ts +18 -214
  32. package/src/services/subDataService.ts +42 -106
  33. package/src/services/utils.test.ts +1 -1
  34. package/src/services/utils.ts +3 -1
  35. package/src/types/enums.ts +42 -2
@@ -549,11 +549,81 @@ exports.MAINNET_BUNDLES_INFO = {
549
549
  strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
550
550
  protocol: exports.PROTOCOLS.AaveV4,
551
551
  },
552
+ [enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
553
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
554
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
555
+ protocol: exports.PROTOCOLS.MakerDAO,
556
+ },
557
+ [enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
558
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
559
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
560
+ protocol: exports.PROTOCOLS.AaveV3,
561
+ },
562
+ [enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
563
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
564
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
565
+ protocol: exports.PROTOCOLS.AaveV4,
566
+ },
567
+ [enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
568
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
569
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
570
+ protocol: exports.PROTOCOLS.Spark,
571
+ },
572
+ [enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
573
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
574
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
575
+ protocol: exports.PROTOCOLS.CompoundV3,
576
+ },
577
+ [enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
578
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
579
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
580
+ protocol: exports.PROTOCOLS.CompoundV3,
581
+ },
582
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
583
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
584
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
585
+ protocol: exports.PROTOCOLS.MorphoBlue,
586
+ },
587
+ [enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
588
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
589
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
590
+ protocol: exports.PROTOCOLS.FluidT1,
591
+ },
592
+ [enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
593
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
594
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
595
+ protocol: exports.PROTOCOLS.AaveV3,
596
+ },
597
+ [enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION]: {
598
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION,
599
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
600
+ protocol: exports.PROTOCOLS.AaveV4,
601
+ },
602
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
603
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
604
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
605
+ protocol: exports.PROTOCOLS.MorphoBlue,
606
+ },
552
607
  [enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
553
608
  strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
554
609
  strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
555
610
  protocol: exports.PROTOCOLS.MorphoBlue,
556
611
  },
612
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
613
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
614
+ strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
615
+ protocol: exports.PROTOCOLS.MorphoBlue,
616
+ },
617
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
618
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
619
+ strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
620
+ protocol: exports.PROTOCOLS.MorphoBlue,
621
+ },
622
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE]: {
623
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE,
624
+ strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
625
+ protocol: exports.PROTOCOLS.MorphoBlue,
626
+ },
557
627
  };
558
628
  exports.OPTIMISM_BUNDLES_INFO = {
559
629
  [enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
@@ -611,6 +681,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
611
681
  strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
612
682
  protocol: exports.PROTOCOLS.AaveV3,
613
683
  },
684
+ [enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
685
+ strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
686
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
687
+ protocol: exports.PROTOCOLS.AaveV3,
688
+ },
689
+ [enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
690
+ strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
691
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
692
+ protocol: exports.PROTOCOLS.AaveV3,
693
+ },
614
694
  };
615
695
  exports.BASE_BUNDLES_INFO = {
616
696
  [enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
@@ -753,6 +833,66 @@ exports.BASE_BUNDLES_INFO = {
753
833
  strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
754
834
  protocol: exports.PROTOCOLS.MorphoBlue,
755
835
  },
836
+ [enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
837
+ strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
838
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
839
+ protocol: exports.PROTOCOLS.AaveV3,
840
+ },
841
+ [enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
842
+ strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
843
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
844
+ protocol: exports.PROTOCOLS.CompoundV3,
845
+ },
846
+ [enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
847
+ strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
848
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
849
+ protocol: exports.PROTOCOLS.CompoundV3,
850
+ },
851
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
852
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
853
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
854
+ protocol: exports.PROTOCOLS.MorphoBlue,
855
+ },
856
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
857
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
858
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
859
+ protocol: exports.PROTOCOLS.MorphoBlue,
860
+ },
861
+ [enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
862
+ strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
863
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
864
+ protocol: exports.PROTOCOLS.FluidT1,
865
+ },
866
+ [enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
867
+ strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
868
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
869
+ protocol: exports.PROTOCOLS.AaveV3,
870
+ },
871
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY]: {
872
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY,
873
+ strategyId: enums_1.Strategies.Identifiers.EoaRepay,
874
+ protocol: exports.PROTOCOLS.MorphoBlue,
875
+ },
876
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST]: {
877
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST,
878
+ strategyId: enums_1.Strategies.Identifiers.EoaBoost,
879
+ protocol: exports.PROTOCOLS.MorphoBlue,
880
+ },
881
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
882
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
883
+ strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
884
+ protocol: exports.PROTOCOLS.MorphoBlue,
885
+ },
886
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
887
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
888
+ strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
889
+ protocol: exports.PROTOCOLS.MorphoBlue,
890
+ },
891
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE]: {
892
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE,
893
+ strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
894
+ protocol: exports.PROTOCOLS.MorphoBlue,
895
+ },
756
896
  };
757
897
  exports.ARBITRUM_BUNDLES_INFO = {
758
898
  [enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
@@ -905,6 +1045,56 @@ exports.ARBITRUM_BUNDLES_INFO = {
905
1045
  strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
906
1046
  protocol: exports.PROTOCOLS.MorphoBlue,
907
1047
  },
1048
+ [enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
1049
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
1050
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1051
+ protocol: exports.PROTOCOLS.AaveV3,
1052
+ },
1053
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
1054
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
1055
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1056
+ protocol: exports.PROTOCOLS.CompoundV3,
1057
+ },
1058
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
1059
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
1060
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1061
+ protocol: exports.PROTOCOLS.CompoundV3,
1062
+ },
1063
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
1064
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
1065
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1066
+ protocol: exports.PROTOCOLS.MorphoBlue,
1067
+ },
1068
+ [enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
1069
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
1070
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1071
+ protocol: exports.PROTOCOLS.FluidT1,
1072
+ },
1073
+ [enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
1074
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
1075
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1076
+ protocol: exports.PROTOCOLS.AaveV3,
1077
+ },
1078
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
1079
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
1080
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1081
+ protocol: exports.PROTOCOLS.MorphoBlue,
1082
+ },
1083
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
1084
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
1085
+ strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
1086
+ protocol: exports.PROTOCOLS.MorphoBlue,
1087
+ },
1088
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
1089
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
1090
+ strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
1091
+ protocol: exports.PROTOCOLS.MorphoBlue,
1092
+ },
1093
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE]: {
1094
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE,
1095
+ strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
1096
+ protocol: exports.PROTOCOLS.MorphoBlue,
1097
+ },
908
1098
  };
909
1099
  exports.BUNDLES_INFO = {
910
1100
  [enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
package/cjs/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;
19
18
  compareSubHashes: typeof compareSubHashes;
20
19
  encodeSubId: typeof encodeSubId;
21
20
  getCloseStrategyType: typeof getCloseStrategyType;
21
+ getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
22
22
  };
23
- export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
23
+ export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
24
24
  export type { types };
package/cjs/index.js CHANGED
@@ -30,7 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  return (mod && mod.__esModule) ? mod : { "default": mod };
31
31
  };
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.strategiesService = exports.constants = exports.enums = exports.utils = exports.strategySubService = exports.subDataService = exports.triggerService = exports.BaseStrategies = exports.ArbitrumStrategies = exports.OptimismStrategies = exports.EthereumStrategies = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.LegacyMakerAutomation = void 0;
33
+ exports.utils = exports.triggerService = exports.subDataService = exports.strategySubService = exports.strategiesService = exports.enums = exports.constants = exports.OptimismStrategies = exports.LegacyMakerAutomation = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.EthereumStrategies = exports.BaseStrategies = exports.ArbitrumStrategies = void 0;
34
34
  require("./configuration");
35
35
  const LegacyMakerAutomation_1 = __importDefault(require("./automation/public/legacy/LegacyMakerAutomation"));
36
36
  exports.LegacyMakerAutomation = LegacyMakerAutomation_1.default;
@@ -60,6 +60,9 @@ const enums = __importStar(require("./types/enums"));
60
60
  exports.enums = enums;
61
61
  const utils_1 = require("./services/utils");
62
62
  const utils = {
63
- getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy, compareSubHashes: utils_1.compareSubHashes, encodeSubId: utils_1.encodeSubId, getCloseStrategyType: utils_1.getCloseStrategyType,
63
+ compareSubHashes: utils_1.compareSubHashes,
64
+ encodeSubId: utils_1.encodeSubId,
65
+ getCloseStrategyType: utils_1.getCloseStrategyType,
66
+ getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy,
64
67
  };
65
68
  exports.utils = utils;
@@ -95,7 +95,7 @@ function parseMakerLeverageManagement(position, parseData) {
95
95
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
96
96
  const { isEnabled } = parseData.strategiesSubsData;
97
97
  const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
98
- const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
98
+ const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
99
99
  _position.strategyData.decoded.triggerData = triggerData;
100
100
  _position.strategyData.decoded.subData = subData;
101
101
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
@@ -123,6 +123,24 @@ function parseMakerLeverageManagement(position, parseData) {
123
123
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
124
124
  return _position;
125
125
  }
126
+ function parseMakerLiquidationProtection(position, parseData) {
127
+ const _position = (0, lodash_1.cloneDeep)(position);
128
+ const { subStruct, subId } = parseData.subscriptionEventData;
129
+ const { isEnabled } = parseData.strategiesSubsData;
130
+ const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
131
+ const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
132
+ _position.strategyData.decoded.triggerData = triggerData;
133
+ _position.strategyData.decoded.subData = subData;
134
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
135
+ _position.specific = {
136
+ triggerRepayRatio: triggerData.ratio,
137
+ targetRepayRatio: subData.targetRatio,
138
+ repayEnabled: isEnabled,
139
+ subId1: Number(subId),
140
+ };
141
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
142
+ return _position;
143
+ }
126
144
  function parseLiquityCloseOnPrice(position, parseData) {
127
145
  const _position = (0, lodash_1.cloneDeep)(position);
128
146
  const { subStruct } = parseData.subscriptionEventData;
@@ -160,7 +178,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
160
178
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
161
179
  const { isEnabled } = parseData.strategiesSubsData;
162
180
  const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
163
- const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
181
+ const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
164
182
  _position.strategyData.decoded.triggerData = triggerData;
165
183
  _position.strategyData.decoded.subData = subData;
166
184
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -196,10 +214,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
196
214
  const isEOA = _position.strategy.strategyId.includes('eoa');
197
215
  let subData;
198
216
  if (isEOA) {
199
- subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.decode(subStruct.subData);
217
+ subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
200
218
  }
201
219
  else {
202
- subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
220
+ subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
203
221
  }
204
222
  _position.strategyData.decoded.triggerData = triggerData;
205
223
  _position.strategyData.decoded.subData = subData;
@@ -233,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
233
251
  }
234
252
  return _position;
235
253
  }
254
+ function parseAaveV3LiquidationProtection(position, parseData) {
255
+ const _position = (0, lodash_1.cloneDeep)(position);
256
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
257
+ const { isEnabled } = parseData.strategiesSubsData;
258
+ const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
259
+ const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
260
+ _position.strategyData.decoded.triggerData = triggerData;
261
+ _position.strategyData.decoded.subData = subData;
262
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
263
+ _position.specific = {
264
+ triggerRepayRatio: triggerData.ratio,
265
+ targetRepayRatio: subData.targetRatio,
266
+ repayEnabled: isEnabled,
267
+ subId1: Number(subId),
268
+ subHashRepay: subHash,
269
+ };
270
+ const isEOA = _position.strategy.strategyId.includes('eoa');
271
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
272
+ return _position;
273
+ }
236
274
  function parseAaveV3LeverageManagementOnPrice(position, parseData) {
237
275
  const _position = (0, lodash_1.cloneDeep)(position);
238
276
  const { subStruct } = parseData.subscriptionEventData;
@@ -362,6 +400,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
362
400
  }
363
401
  return _position;
364
402
  }
403
+ function parseAaveV4LiquidationProtection(position, parseData) {
404
+ const _position = (0, lodash_1.cloneDeep)(position);
405
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
406
+ const { isEnabled } = parseData.strategiesSubsData;
407
+ const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
408
+ const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
409
+ const isEOA = _position.strategy.strategyId.includes('eoa');
410
+ _position.strategyData.decoded.triggerData = triggerData;
411
+ _position.strategyData.decoded.subData = subData;
412
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
413
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
414
+ _position.specific = {
415
+ triggerRepayRatio: triggerData.ratio,
416
+ targetRepayRatio: subData.targetRatio,
417
+ repayEnabled: isEnabled,
418
+ subId1: Number(subId),
419
+ subHashRepay: subHash,
420
+ };
421
+ return _position;
422
+ }
365
423
  function parseAaveV4LeverageManagementOnPrice(position, parseData) {
366
424
  const _position = (0, lodash_1.cloneDeep)(position);
367
425
  const { subStruct } = parseData.subscriptionEventData;
@@ -481,7 +539,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
481
539
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
482
540
  const { isEnabled } = parseData.strategiesSubsData;
483
541
  const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
484
- const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
542
+ const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
485
543
  _position.strategyData.decoded.triggerData = triggerData;
486
544
  _position.strategyData.decoded.subData = subData;
487
545
  _position.owner = triggerData.owner.toLowerCase();
@@ -515,7 +573,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
515
573
  const _position = (0, lodash_1.cloneDeep)(position);
516
574
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
517
575
  const { isEnabled } = parseData.strategiesSubsData;
518
- const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
576
+ const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
519
577
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
520
578
  const subData = subDataDecoder.decode(subStruct.subData);
521
579
  _position.strategyData.decoded.triggerData = triggerData;
@@ -546,6 +604,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
546
604
  _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
547
605
  return _position;
548
606
  }
607
+ function parseCompoundV3LiquidationProtection(position, parseData) {
608
+ const _position = (0, lodash_1.cloneDeep)(position);
609
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
610
+ const { isEnabled } = parseData.strategiesSubsData;
611
+ const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
612
+ const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
613
+ const subData = subDataDecoder.decode(subStruct.subData);
614
+ _position.strategyData.decoded.triggerData = triggerData;
615
+ _position.strategyData.decoded.subData = subData;
616
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
617
+ const isEOA = _position.strategy.strategyId.includes('eoa');
618
+ _position.specific = {
619
+ triggerRepayRatio: triggerData.ratio,
620
+ targetRepayRatio: subData.targetRatio,
621
+ repayEnabled: isEnabled,
622
+ subId1: Number(subId),
623
+ subHashRepay: subHash,
624
+ };
625
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
626
+ return _position;
627
+ }
549
628
  function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
550
629
  const _position = (0, lodash_1.cloneDeep)(position);
551
630
  const { subStruct } = parseData.subscriptionEventData;
@@ -619,7 +698,7 @@ function parseExchangeDca(position, parseData, chainId) {
619
698
  function parseExchangeLimitOrder(position, parseData, chainId) {
620
699
  const _position = (0, lodash_1.cloneDeep)(position);
621
700
  const { subStruct } = parseData.subscriptionEventData;
622
- _position.strategyData.decoded.subData = subDataService.exchangeLimitOrderSubData.decode(subStruct.subData, chainId);
701
+ _position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
623
702
  const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
624
703
  const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
625
704
  _position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
@@ -631,7 +710,7 @@ function parseLiquityLeverageManagement(position, parseData) {
631
710
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
632
711
  const { isEnabled } = parseData.strategiesSubsData;
633
712
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
634
- const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
713
+ const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
635
714
  _position.strategyData.decoded.triggerData = triggerData;
636
715
  _position.strategyData.decoded.subData = subData;
637
716
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner);
@@ -697,7 +776,7 @@ function parseSparkLeverageManagement(position, parseData) {
697
776
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
698
777
  const { isEnabled } = parseData.strategiesSubsData;
699
778
  const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
700
- const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
779
+ const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
701
780
  _position.strategyData.decoded.triggerData = triggerData;
702
781
  _position.strategyData.decoded.subData = subData;
703
782
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -725,6 +804,25 @@ function parseSparkLeverageManagement(position, parseData) {
725
804
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
726
805
  return _position;
727
806
  }
807
+ function parseSparkLiquidationProtection(position, parseData) {
808
+ const _position = (0, lodash_1.cloneDeep)(position);
809
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
810
+ const { isEnabled } = parseData.strategiesSubsData;
811
+ const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
812
+ const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
813
+ _position.strategyData.decoded.triggerData = triggerData;
814
+ _position.strategyData.decoded.subData = subData;
815
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
816
+ _position.specific = {
817
+ triggerRepayRatio: triggerData.ratio,
818
+ targetRepayRatio: subData.targetRatio,
819
+ repayEnabled: isEnabled,
820
+ subId1: Number(subId),
821
+ subHashRepay: subHash,
822
+ };
823
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
824
+ return _position;
825
+ }
728
826
  function parseSparkLeverageManagementOnPrice(position, parseData) {
729
827
  const _position = (0, lodash_1.cloneDeep)(position);
730
828
  const { subStruct } = parseData.subscriptionEventData;
@@ -849,6 +947,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
849
947
  const _position = (0, lodash_1.cloneDeep)(position);
850
948
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
851
949
  const { isEnabled } = parseData.strategiesSubsData;
950
+ const isEOA = _position.strategy.strategyId.includes('eoa');
852
951
  const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
853
952
  const subData = subDataService.morphoBlueLeverageManagementSubData.decode(subStruct.subData);
854
953
  _position.strategyData.decoded.triggerData = triggerData;
@@ -862,7 +961,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
862
961
  repayEnabled: isEnabled,
863
962
  subId1: Number(subId),
864
963
  subHashRepay: subHash,
865
- mergeWithId: enums_1.Strategies.Identifiers.Boost,
964
+ mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
866
965
  };
867
966
  }
868
967
  else {
@@ -872,16 +971,36 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
872
971
  boostEnabled: isEnabled,
873
972
  subId2: Number(subId),
874
973
  subHashBoost: subHash,
875
- mergeId: enums_1.Strategies.Identifiers.Boost,
974
+ mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
876
975
  };
877
976
  }
878
- const isEOA = _position.strategy.strategyId.includes('eoa');
879
977
  _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
880
978
  return _position;
881
979
  }
980
+ function parseMorphoBlueLiquidationProtection(position, parseData) {
981
+ const _position = (0, lodash_1.cloneDeep)(position);
982
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
983
+ const { isEnabled } = parseData.strategiesSubsData;
984
+ const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
985
+ const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
986
+ _position.strategyData.decoded.triggerData = triggerData;
987
+ _position.strategyData.decoded.subData = subData;
988
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
989
+ _position.specific = {
990
+ triggerRepayRatio: triggerData.ratio,
991
+ targetRepayRatio: subData.targetRatio,
992
+ repayEnabled: isEnabled,
993
+ subId1: Number(subId),
994
+ subHashRepay: subHash,
995
+ };
996
+ const isEOA = _position.strategy.strategyId.includes('eoa');
997
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
998
+ return _position;
999
+ }
882
1000
  function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
883
1001
  const _position = (0, lodash_1.cloneDeep)(position);
884
1002
  const { subStruct } = parseData.subscriptionEventData;
1003
+ const isEOA = _position.strategy.strategyId.includes('eoa');
885
1004
  const triggerData = triggerService.morphoBluePriceTrigger.decode(subStruct.triggerData);
886
1005
  const subData = subDataService.morphoBlueLeverageManagementOnPriceSubData.decode(subStruct.subData);
887
1006
  _position.strategyData.decoded.triggerData = triggerData;
@@ -904,11 +1023,15 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
904
1023
  ratio: subData.targetRatio,
905
1024
  ratioState: triggerData.priceState,
906
1025
  };
1026
+ _position.strategy.strategyId = isEOA
1027
+ ? enums_1.Strategies.IdOverrides.EoaLeverageManagementOnPrice
1028
+ : enums_1.Strategies.IdOverrides.LeverageManagementOnPrice;
907
1029
  return _position;
908
1030
  }
909
1031
  function parseMorphoBlueCloseOnPrice(position, parseData) {
910
1032
  const _position = (0, lodash_1.cloneDeep)(position);
911
1033
  const { subStruct } = parseData.subscriptionEventData;
1034
+ const isEOA = _position.strategy.strategyId.includes('eoa');
912
1035
  const triggerData = triggerService.morphoBluePriceRangeTrigger.decode(subStruct.triggerData);
913
1036
  const subData = subDataService.morphoBlueCloseOnPriceSubData.decode(subStruct.subData);
914
1037
  _position.strategyData.decoded.triggerData = triggerData;
@@ -923,6 +1046,7 @@ function parseMorphoBlueCloseOnPrice(position, parseData) {
923
1046
  ]);
924
1047
  const marketId = web3.utils.keccak256(marketIdEncodedData);
925
1048
  const { takeProfitType, stopLossType } = (0, utils_1.getStopLossAndTakeProfitTypeByCloseStrategyType)(+subData.closeType);
1049
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.Identifiers.EoaCloseOnPrice : enums_1.Strategies.Identifiers.CloseOnPrice;
926
1050
  _position.specific = {
927
1051
  subHash: _position.subHash,
928
1052
  marketId,
@@ -1031,6 +1155,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
1031
1155
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
1032
1156
  return _position;
1033
1157
  }
1158
+ function parseFluidT1LiquidationProtection(position, parseData) {
1159
+ const _position = (0, lodash_1.cloneDeep)(position);
1160
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
1161
+ const { isEnabled } = parseData.strategiesSubsData;
1162
+ const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
1163
+ const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
1164
+ _position.strategyData.decoded.triggerData = triggerData;
1165
+ _position.strategyData.decoded.subData = subData;
1166
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
1167
+ _position.specific = {
1168
+ triggerRepayRatio: triggerData.ratio,
1169
+ targetRepayRatio: subData.targetRatio,
1170
+ repayEnabled: isEnabled,
1171
+ subId1: Number(subId),
1172
+ subHashRepay: subHash,
1173
+ };
1174
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
1175
+ return _position;
1176
+ }
1034
1177
  const parsingMethodsMapping = {
1035
1178
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
1036
1179
  [enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
@@ -1040,6 +1183,7 @@ const parsingMethodsMapping = {
1040
1183
  [enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
1041
1184
  [enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
1042
1185
  [enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
1186
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
1043
1187
  },
1044
1188
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
1045
1189
  [enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
@@ -1078,6 +1222,8 @@ const parsingMethodsMapping = {
1078
1222
  [enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
1079
1223
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
1080
1224
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
1225
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
1226
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
1081
1227
  },
1082
1228
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
1083
1229
  [enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
@@ -1092,6 +1238,8 @@ const parsingMethodsMapping = {
1092
1238
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
1093
1239
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
1094
1240
  [enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
1241
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
1242
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
1095
1243
  },
1096
1244
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
1097
1245
  [enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -1108,6 +1256,8 @@ const parsingMethodsMapping = {
1108
1256
  [enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
1109
1257
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
1110
1258
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
1259
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
1260
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
1111
1261
  },
1112
1262
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
1113
1263
  [enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
@@ -1127,6 +1277,7 @@ const parsingMethodsMapping = {
1127
1277
  [enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
1128
1278
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
1129
1279
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
1280
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
1130
1281
  },
1131
1282
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
1132
1283
  [enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
@@ -1140,11 +1291,17 @@ const parsingMethodsMapping = {
1140
1291
  [enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
1141
1292
  [enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1142
1293
  [enums_1.Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1294
+ [enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1295
+ [enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1143
1296
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
1297
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
1298
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
1299
+ [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
1144
1300
  },
1145
1301
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
1146
1302
  [enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
1147
1303
  [enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
1304
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
1148
1305
  },
1149
1306
  };
1150
1307
  function getParsingMethod(id, strategy) {