@defisaver/automation-sdk 3.3.15-liq-prot-dev → 3.3.15-liq-prot-1-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.
@@ -229,14 +229,17 @@ export declare namespace Bundles {
229
229
  AAVE_V4_EOA_REPAY_ON_PRICE = 68,
230
230
  AAVE_V4_EOA_BOOST_ON_PRICE = 69,
231
231
  AAVE_V4_EOA_CLOSE = 70,
232
- AAVE_V3_LIQUIDATION_PROTECTION = 71,
233
- SPARK_LIQUIDATION_PROTECTION = 72,
234
- COMP_V3_SW_LIQUIDATION_PROTECTION = 73,
235
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 74,
236
- MAKER_LIQUIDATION_PROTECTION = 75,
237
- FLUID_T1_LIQUIDATION_PROTECTION = 76,
238
- AAVE_V4_LIQUIDATION_PROTECTION = 77,
239
- MORPHO_BLUE_LIQUIDATION_PROTECTION = 78
232
+ AAVE_V3_SW_LIQUIDATION_PROTECTION = 71,
233
+ SPARK_SW_LIQUIDATION_PROTECTION = 72,
234
+ MAKER_SW_LIQUIDATION_PROTECTION = 75,
235
+ FLUID_T1_SW_LIQUIDATION_PROTECTION = 76,
236
+ AAVE_V4_SW_LIQUIDATION_PROTECTION = 77,
237
+ MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 78,
238
+ AAVE_V3_EOA_LIQUIDATION_PROTECTION = 79,
239
+ AAVE_V4_EOA_LIQUIDATION_PROTECTION = 80,
240
+ MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION = 81,
241
+ COMP_V3_SW_LIQUIDATION_PROTECTION = 82,
242
+ COMP_V3_EOA_LIQUIDATION_PROTECTION = 83
240
243
  }
241
244
  enum OptimismIds {
242
245
  AAVE_V3_REPAY = 0,
@@ -250,7 +253,8 @@ export declare namespace Bundles {
250
253
  AAVE_V3_EOA_REPAY_ON_PRICE = 8,
251
254
  AAVE_V3_EOA_BOOST_ON_PRICE = 9,
252
255
  AAVE_V3_EOA_CLOSE = 10,
253
- AAVE_V3_LIQUIDATION_PROTECTION = 11
256
+ AAVE_V3_SW_LIQUIDATION_PROTECTION = 11,
257
+ AAVE_V3_EOA_LIQUIDATION_PROTECTION = 12
254
258
  }
255
259
  enum BaseIds {
256
260
  AAVE_V3_REPAY = 0,
@@ -280,11 +284,12 @@ export declare namespace Bundles {
280
284
  AAVE_V3_EOA_BOOST_ON_PRICE = 26,
281
285
  AAVE_V3_EOA_CLOSE = 27,
282
286
  MORPHO_BLUE_CLOSE = 28,
283
- AAVE_V3_LIQUIDATION_PROTECTION = 29,
284
- FLUID_T1_LIQUIDATION_PROTECTION = 30,
285
- MORPHO_BLUE_LIQUIDATION_PROTECTION = 31,
287
+ AAVE_V3_SW_LIQUIDATION_PROTECTION = 29,
288
+ FLUID_T1_SW_LIQUIDATION_PROTECTION = 30,
286
289
  COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
287
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 33
290
+ COMP_V3_EOA_LIQUIDATION_PROTECTION = 33,
291
+ AAVE_V3_EOA_LIQUIDATION_PROTECTION = 34,
292
+ MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 35
288
293
  }
289
294
  enum ArbitrumIds {
290
295
  AAVE_V3_REPAY = 0,
@@ -316,10 +321,12 @@ export declare namespace Bundles {
316
321
  MORPHO_BLUE_EOA_REPAY = 26,
317
322
  MORPHO_BLUE_EOA_BOOST = 27,
318
323
  MORPHO_BLUE_CLOSE = 28,
319
- AAVE_V3_LIQUIDATION_PROTECTION = 29,
320
- FLUID_T1_LIQUIDATION_PROTECTION = 30,
321
- MORPHO_BLUE_LIQUIDATION_PROTECTION = 31,
324
+ AAVE_V3_SW_LIQUIDATION_PROTECTION = 29,
325
+ FLUID_T1_SW_LIQUIDATION_PROTECTION = 30,
326
+ MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 31,
322
327
  COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
323
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 33
328
+ COMP_V3_EOA_LIQUIDATION_PROTECTION = 33,
329
+ AAVE_V3_EOA_LIQUIDATION_PROTECTION = 34,
330
+ MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION = 35
324
331
  }
325
332
  }
@@ -252,14 +252,17 @@ var Bundles;
252
252
  MainnetIds[MainnetIds["AAVE_V4_EOA_REPAY_ON_PRICE"] = 68] = "AAVE_V4_EOA_REPAY_ON_PRICE";
253
253
  MainnetIds[MainnetIds["AAVE_V4_EOA_BOOST_ON_PRICE"] = 69] = "AAVE_V4_EOA_BOOST_ON_PRICE";
254
254
  MainnetIds[MainnetIds["AAVE_V4_EOA_CLOSE"] = 70] = "AAVE_V4_EOA_CLOSE";
255
- MainnetIds[MainnetIds["AAVE_V3_LIQUIDATION_PROTECTION"] = 71] = "AAVE_V3_LIQUIDATION_PROTECTION";
256
- MainnetIds[MainnetIds["SPARK_LIQUIDATION_PROTECTION"] = 72] = "SPARK_LIQUIDATION_PROTECTION";
257
- MainnetIds[MainnetIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 73] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
258
- MainnetIds[MainnetIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 74] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
259
- MainnetIds[MainnetIds["MAKER_LIQUIDATION_PROTECTION"] = 75] = "MAKER_LIQUIDATION_PROTECTION";
260
- MainnetIds[MainnetIds["FLUID_T1_LIQUIDATION_PROTECTION"] = 76] = "FLUID_T1_LIQUIDATION_PROTECTION";
261
- MainnetIds[MainnetIds["AAVE_V4_LIQUIDATION_PROTECTION"] = 77] = "AAVE_V4_LIQUIDATION_PROTECTION";
262
- MainnetIds[MainnetIds["MORPHO_BLUE_LIQUIDATION_PROTECTION"] = 78] = "MORPHO_BLUE_LIQUIDATION_PROTECTION";
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";
263
266
  })(MainnetIds = Bundles.MainnetIds || (Bundles.MainnetIds = {}));
264
267
  let OptimismIds;
265
268
  (function (OptimismIds) {
@@ -274,7 +277,8 @@ var Bundles;
274
277
  OptimismIds[OptimismIds["AAVE_V3_EOA_REPAY_ON_PRICE"] = 8] = "AAVE_V3_EOA_REPAY_ON_PRICE";
275
278
  OptimismIds[OptimismIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 9] = "AAVE_V3_EOA_BOOST_ON_PRICE";
276
279
  OptimismIds[OptimismIds["AAVE_V3_EOA_CLOSE"] = 10] = "AAVE_V3_EOA_CLOSE";
277
- OptimismIds[OptimismIds["AAVE_V3_LIQUIDATION_PROTECTION"] = 11] = "AAVE_V3_LIQUIDATION_PROTECTION";
280
+ OptimismIds[OptimismIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 11] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
281
+ OptimismIds[OptimismIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 12] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
278
282
  })(OptimismIds = Bundles.OptimismIds || (Bundles.OptimismIds = {}));
279
283
  let BaseIds;
280
284
  (function (BaseIds) {
@@ -305,11 +309,12 @@ var Bundles;
305
309
  BaseIds[BaseIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 26] = "AAVE_V3_EOA_BOOST_ON_PRICE";
306
310
  BaseIds[BaseIds["AAVE_V3_EOA_CLOSE"] = 27] = "AAVE_V3_EOA_CLOSE";
307
311
  BaseIds[BaseIds["MORPHO_BLUE_CLOSE"] = 28] = "MORPHO_BLUE_CLOSE";
308
- BaseIds[BaseIds["AAVE_V3_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_LIQUIDATION_PROTECTION";
309
- BaseIds[BaseIds["FLUID_T1_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_LIQUIDATION_PROTECTION";
310
- BaseIds[BaseIds["MORPHO_BLUE_LIQUIDATION_PROTECTION"] = 31] = "MORPHO_BLUE_LIQUIDATION_PROTECTION";
312
+ BaseIds[BaseIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
313
+ BaseIds[BaseIds["FLUID_T1_SW_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_SW_LIQUIDATION_PROTECTION";
311
314
  BaseIds[BaseIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
312
315
  BaseIds[BaseIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
316
+ BaseIds[BaseIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 34] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
317
+ BaseIds[BaseIds["MORPHO_BLUE_SW_LIQUIDATION_PROTECTION"] = 35] = "MORPHO_BLUE_SW_LIQUIDATION_PROTECTION";
313
318
  })(BaseIds = Bundles.BaseIds || (Bundles.BaseIds = {}));
314
319
  let ArbitrumIds;
315
320
  (function (ArbitrumIds) {
@@ -342,10 +347,12 @@ var Bundles;
342
347
  ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_REPAY"] = 26] = "MORPHO_BLUE_EOA_REPAY";
343
348
  ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_BOOST"] = 27] = "MORPHO_BLUE_EOA_BOOST";
344
349
  ArbitrumIds[ArbitrumIds["MORPHO_BLUE_CLOSE"] = 28] = "MORPHO_BLUE_CLOSE";
345
- ArbitrumIds[ArbitrumIds["AAVE_V3_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_LIQUIDATION_PROTECTION";
346
- ArbitrumIds[ArbitrumIds["FLUID_T1_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_LIQUIDATION_PROTECTION";
347
- ArbitrumIds[ArbitrumIds["MORPHO_BLUE_LIQUIDATION_PROTECTION"] = 31] = "MORPHO_BLUE_LIQUIDATION_PROTECTION";
350
+ ArbitrumIds[ArbitrumIds["AAVE_V3_SW_LIQUIDATION_PROTECTION"] = 29] = "AAVE_V3_SW_LIQUIDATION_PROTECTION";
351
+ ArbitrumIds[ArbitrumIds["FLUID_T1_SW_LIQUIDATION_PROTECTION"] = 30] = "FLUID_T1_SW_LIQUIDATION_PROTECTION";
352
+ ArbitrumIds[ArbitrumIds["MORPHO_BLUE_SW_LIQUIDATION_PROTECTION"] = 31] = "MORPHO_BLUE_SW_LIQUIDATION_PROTECTION";
348
353
  ArbitrumIds[ArbitrumIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
349
354
  ArbitrumIds[ArbitrumIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
355
+ ArbitrumIds[ArbitrumIds["AAVE_V3_EOA_LIQUIDATION_PROTECTION"] = 34] = "AAVE_V3_EOA_LIQUIDATION_PROTECTION";
356
+ ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION"] = 35] = "MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION";
350
357
  })(ArbitrumIds = Bundles.ArbitrumIds || (Bundles.ArbitrumIds = {}));
351
358
  })(Bundles = exports.Bundles || (exports.Bundles = {}));
@@ -543,23 +543,23 @@ export const MAINNET_BUNDLES_INFO = {
543
543
  strategyId: Strategies.Identifiers.EoaCloseOnPrice,
544
544
  protocol: PROTOCOLS.AaveV4,
545
545
  },
546
- [Bundles.MainnetIds.MAKER_LIQUIDATION_PROTECTION]: {
547
- strategyOrBundleId: Bundles.MainnetIds.MAKER_LIQUIDATION_PROTECTION,
546
+ [Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
547
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
548
548
  strategyId: Strategies.Identifiers.LiquidationProtection,
549
549
  protocol: PROTOCOLS.MakerDAO,
550
550
  },
551
- [Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
552
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION,
551
+ [Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
552
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
553
553
  strategyId: Strategies.Identifiers.LiquidationProtection,
554
554
  protocol: PROTOCOLS.AaveV3,
555
555
  },
556
- [Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION]: {
557
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION,
556
+ [Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
557
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
558
558
  strategyId: Strategies.Identifiers.LiquidationProtection,
559
559
  protocol: PROTOCOLS.AaveV4,
560
560
  },
561
- [Bundles.MainnetIds.SPARK_LIQUIDATION_PROTECTION]: {
562
- strategyOrBundleId: Bundles.MainnetIds.SPARK_LIQUIDATION_PROTECTION,
561
+ [Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
562
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
563
563
  strategyId: Strategies.Identifiers.LiquidationProtection,
564
564
  protocol: PROTOCOLS.Spark,
565
565
  },
@@ -570,19 +570,34 @@ export const MAINNET_BUNDLES_INFO = {
570
570
  },
571
571
  [Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
572
572
  strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
573
- strategyId: Strategies.Identifiers.LiquidationProtection,
573
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
574
574
  protocol: PROTOCOLS.CompoundV3,
575
575
  },
576
- [Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
577
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
576
+ [Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
577
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
578
578
  strategyId: Strategies.Identifiers.LiquidationProtection,
579
579
  protocol: PROTOCOLS.MorphoBlue,
580
580
  },
581
- [Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
582
- strategyOrBundleId: Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION,
581
+ [Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
582
+ strategyOrBundleId: Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
583
583
  strategyId: Strategies.Identifiers.LiquidationProtection,
584
584
  protocol: PROTOCOLS.FluidT1,
585
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
+ },
586
601
  };
587
602
  export const OPTIMISM_BUNDLES_INFO = {
588
603
  [Bundles.OptimismIds.AAVE_V3_REPAY]: {
@@ -640,11 +655,16 @@ export const OPTIMISM_BUNDLES_INFO = {
640
655
  strategyId: Strategies.Identifiers.EoaCloseOnPrice,
641
656
  protocol: PROTOCOLS.AaveV3,
642
657
  },
643
- [Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
644
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION,
658
+ [Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
659
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
645
660
  strategyId: Strategies.Identifiers.LiquidationProtection,
646
661
  protocol: PROTOCOLS.AaveV3,
647
662
  },
663
+ [Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
664
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
665
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
666
+ protocol: PROTOCOLS.AaveV3,
667
+ },
648
668
  };
649
669
  export const BASE_BUNDLES_INFO = {
650
670
  [Bundles.BaseIds.AAVE_V3_REPAY]: {
@@ -782,8 +802,8 @@ export const BASE_BUNDLES_INFO = {
782
802
  strategyId: Strategies.Identifiers.CloseOnPrice,
783
803
  protocol: PROTOCOLS.MorphoBlue,
784
804
  },
785
- [Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
786
- strategyOrBundleId: Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION,
805
+ [Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
806
+ strategyOrBundleId: Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
787
807
  strategyId: Strategies.Identifiers.LiquidationProtection,
788
808
  protocol: PROTOCOLS.AaveV3,
789
809
  },
@@ -794,19 +814,24 @@ export const BASE_BUNDLES_INFO = {
794
814
  },
795
815
  [Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
796
816
  strategyOrBundleId: Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
797
- strategyId: Strategies.Identifiers.LiquidationProtection,
817
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
798
818
  protocol: PROTOCOLS.CompoundV3,
799
819
  },
800
- [Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
801
- strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
820
+ [Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
821
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
802
822
  strategyId: Strategies.Identifiers.LiquidationProtection,
803
823
  protocol: PROTOCOLS.MorphoBlue,
804
824
  },
805
- [Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
806
- strategyOrBundleId: Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION,
825
+ [Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
826
+ strategyOrBundleId: Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
807
827
  strategyId: Strategies.Identifiers.LiquidationProtection,
808
828
  protocol: PROTOCOLS.FluidT1,
809
829
  },
830
+ [Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
831
+ strategyOrBundleId: Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
832
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
833
+ protocol: PROTOCOLS.AaveV3,
834
+ },
810
835
  };
811
836
  export const ARBITRUM_BUNDLES_INFO = {
812
837
  [Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
@@ -954,8 +979,8 @@ export const ARBITRUM_BUNDLES_INFO = {
954
979
  strategyId: Strategies.Identifiers.CloseOnPrice,
955
980
  protocol: PROTOCOLS.MorphoBlue,
956
981
  },
957
- [Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
958
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION,
982
+ [Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
983
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
959
984
  strategyId: Strategies.Identifiers.LiquidationProtection,
960
985
  protocol: PROTOCOLS.AaveV3,
961
986
  },
@@ -966,19 +991,29 @@ export const ARBITRUM_BUNDLES_INFO = {
966
991
  },
967
992
  [Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
968
993
  strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
969
- strategyId: Strategies.Identifiers.LiquidationProtection,
994
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
970
995
  protocol: PROTOCOLS.CompoundV3,
971
996
  },
972
- [Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
973
- strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
997
+ [Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
998
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
974
999
  strategyId: Strategies.Identifiers.LiquidationProtection,
975
1000
  protocol: PROTOCOLS.MorphoBlue,
976
1001
  },
977
- [Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
978
- strategyOrBundleId: Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION,
1002
+ [Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
1003
+ strategyOrBundleId: Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
979
1004
  strategyId: Strategies.Identifiers.LiquidationProtection,
980
1005
  protocol: PROTOCOLS.FluidT1,
981
1006
  },
1007
+ [Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
1008
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
1009
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
1010
+ protocol: PROTOCOLS.AaveV3,
1011
+ },
1012
+ [Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
1013
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
1014
+ strategyId: Strategies.Identifiers.EoaLiquidationProtection,
1015
+ protocol: PROTOCOLS.MorphoBlue,
1016
+ },
982
1017
  };
983
1018
  export const BUNDLES_INFO = {
984
1019
  [ChainId.Ethereum]: MAINNET_BUNDLES_INFO,
@@ -109,7 +109,6 @@ function parseMakerLiquidationProtection(position, parseData) {
109
109
  repayEnabled: isEnabled,
110
110
  subId1: Number(subId),
111
111
  };
112
- // TODO -> Is this ok?
113
112
  _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
114
113
  return _position;
115
114
  }
@@ -228,7 +227,6 @@ function parseAaveV3LiquidationProtection(position, parseData) {
228
227
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
229
228
  const { isEnabled } = parseData.strategiesSubsData;
230
229
  const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
231
- // const isEOA = _position.strategy.strategyId.includes('eoa');
232
230
  const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
233
231
  _position.strategyData.decoded.triggerData = triggerData;
234
232
  _position.strategyData.decoded.subData = subData;
@@ -240,8 +238,8 @@ function parseAaveV3LiquidationProtection(position, parseData) {
240
238
  subId1: Number(subId),
241
239
  subHashRepay: subHash,
242
240
  };
243
- // TODO -> Should split for EOA or not? Prob not as they will use same encoding and decoding
244
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
241
+ const isEOA = _position.strategy.strategyId.includes('eoa');
242
+ _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
245
243
  return _position;
246
244
  }
247
245
  function parseAaveV3LeverageManagementOnPrice(position, parseData) {
@@ -379,12 +377,11 @@ function parseAaveV4LiquidationProtection(position, parseData) {
379
377
  const { isEnabled } = parseData.strategiesSubsData;
380
378
  const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
381
379
  const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
382
- // const isEOA = _position.strategy.strategyId.includes('eoa');
383
- // const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
380
+ const isEOA = _position.strategy.strategyId.includes('eoa');
384
381
  _position.strategyData.decoded.triggerData = triggerData;
385
382
  _position.strategyData.decoded.subData = subData;
386
383
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
387
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
384
+ _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
388
385
  _position.specific = {
389
386
  triggerRepayRatio: triggerData.ratio,
390
387
  targetRepayRatio: subData.targetRatio,
@@ -582,13 +579,12 @@ function parseCompoundV3LiquidationProtection(position, parseData) {
582
579
  const _position = cloneDeep(position);
583
580
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
584
581
  const { isEnabled } = parseData.strategiesSubsData;
585
- const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
582
+ const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy;
586
583
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
587
584
  const subData = subDataDecoder.decode(subStruct.subData);
588
585
  _position.strategyData.decoded.triggerData = triggerData;
589
586
  _position.strategyData.decoded.subData = subData;
590
587
  _position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
591
- // const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
592
588
  const isEOA = _position.strategy.strategyId.includes('eoa');
593
589
  _position.specific = {
594
590
  triggerRepayRatio: triggerData.ratio,
@@ -969,8 +965,7 @@ function parseMorphoBlueLiquidationProtection(position, parseData) {
969
965
  subHashRepay: subHash,
970
966
  };
971
967
  const isEOA = _position.strategy.strategyId.includes('eoa');
972
- // TODO -> Should be separate for EOA ?
973
- _position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
968
+ _position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
974
969
  return _position;
975
970
  }
976
971
  function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
@@ -1193,6 +1188,7 @@ const parsingMethodsMapping = {
1193
1188
  [Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
1194
1189
  [Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
1195
1190
  [Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
1191
+ [Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
1196
1192
  },
1197
1193
  [ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
1198
1194
  [Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
@@ -1208,6 +1204,7 @@ const parsingMethodsMapping = {
1208
1204
  [Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
1209
1205
  [Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
1210
1206
  [Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
1207
+ [Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
1211
1208
  },
1212
1209
  [ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
1213
1210
  [Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -1224,7 +1221,6 @@ const parsingMethodsMapping = {
1224
1221
  [Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
1225
1222
  [Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
1226
1223
  [Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
1227
- // TODO -> here should prob separate EOA from SW
1228
1224
  [Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
1229
1225
  [Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
1230
1226
  },
@@ -1261,6 +1257,7 @@ const parsingMethodsMapping = {
1261
1257
  [Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1262
1258
  [Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
1263
1259
  [Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
1260
+ [Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
1264
1261
  },
1265
1262
  [ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
1266
1263
  [Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
@@ -71,7 +71,7 @@ export declare const compoundV2Encode: {
71
71
  };
72
72
  export declare const compoundV3Encode: {
73
73
  leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
74
- liquidationProtection(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
74
+ liquidationProtectionWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
75
75
  leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
76
76
  closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, stopLossPrice: number | undefined, stopLossType: CloseToAssetType | undefined, takeProfitPrice: number | undefined, takeProfitType: CloseToAssetType | undefined, user: EthereumAddress): (number | boolean | string[])[];
77
77
  };
@@ -42,7 +42,7 @@ export const makerEncode = {
42
42
  ];
43
43
  },
44
44
  liquidationProtection(vaultId, triggerRatio, targetRatio, ratioState, daiAddr) {
45
- const bundleId = Bundles.MainnetIds.MAKER_LIQUIDATION_PROTECTION;
45
+ const bundleId = Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION;
46
46
  const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
47
47
  const subData = subDataService.makerLiquidationProtectionSubData.encode(vaultId, targetRatio, daiAddr);
48
48
  return [
@@ -191,8 +191,11 @@ export const compoundV3Encode = {
191
191
  const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
192
192
  return [strategyOrBundleId, isBundle, triggerData, subData];
193
193
  },
194
- liquidationProtection(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
195
- return subDataService.compoundV3LiquidationProtectionSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
194
+ liquidationProtectionWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
195
+ const isBundle = true;
196
+ const subData = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
197
+ const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
198
+ return [strategyOrBundleId, isBundle, triggerData, subData];
196
199
  },
197
200
  leverageManagementOnPrice(strategyOrBundleId, market, collToken, baseToken, targetRatio, price, priceState, ratioState, // REPAY for repay on price, BOOST for boost on price
198
201
  user) {
@@ -302,8 +305,10 @@ export const morphoBlueEncode = {
302
305
  liquidationProtection(marketId, loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, triggerRatio, user, isEOA, network) {
303
306
  const subData = subDataService.morphoBlueLiquidationProtectionSubData.encode(loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user, isEOA);
304
307
  const triggerData = triggerService.morphoBlueRatioTrigger.encode(marketId, user, triggerRatio, ratioState);
305
- // TODO -> Check if need to deploy separate bundles for EOA, or can reuse this for EOA. Logic above is different for EOA and SW on arbi and mainnet. Base uses same for both, not sure if because of lack of EOA support or because it is using same bundle for both.
306
- const bundleId = getBundleIdsByNetwork(network).MORPHO_BLUE_LIQUIDATION_PROTECTION;
308
+ // Type casting because there is no MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION for Base chain.
309
+ // That is fine because we will just always send isEOA == false for Base chain.
310
+ const bundleNetwork = getBundleIdsByNetwork(network);
311
+ const bundleId = isEOA ? bundleNetwork.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION : bundleNetwork.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION;
307
312
  const isBundle = true;
308
313
  return [bundleId, isBundle, triggerData, subData];
309
314
  },
@@ -374,12 +374,6 @@ export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
374
374
  | `----.| `--' | | | | | | | \ / ___) |
375
375
  \______| \______/ |__| |__| | _| \__/ |____/
376
376
  */
377
- export declare const compoundV3LeverageManagementSubData: {
378
- encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
379
- decode(subData: string[]): {
380
- targetRatio: number;
381
- };
382
- };
383
377
  export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
384
378
  encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
385
379
  decode(subData: string[]): {
@@ -389,16 +383,13 @@ export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
389
383
  ratioState: RatioState;
390
384
  };
391
385
  };
392
- export declare const compoundV3LiquidationProtectionSubData: {
393
- encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
394
- decode(subData: string[]): {
395
- targetRatio: number;
396
- };
397
- };
398
- export declare const compoundV3L2LiquidationProtectionSubData: {
399
- encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string;
386
+ export declare const compoundV3LiquidationProtectionSubDataWithoutSubProxy: {
387
+ encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
400
388
  decode(subData: string[]): {
389
+ market: EthereumAddress;
390
+ baseToken: EthereumAddress;
401
391
  targetRatio: number;
392
+ ratioState: RatioState;
402
393
  };
403
394
  };
404
395
  export declare const compoundV3LeverageManagementOnPriceSubData: {
@@ -867,28 +867,7 @@ export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
867
867
  | `----.| `--' | | | | | | | \ / ___) |
868
868
  \______| \______/ |__| |__| | _| \__/ |____/
869
869
  */
870
- // ! Any change here will PROBABLY require a change in compoundV3LiquidationProtectionSubData as well, since it is copy paste
871
- // ! Double check before changing
872
- export const compoundV3LeverageManagementSubData = {
873
- encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
874
- return [
875
- market,
876
- baseToken,
877
- new Dec(triggerRepayRatio).mul(1e16).toString(),
878
- new Dec(triggerBoostRatio).mul(1e16).toString(),
879
- new Dec(targetBoostRatio).mul(1e16).toString(),
880
- new Dec(targetRepayRatio).mul(1e16).toString(),
881
- // @ts-ignore // TODO
882
- boostEnabled, isEOA,
883
- ];
884
- },
885
- decode(subData) {
886
- const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
887
- const targetRatio = weiToRatioPercentage(weiRatio);
888
- return { targetRatio };
889
- },
890
- };
891
- // ! Any change here will PROBABLY require a change in compoundV3L2LiquidationProtectionSubData as well, since it is copy paste
870
+ // ! Any change here will PROBABLY require a change in compoundV3LiquidationProtectionSubDataWithoutSubProxy as well, since it is copy paste
892
871
  // ! Double check before changing
893
872
  export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
894
873
  encode(market, baseToken, targetRatio, ratioState) {
@@ -908,50 +887,22 @@ export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
908
887
  };
909
888
  },
910
889
  };
911
- export const compoundV3LiquidationProtectionSubData = {
912
- encode(market, baseToken, triggerRepayRatio,
913
- // TODO -> can remove boost stuff ? Not sure if want it to be compatible or not.
914
- triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
915
- return [
916
- market,
917
- baseToken,
918
- new Dec(triggerRepayRatio).mul(1e16).toString(),
919
- new Dec(triggerBoostRatio).mul(1e16).toString(),
920
- new Dec(targetBoostRatio).mul(1e16).toString(),
921
- new Dec(targetRepayRatio).mul(1e16).toString(),
922
- // @ts-ignore // TODO
923
- boostEnabled, isEOA,
924
- ];
925
- },
926
- decode(subData) {
927
- const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
928
- const targetRatio = weiToRatioPercentage(weiRatio);
929
- return { targetRatio };
930
- },
931
- };
932
- export const compoundV3L2LiquidationProtectionSubData = {
933
- encode(market, baseToken, triggerRepayRatio,
934
- // TODO -> can remove boost stuff ? Not sure if want it to be compatible or not.
935
- triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
936
- let subInput = '0x';
937
- subInput = subInput.concat(market.slice(2));
938
- subInput = subInput.concat(baseToken.slice(2));
939
- subInput = subInput.concat(new Dec(triggerRepayRatio).mul(1e16).toHex().slice(2)
940
- .padStart(32, '0'));
941
- subInput = subInput.concat(new Dec(triggerBoostRatio).mul(1e16).toHex().slice(2)
942
- .padStart(32, '0'));
943
- subInput = subInput.concat(new Dec(targetBoostRatio).mul(1e16).toHex().slice(2)
944
- .padStart(32, '0'));
945
- subInput = subInput.concat(new Dec(targetRepayRatio).mul(1e16).toHex().slice(2)
946
- .padStart(32, '0'));
947
- subInput = subInput.concat(boostEnabled ? '01' : '00');
948
- subInput = subInput.concat(isEOA ? '01' : '00');
949
- return subInput;
890
+ export const compoundV3LiquidationProtectionSubDataWithoutSubProxy = {
891
+ encode(market, baseToken, targetRatio, ratioState) {
892
+ const encodedMarket = AbiCoder.encodeParameter('address', market);
893
+ const encodedBaseToken = AbiCoder.encodeParameter('address', baseToken);
894
+ const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
895
+ const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
896
+ return [encodedMarket, encodedBaseToken, encodedRatioState, encodedTargetRatio];
950
897
  },
951
898
  decode(subData) {
952
- const ratioWei = AbiCoder.decodeParameter('uint256', subData[3]);
953
- const targetRatio = weiToRatioPercentage(ratioWei);
954
- return { targetRatio };
899
+ const market = AbiCoder.decodeParameter('address', subData[0]);
900
+ const baseToken = AbiCoder.decodeParameter('address', subData[1]);
901
+ const ratioState = AbiCoder.decodeParameter('uint8', subData[2]);
902
+ const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[3]));
903
+ return {
904
+ market, baseToken, targetRatio, ratioState,
905
+ };
955
906
  },
956
907
  };
957
908
  export const compoundV3LeverageManagementOnPriceSubData = {
@@ -1411,8 +1362,9 @@ export const fluidLeverageManagementSubData = {
1411
1362
  const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
1412
1363
  const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
1413
1364
  const wrapEthEncoded = AbiCoder.encodeParameter('bool', true);
1414
- const collActionType = CollActionType.WITHDRAW;
1415
- const debtActionType = DebtActionType.PAYBACK;
1365
+ const isRepay = ratioState === RatioState.UNDER;
1366
+ const collActionType = isRepay ? CollActionType.WITHDRAW : CollActionType.SUPPLY;
1367
+ const debtActionType = isRepay ? DebtActionType.PAYBACK : DebtActionType.BORROW;
1416
1368
  const collActionTypeEncoded = AbiCoder.encodeParameter('uint8', collActionType);
1417
1369
  const debtActionTypeEncoded = AbiCoder.encodeParameter('uint8', debtActionType);
1418
1370
  return [