@defisaver/automation-sdk 3.3.15 → 3.3.16-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.
- package/cjs/constants/index.js +145 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +158 -9
- package/cjs/services/strategySubService.d.ts +17 -16
- package/cjs/services/strategySubService.js +69 -28
- package/cjs/services/strategySubService.test.js +69 -40
- package/cjs/services/subDataService.d.ts +70 -20
- package/cjs/services/subDataService.js +23 -79
- package/cjs/services/subDataService.test.js +117 -202
- package/cjs/services/triggerService.test.js +60 -0
- package/cjs/services/utils.d.ts +2 -1
- package/cjs/services/utils.js +14 -1
- package/cjs/types/enums.d.ts +39 -6
- package/cjs/types/enums.js +33 -0
- package/esm/constants/index.js +145 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +158 -9
- package/esm/services/strategySubService.d.ts +17 -16
- package/esm/services/strategySubService.js +69 -28
- package/esm/services/strategySubService.test.js +70 -38
- package/esm/services/subDataService.d.ts +70 -20
- package/esm/services/subDataService.js +21 -77
- package/esm/services/subDataService.test.js +118 -200
- package/esm/services/triggerService.test.js +61 -1
- package/esm/services/utils.d.ts +2 -1
- package/esm/services/utils.js +13 -1
- package/esm/types/enums.d.ts +39 -6
- package/esm/types/enums.js +33 -0
- package/package.json +1 -1
- package/src/constants/index.ts +147 -1
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +222 -9
- package/src/services/strategySubService.test.ts +86 -46
- package/src/services/strategySubService.ts +166 -39
- package/src/services/subDataService.test.ts +128 -214
- package/src/services/subDataService.ts +42 -106
- package/src/services/triggerService.test.ts +69 -0
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +15 -1
- package/src/types/enums.ts +33 -2
package/cjs/types/enums.js
CHANGED
|
@@ -159,6 +159,8 @@ var Strategies;
|
|
|
159
159
|
Identifiers["EoaRepayOnPrice"] = "eoa-repay-on-price";
|
|
160
160
|
Identifiers["CollateralSwitch"] = "collateral-switch";
|
|
161
161
|
Identifiers["EoaCollateralSwitch"] = "eoa-collateral-switch";
|
|
162
|
+
Identifiers["LiquidationProtection"] = "liquidation-protection";
|
|
163
|
+
Identifiers["EoaLiquidationProtection"] = "liquidation-protection-eoa";
|
|
162
164
|
})(Identifiers = Strategies.Identifiers || (Strategies.Identifiers = {}));
|
|
163
165
|
let IdOverrides;
|
|
164
166
|
(function (IdOverrides) {
|
|
@@ -171,6 +173,8 @@ var Strategies;
|
|
|
171
173
|
IdOverrides["EoaLeverageManagement"] = "leverage-management-eoa";
|
|
172
174
|
IdOverrides["LeverageManagementOnPrice"] = "leverage-management-on-price";
|
|
173
175
|
IdOverrides["EoaLeverageManagementOnPrice"] = "leverage-management-on-price-eoa";
|
|
176
|
+
IdOverrides["LiquidationProtection"] = "liquidation-protection";
|
|
177
|
+
IdOverrides["EoaLiquidationProtection"] = "liquidation-protection-eoa";
|
|
174
178
|
})(IdOverrides = Strategies.IdOverrides || (Strategies.IdOverrides = {}));
|
|
175
179
|
})(Strategies = exports.Strategies || (exports.Strategies = {}));
|
|
176
180
|
var Bundles;
|
|
@@ -248,6 +252,18 @@ var Bundles;
|
|
|
248
252
|
MainnetIds[MainnetIds["AAVE_V4_EOA_REPAY_ON_PRICE"] = 68] = "AAVE_V4_EOA_REPAY_ON_PRICE";
|
|
249
253
|
MainnetIds[MainnetIds["AAVE_V4_EOA_BOOST_ON_PRICE"] = 69] = "AAVE_V4_EOA_BOOST_ON_PRICE";
|
|
250
254
|
MainnetIds[MainnetIds["AAVE_V4_EOA_CLOSE"] = 70] = "AAVE_V4_EOA_CLOSE";
|
|
255
|
+
MainnetIds[MainnetIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 71] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
|
|
256
|
+
MainnetIds[MainnetIds["SPARK_SW_LIQUIDATION_PROTECTION"] = 72] = "SPARK_SW_LIQUIDATION_PROTECTION";
|
|
257
|
+
MainnetIds[MainnetIds["MAKER_SW_LIQUIDATION_PROTECTION"] = 75] = "MAKER_SW_LIQUIDATION_PROTECTION";
|
|
258
|
+
MainnetIds[MainnetIds["FLUID_T1_SW_LIQUIDATION_PROTECTION"] = 76] = "FLUID_T1_SW_LIQUIDATION_PROTECTION";
|
|
259
|
+
MainnetIds[MainnetIds["AAVE_V4_SW_LIQUIDATION_PROTECTION"] = 77] = "AAVE_V4_SW_LIQUIDATION_PROTECTION";
|
|
260
|
+
MainnetIds[MainnetIds["MORPHO_BLUE_SW_LIQUIDATION_PROTECTION"] = 78] = "MORPHO_BLUE_SW_LIQUIDATION_PROTECTION";
|
|
261
|
+
MainnetIds[MainnetIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 79] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
|
|
262
|
+
MainnetIds[MainnetIds["AAVE_V4_EOA_LIQUIDATION_PROTECTION"] = 80] = "AAVE_V4_EOA_LIQUIDATION_PROTECTION";
|
|
263
|
+
MainnetIds[MainnetIds["MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION"] = 81] = "MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION";
|
|
264
|
+
MainnetIds[MainnetIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 82] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
|
|
265
|
+
MainnetIds[MainnetIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 83] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
|
|
266
|
+
MainnetIds[MainnetIds["MORPHO_BLUE_REPAY_ON_PRICE"] = 84] = "MORPHO_BLUE_REPAY_ON_PRICE";
|
|
251
267
|
})(MainnetIds = Bundles.MainnetIds || (Bundles.MainnetIds = {}));
|
|
252
268
|
let OptimismIds;
|
|
253
269
|
(function (OptimismIds) {
|
|
@@ -262,6 +278,8 @@ var Bundles;
|
|
|
262
278
|
OptimismIds[OptimismIds["AAVE_V3_EOA_REPAY_ON_PRICE"] = 8] = "AAVE_V3_EOA_REPAY_ON_PRICE";
|
|
263
279
|
OptimismIds[OptimismIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 9] = "AAVE_V3_EOA_BOOST_ON_PRICE";
|
|
264
280
|
OptimismIds[OptimismIds["AAVE_V3_EOA_CLOSE"] = 10] = "AAVE_V3_EOA_CLOSE";
|
|
281
|
+
OptimismIds[OptimismIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 11] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
|
|
282
|
+
OptimismIds[OptimismIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 12] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
|
|
265
283
|
})(OptimismIds = Bundles.OptimismIds || (Bundles.OptimismIds = {}));
|
|
266
284
|
let BaseIds;
|
|
267
285
|
(function (BaseIds) {
|
|
@@ -292,6 +310,13 @@ var Bundles;
|
|
|
292
310
|
BaseIds[BaseIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 26] = "AAVE_V3_EOA_BOOST_ON_PRICE";
|
|
293
311
|
BaseIds[BaseIds["AAVE_V3_EOA_CLOSE"] = 27] = "AAVE_V3_EOA_CLOSE";
|
|
294
312
|
BaseIds[BaseIds["MORPHO_BLUE_CLOSE"] = 28] = "MORPHO_BLUE_CLOSE";
|
|
313
|
+
BaseIds[BaseIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
|
|
314
|
+
BaseIds[BaseIds["FLUID_T1_SW_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_SW_LIQUIDATION_PROTECTION";
|
|
315
|
+
BaseIds[BaseIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
|
|
316
|
+
BaseIds[BaseIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
|
|
317
|
+
BaseIds[BaseIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 34] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
|
|
318
|
+
BaseIds[BaseIds["MORPHO_BLUE_SW_LIQUIDATION_PROTECTION"] = 35] = "MORPHO_BLUE_SW_LIQUIDATION_PROTECTION";
|
|
319
|
+
BaseIds[BaseIds["MORPHO_BLUE_REPAY_ON_PRICE"] = 36] = "MORPHO_BLUE_REPAY_ON_PRICE";
|
|
295
320
|
})(BaseIds = Bundles.BaseIds || (Bundles.BaseIds = {}));
|
|
296
321
|
let ArbitrumIds;
|
|
297
322
|
(function (ArbitrumIds) {
|
|
@@ -324,5 +349,13 @@ var Bundles;
|
|
|
324
349
|
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_REPAY"] = 26] = "MORPHO_BLUE_EOA_REPAY";
|
|
325
350
|
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_BOOST"] = 27] = "MORPHO_BLUE_EOA_BOOST";
|
|
326
351
|
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_CLOSE"] = 28] = "MORPHO_BLUE_CLOSE";
|
|
352
|
+
ArbitrumIds[ArbitrumIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
|
|
353
|
+
ArbitrumIds[ArbitrumIds["FLUID_T1_SW_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_SW_LIQUIDATION_PROTECTION";
|
|
354
|
+
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_SW_LIQUIDATION_PROTECTION"] = 31] = "MORPHO_BLUE_SW_LIQUIDATION_PROTECTION";
|
|
355
|
+
ArbitrumIds[ArbitrumIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
|
|
356
|
+
ArbitrumIds[ArbitrumIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
|
|
357
|
+
ArbitrumIds[ArbitrumIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 34] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
|
|
358
|
+
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION"] = 35] = "MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION";
|
|
359
|
+
ArbitrumIds[ArbitrumIds["MORPHO_BLUE_REPAY_ON_PRICE"] = 36] = "MORPHO_BLUE_REPAY_ON_PRICE";
|
|
327
360
|
})(ArbitrumIds = Bundles.ArbitrumIds || (Bundles.ArbitrumIds = {}));
|
|
328
361
|
})(Bundles = exports.Bundles || (exports.Bundles = {}));
|
package/esm/constants/index.js
CHANGED
|
@@ -543,6 +543,66 @@ 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,
|
|
579
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
580
|
+
},
|
|
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,
|
|
595
|
+
},
|
|
596
|
+
[Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
597
|
+
strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
598
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
599
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
600
|
+
},
|
|
601
|
+
[Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
602
|
+
strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
603
|
+
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
604
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
605
|
+
},
|
|
546
606
|
};
|
|
547
607
|
export const OPTIMISM_BUNDLES_INFO = {
|
|
548
608
|
[Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -600,6 +660,16 @@ export const OPTIMISM_BUNDLES_INFO = {
|
|
|
600
660
|
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
601
661
|
protocol: PROTOCOLS.AaveV3,
|
|
602
662
|
},
|
|
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
|
+
},
|
|
603
673
|
};
|
|
604
674
|
export const BASE_BUNDLES_INFO = {
|
|
605
675
|
[Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -737,6 +807,41 @@ export const BASE_BUNDLES_INFO = {
|
|
|
737
807
|
strategyId: Strategies.Identifiers.CloseOnPrice,
|
|
738
808
|
protocol: PROTOCOLS.MorphoBlue,
|
|
739
809
|
},
|
|
810
|
+
[Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
811
|
+
strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
812
|
+
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
813
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
814
|
+
},
|
|
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,
|
|
824
|
+
},
|
|
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,
|
|
829
|
+
},
|
|
830
|
+
[Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
831
|
+
strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
832
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
833
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
834
|
+
},
|
|
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,
|
|
839
|
+
},
|
|
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,
|
|
844
|
+
},
|
|
740
845
|
};
|
|
741
846
|
export const ARBITRUM_BUNDLES_INFO = {
|
|
742
847
|
[Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -884,6 +989,46 @@ export const ARBITRUM_BUNDLES_INFO = {
|
|
|
884
989
|
strategyId: Strategies.Identifiers.CloseOnPrice,
|
|
885
990
|
protocol: PROTOCOLS.MorphoBlue,
|
|
886
991
|
},
|
|
992
|
+
[Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
993
|
+
strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
994
|
+
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
995
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
996
|
+
},
|
|
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,
|
|
1015
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
1016
|
+
},
|
|
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,
|
|
1026
|
+
},
|
|
1027
|
+
[Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1028
|
+
strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1029
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
1030
|
+
protocol: PROTOCOLS.MorphoBlue,
|
|
1031
|
+
},
|
|
887
1032
|
};
|
|
888
1033
|
export const BUNDLES_INFO = {
|
|
889
1034
|
[ChainId.Ethereum]: MAINNET_BUNDLES_INFO,
|
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;
|
|
19
18
|
compareSubHashes: typeof compareSubHashes;
|
|
20
19
|
encodeSubId: typeof encodeSubId;
|
|
21
20
|
getCloseStrategyType: typeof getCloseStrategyType;
|
|
21
|
+
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
22
22
|
};
|
|
23
|
-
export {
|
|
23
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
24
24
|
export type { types };
|
package/esm/index.js
CHANGED
|
@@ -18,6 +18,9 @@ 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
|
-
|
|
21
|
+
compareSubHashes,
|
|
22
|
+
encodeSubId,
|
|
23
|
+
getCloseStrategyType,
|
|
24
|
+
getRatioStateInfoForAaveCloseStrategy,
|
|
22
25
|
};
|
|
23
|
-
export {
|
|
26
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
@@ -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.
|
|
69
|
+
const subData = subDataService.legacyMakerLeverageManagementSubData.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,6 +94,24 @@ 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
|
+
}
|
|
97
115
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
98
116
|
const _position = cloneDeep(position);
|
|
99
117
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -131,7 +149,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
131
149
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
132
150
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
133
151
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
134
|
-
const subData = subDataService.
|
|
152
|
+
const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
135
153
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
136
154
|
_position.strategyData.decoded.subData = subData;
|
|
137
155
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -167,10 +185,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
167
185
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
168
186
|
let subData;
|
|
169
187
|
if (isEOA) {
|
|
170
|
-
subData = subDataService.
|
|
188
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
171
189
|
}
|
|
172
190
|
else {
|
|
173
|
-
subData = subDataService.
|
|
191
|
+
subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
174
192
|
}
|
|
175
193
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
176
194
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -204,6 +222,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
204
222
|
}
|
|
205
223
|
return _position;
|
|
206
224
|
}
|
|
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
|
+
}
|
|
207
245
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
208
246
|
const _position = cloneDeep(position);
|
|
209
247
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -333,6 +371,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
333
371
|
}
|
|
334
372
|
return _position;
|
|
335
373
|
}
|
|
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
|
+
}
|
|
336
394
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
337
395
|
const _position = cloneDeep(position);
|
|
338
396
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -452,7 +510,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
452
510
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
453
511
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
454
512
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
455
|
-
const subData = subDataService.
|
|
513
|
+
const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
456
514
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
457
515
|
_position.strategyData.decoded.subData = subData;
|
|
458
516
|
_position.owner = triggerData.owner.toLowerCase();
|
|
@@ -486,7 +544,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
486
544
|
const _position = cloneDeep(position);
|
|
487
545
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
488
546
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
489
|
-
const subDataDecoder = subDataService.
|
|
547
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
|
|
490
548
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
491
549
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
492
550
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -517,6 +575,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
517
575
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
518
576
|
return _position;
|
|
519
577
|
}
|
|
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
|
+
}
|
|
520
599
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
521
600
|
const _position = cloneDeep(position);
|
|
522
601
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -590,7 +669,7 @@ function parseExchangeDca(position, parseData, chainId) {
|
|
|
590
669
|
function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
591
670
|
const _position = cloneDeep(position);
|
|
592
671
|
const { subStruct } = parseData.subscriptionEventData;
|
|
593
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
672
|
+
_position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
594
673
|
const fromTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
595
674
|
const toTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
596
675
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -602,7 +681,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
602
681
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
603
682
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
604
683
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
605
|
-
const subData = subDataService.
|
|
684
|
+
const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
|
|
606
685
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
607
686
|
_position.strategyData.decoded.subData = subData;
|
|
608
687
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner);
|
|
@@ -668,7 +747,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
668
747
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
669
748
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
670
749
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
671
|
-
const subData = subDataService.
|
|
750
|
+
const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
672
751
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
673
752
|
_position.strategyData.decoded.subData = subData;
|
|
674
753
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -696,6 +775,25 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
775
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
697
776
|
return _position;
|
|
698
777
|
}
|
|
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
|
+
}
|
|
699
797
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
700
798
|
const _position = cloneDeep(position);
|
|
701
799
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -850,6 +948,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
850
948
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
851
949
|
return _position;
|
|
852
950
|
}
|
|
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
|
+
}
|
|
853
971
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
854
972
|
const _position = cloneDeep(position);
|
|
855
973
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -1002,6 +1120,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1002
1120
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
1003
1121
|
return _position;
|
|
1004
1122
|
}
|
|
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
|
+
}
|
|
1005
1142
|
const parsingMethodsMapping = {
|
|
1006
1143
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1007
1144
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1011,6 +1148,7 @@ const parsingMethodsMapping = {
|
|
|
1011
1148
|
[Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1012
1149
|
[Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1013
1150
|
[Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1151
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1014
1152
|
},
|
|
1015
1153
|
[ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1016
1154
|
[Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1049,6 +1187,8 @@ const parsingMethodsMapping = {
|
|
|
1049
1187
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1050
1188
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1051
1189
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1190
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1191
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1052
1192
|
},
|
|
1053
1193
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1054
1194
|
[Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1063,6 +1203,8 @@ const parsingMethodsMapping = {
|
|
|
1063
1203
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1064
1204
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1065
1205
|
[Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1206
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1207
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1066
1208
|
},
|
|
1067
1209
|
[ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1068
1210
|
[Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1079,6 +1221,8 @@ const parsingMethodsMapping = {
|
|
|
1079
1221
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1080
1222
|
[Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1081
1223
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1224
|
+
[Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1225
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1082
1226
|
},
|
|
1083
1227
|
[ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1084
1228
|
[Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1098,6 +1242,7 @@ const parsingMethodsMapping = {
|
|
|
1098
1242
|
[Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1099
1243
|
[Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1100
1244
|
[Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1245
|
+
[Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1101
1246
|
},
|
|
1102
1247
|
[ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1103
1248
|
[Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1110,11 +1255,15 @@ const parsingMethodsMapping = {
|
|
|
1110
1255
|
[Strategies.Identifiers.EoaRepay]: parseMorphoBlueLeverageManagement,
|
|
1111
1256
|
[Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1112
1257
|
[Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1258
|
+
[Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1113
1259
|
[Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1260
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1261
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1114
1262
|
},
|
|
1115
1263
|
[ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1116
1264
|
[Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1117
1265
|
[Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1266
|
+
[Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1118
1267
|
},
|
|
1119
1268
|
};
|
|
1120
1269
|
function getParsingMethod(id, strategy) {
|