@defisaver/automation-sdk 3.3.14 → 3.3.15-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 (41) hide show
  1. package/cjs/constants/index.js +95 -0
  2. package/cjs/index.d.ts +4 -3
  3. package/cjs/index.js +6 -2
  4. package/cjs/services/strategiesService.js +181 -17
  5. package/cjs/services/strategySubService.d.ts +14 -13
  6. package/cjs/services/strategySubService.js +74 -63
  7. package/cjs/services/strategySubService.test.js +0 -234
  8. package/cjs/services/subDataService.d.ts +98 -1
  9. package/cjs/services/subDataService.js +264 -6
  10. package/cjs/services/subDataService.test.js +0 -42
  11. package/cjs/services/utils.d.ts +3 -1
  12. package/cjs/services/utils.js +34 -1
  13. package/cjs/services/utils.test.js +25 -0
  14. package/cjs/types/enums.d.ts +29 -6
  15. package/cjs/types/enums.js +23 -0
  16. package/esm/constants/index.js +95 -0
  17. package/esm/index.d.ts +4 -3
  18. package/esm/index.js +7 -3
  19. package/esm/services/strategiesService.js +181 -17
  20. package/esm/services/strategySubService.d.ts +14 -13
  21. package/esm/services/strategySubService.js +74 -60
  22. package/esm/services/strategySubService.test.js +2 -236
  23. package/esm/services/subDataService.d.ts +98 -1
  24. package/esm/services/subDataService.js +262 -5
  25. package/esm/services/subDataService.test.js +0 -42
  26. package/esm/services/utils.d.ts +3 -1
  27. package/esm/services/utils.js +32 -1
  28. package/esm/services/utils.test.js +27 -2
  29. package/esm/types/enums.d.ts +29 -6
  30. package/esm/types/enums.js +23 -0
  31. package/package.json +1 -1
  32. package/src/constants/index.ts +96 -0
  33. package/src/index.ts +24 -6
  34. package/src/services/strategiesService.ts +246 -17
  35. package/src/services/strategySubService.test.ts +0 -279
  36. package/src/services/strategySubService.ts +196 -110
  37. package/src/services/subDataService.test.ts +0 -48
  38. package/src/services/subDataService.ts +363 -4
  39. package/src/services/utils.test.ts +32 -1
  40. package/src/services/utils.ts +32 -1
  41. package/src/types/enums.ts +23 -0
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getStopLossAndTakeProfitTypeByCloseStrategyType = exports.getCloseStrategyType = exports.getPositionId = exports.getRatioStateInfoForAaveCloseStrategy = exports.requireAddresses = exports.requireAddress = exports.isEmptyBytes = exports.isRatioStateUnder = exports.isRatioStateOver = exports.weiToRatioPercentage = exports.ratioPercentageToWei = exports.encodeSubId = exports.compareSubHashes = exports.wethToEthByAddress = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.addToArrayIf = exports.isAddress = exports.compareAddresses = exports.isUndefined = exports.isDefined = void 0;
29
+ exports.getCompoundV3LeverageManagementBundleId = exports.getBundleIdsByNetwork = exports.getStopLossAndTakeProfitTypeByCloseStrategyType = exports.getCloseStrategyType = exports.getPositionId = exports.getRatioStateInfoForAaveCloseStrategy = exports.requireAddresses = exports.requireAddress = exports.isEmptyBytes = exports.isRatioStateUnder = exports.isRatioStateOver = exports.weiToRatioPercentage = exports.ratioPercentageToWei = exports.encodeSubId = exports.compareSubHashes = exports.wethToEthByAddress = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.addToArrayIf = exports.isAddress = exports.compareAddresses = exports.isUndefined = exports.isDefined = void 0;
30
30
  const decimal_js_1 = __importDefault(require("decimal.js"));
31
31
  const web3Utils = __importStar(require("web3-utils"));
32
32
  const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
@@ -188,3 +188,36 @@ function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType) {
188
188
  }
189
189
  }
190
190
  exports.getStopLossAndTakeProfitTypeByCloseStrategyType = getStopLossAndTakeProfitTypeByCloseStrategyType;
191
+ function getBundleIdsByNetwork(network) {
192
+ switch (network) {
193
+ case enums_1.ChainId.Arbitrum:
194
+ return enums_1.Bundles.ArbitrumIds;
195
+ case enums_1.ChainId.Base:
196
+ return enums_1.Bundles.BaseIds;
197
+ case enums_1.ChainId.Optimism:
198
+ return enums_1.Bundles.OptimismIds;
199
+ default:
200
+ return enums_1.Bundles.MainnetIds;
201
+ }
202
+ }
203
+ exports.getBundleIdsByNetwork = getBundleIdsByNetwork;
204
+ // Mainnet uses the V2 bundle ids; L2s use the original bundle ids.
205
+ function getCompoundV3LeverageManagementBundleId(network, isEOA, isBoost) {
206
+ switch (Number(network)) {
207
+ case enums_1.ChainId.Ethereum:
208
+ if (isEOA)
209
+ return isBoost ? enums_1.Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE : enums_1.Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE;
210
+ return isBoost ? enums_1.Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE : enums_1.Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE;
211
+ case enums_1.ChainId.Base:
212
+ if (isEOA)
213
+ return isBoost ? enums_1.Bundles.BaseIds.COMP_V3_EOA_BOOST : enums_1.Bundles.BaseIds.COMP_V3_EOA_REPAY;
214
+ return isBoost ? enums_1.Bundles.BaseIds.COMP_V3_SW_BOOST_BUNDLE : enums_1.Bundles.BaseIds.COMP_V3_SW_REPAY_BUNDLE;
215
+ case enums_1.ChainId.Arbitrum:
216
+ if (isEOA)
217
+ return isBoost ? enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_BOOST : enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_REPAY;
218
+ return isBoost ? enums_1.Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE : enums_1.Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE;
219
+ default:
220
+ throw new Error(`Compound V3 leverage management is not supported on network ${network}`);
221
+ }
222
+ }
223
+ exports.getCompoundV3LeverageManagementBundleId = getCompoundV3LeverageManagementBundleId;
@@ -296,4 +296,29 @@ describe('Feature: utils.ts', () => {
296
296
  });
297
297
  });
298
298
  });
299
+ describe('When testing utils.getCompoundV3LeverageManagementBundleId()', () => {
300
+ // Mainnet uses the V2 bundle ids; L2s use the original bundle ids.
301
+ const examples = [
302
+ [enums_1.Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE, [enums_1.ChainId.Ethereum, false, false]],
303
+ [enums_1.Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE, [enums_1.ChainId.Ethereum, false, true]],
304
+ [enums_1.Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE, [enums_1.ChainId.Ethereum, true, false]],
305
+ [enums_1.Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE, [enums_1.ChainId.Ethereum, true, true]],
306
+ [enums_1.Bundles.BaseIds.COMP_V3_SW_REPAY_BUNDLE, [enums_1.ChainId.Base, false, false]],
307
+ [enums_1.Bundles.BaseIds.COMP_V3_SW_BOOST_BUNDLE, [enums_1.ChainId.Base, false, true]],
308
+ [enums_1.Bundles.BaseIds.COMP_V3_EOA_REPAY, [enums_1.ChainId.Base, true, false]],
309
+ [enums_1.Bundles.BaseIds.COMP_V3_EOA_BOOST, [enums_1.ChainId.Base, true, true]],
310
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE, [enums_1.ChainId.Arbitrum, false, false]],
311
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE, [enums_1.ChainId.Arbitrum, false, true]],
312
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_REPAY, [enums_1.ChainId.Arbitrum, true, false]],
313
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_BOOST, [enums_1.ChainId.Arbitrum, true, true]],
314
+ ];
315
+ examples.forEach(([expected, actual]) => {
316
+ it(`Given ${actual} should return expected value: ${expected}`, () => {
317
+ (0, chai_1.expect)((0, utils_1.getCompoundV3LeverageManagementBundleId)(...actual)).to.equal(expected);
318
+ });
319
+ });
320
+ it(`Given ${enums_1.ChainId.Optimism} (unsupported) should throw an error`, () => {
321
+ (0, chai_1.expect)(() => (0, utils_1.getCompoundV3LeverageManagementBundleId)(enums_1.ChainId.Optimism, false, false)).to.throw(Error);
322
+ });
323
+ });
299
324
  });
@@ -138,7 +138,9 @@ export declare namespace Strategies {
138
138
  EoaBoostOnPrice = "eoa-boost-on-price",
139
139
  EoaRepayOnPrice = "eoa-repay-on-price",
140
140
  CollateralSwitch = "collateral-switch",
141
- EoaCollateralSwitch = "eoa-collateral-switch"
141
+ EoaCollateralSwitch = "eoa-collateral-switch",
142
+ LiquidationProtection = "liquidation-protection",
143
+ EoaLiquidationProtection = "eoa-liquidation-protection"
142
144
  }
143
145
  enum IdOverrides {
144
146
  TakeProfit = "take-profit",
@@ -149,7 +151,9 @@ export declare namespace Strategies {
149
151
  LeverageManagement = "leverage-management",
150
152
  EoaLeverageManagement = "leverage-management-eoa",
151
153
  LeverageManagementOnPrice = "leverage-management-on-price",
152
- EoaLeverageManagementOnPrice = "leverage-management-on-price-eoa"
154
+ EoaLeverageManagementOnPrice = "leverage-management-on-price-eoa",
155
+ LiquidationProtection = "liquidation-protection",
156
+ EoaLiquidationProtection = "liquidation-protection-eoa"
153
157
  }
154
158
  }
155
159
  export declare namespace Bundles {
@@ -224,7 +228,15 @@ export declare namespace Bundles {
224
228
  AAVE_V4_EOA_BOOST = 67,
225
229
  AAVE_V4_EOA_REPAY_ON_PRICE = 68,
226
230
  AAVE_V4_EOA_BOOST_ON_PRICE = 69,
227
- AAVE_V4_EOA_CLOSE = 70
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
228
240
  }
229
241
  enum OptimismIds {
230
242
  AAVE_V3_REPAY = 0,
@@ -237,7 +249,8 @@ export declare namespace Bundles {
237
249
  AAVE_V3_EOA_BOOST = 7,
238
250
  AAVE_V3_EOA_REPAY_ON_PRICE = 8,
239
251
  AAVE_V3_EOA_BOOST_ON_PRICE = 9,
240
- AAVE_V3_EOA_CLOSE = 10
252
+ AAVE_V3_EOA_CLOSE = 10,
253
+ AAVE_V3_LIQUIDATION_PROTECTION = 11
241
254
  }
242
255
  enum BaseIds {
243
256
  AAVE_V3_REPAY = 0,
@@ -266,7 +279,12 @@ export declare namespace Bundles {
266
279
  AAVE_V3_EOA_REPAY_ON_PRICE = 25,
267
280
  AAVE_V3_EOA_BOOST_ON_PRICE = 26,
268
281
  AAVE_V3_EOA_CLOSE = 27,
269
- MORPHO_BLUE_CLOSE = 28
282
+ MORPHO_BLUE_CLOSE = 28,
283
+ AAVE_V3_LIQUIDATION_PROTECTION = 29,
284
+ FLUID_T1_LIQUIDATION_PROTECTION = 30,
285
+ MORPHO_BLUE_LIQUIDATION_PROTECTION = 31,
286
+ COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
287
+ COMP_V3_EOA_LIQUIDATION_PROTECTION = 33
270
288
  }
271
289
  enum ArbitrumIds {
272
290
  AAVE_V3_REPAY = 0,
@@ -297,6 +315,11 @@ export declare namespace Bundles {
297
315
  MORPHO_BLUE_BOOST_ON_PRICE = 25,
298
316
  MORPHO_BLUE_EOA_REPAY = 26,
299
317
  MORPHO_BLUE_EOA_BOOST = 27,
300
- MORPHO_BLUE_CLOSE = 28
318
+ MORPHO_BLUE_CLOSE = 28,
319
+ AAVE_V3_LIQUIDATION_PROTECTION = 29,
320
+ FLUID_T1_LIQUIDATION_PROTECTION = 30,
321
+ MORPHO_BLUE_LIQUIDATION_PROTECTION = 31,
322
+ COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
323
+ COMP_V3_EOA_LIQUIDATION_PROTECTION = 33
301
324
  }
302
325
  }
@@ -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"] = "eoa-liquidation-protection";
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,14 @@ 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_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";
251
263
  })(MainnetIds = Bundles.MainnetIds || (Bundles.MainnetIds = {}));
252
264
  let OptimismIds;
253
265
  (function (OptimismIds) {
@@ -262,6 +274,7 @@ var Bundles;
262
274
  OptimismIds[OptimismIds["AAVE_V3_EOA_REPAY_ON_PRICE"] = 8] = "AAVE_V3_EOA_REPAY_ON_PRICE";
263
275
  OptimismIds[OptimismIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 9] = "AAVE_V3_EOA_BOOST_ON_PRICE";
264
276
  OptimismIds[OptimismIds["AAVE_V3_EOA_CLOSE"] = 10] = "AAVE_V3_EOA_CLOSE";
277
+ OptimismIds[OptimismIds["AAVE_V3_LIQUIDATION_PROTECTION"] = 11] = "AAVE_V3_LIQUIDATION_PROTECTION";
265
278
  })(OptimismIds = Bundles.OptimismIds || (Bundles.OptimismIds = {}));
266
279
  let BaseIds;
267
280
  (function (BaseIds) {
@@ -292,6 +305,11 @@ var Bundles;
292
305
  BaseIds[BaseIds["AAVE_V3_EOA_BOOST_ON_PRICE"] = 26] = "AAVE_V3_EOA_BOOST_ON_PRICE";
293
306
  BaseIds[BaseIds["AAVE_V3_EOA_CLOSE"] = 27] = "AAVE_V3_EOA_CLOSE";
294
307
  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";
311
+ BaseIds[BaseIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
312
+ BaseIds[BaseIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
295
313
  })(BaseIds = Bundles.BaseIds || (Bundles.BaseIds = {}));
296
314
  let ArbitrumIds;
297
315
  (function (ArbitrumIds) {
@@ -324,5 +342,10 @@ var Bundles;
324
342
  ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_REPAY"] = 26] = "MORPHO_BLUE_EOA_REPAY";
325
343
  ArbitrumIds[ArbitrumIds["MORPHO_BLUE_EOA_BOOST"] = 27] = "MORPHO_BLUE_EOA_BOOST";
326
344
  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";
348
+ ArbitrumIds[ArbitrumIds["COMP_V3_SW_LIQUIDATION_PROTECTION"] = 32] = "COMP_V3_SW_LIQUIDATION_PROTECTION";
349
+ ArbitrumIds[ArbitrumIds["COMP_V3_EOA_LIQUIDATION_PROTECTION"] = 33] = "COMP_V3_EOA_LIQUIDATION_PROTECTION";
327
350
  })(ArbitrumIds = Bundles.ArbitrumIds || (Bundles.ArbitrumIds = {}));
328
351
  })(Bundles = exports.Bundles || (exports.Bundles = {}));
@@ -543,6 +543,46 @@ 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,
548
+ strategyId: Strategies.Identifiers.LiquidationProtection,
549
+ protocol: PROTOCOLS.MakerDAO,
550
+ },
551
+ [Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
552
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION,
553
+ strategyId: Strategies.Identifiers.LiquidationProtection,
554
+ protocol: PROTOCOLS.AaveV3,
555
+ },
556
+ [Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION]: {
557
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION,
558
+ strategyId: Strategies.Identifiers.LiquidationProtection,
559
+ protocol: PROTOCOLS.AaveV4,
560
+ },
561
+ [Bundles.MainnetIds.SPARK_LIQUIDATION_PROTECTION]: {
562
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_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.LiquidationProtection,
574
+ protocol: PROTOCOLS.CompoundV3,
575
+ },
576
+ [Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
577
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
578
+ strategyId: Strategies.Identifiers.LiquidationProtection,
579
+ protocol: PROTOCOLS.MorphoBlue,
580
+ },
581
+ [Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
582
+ strategyOrBundleId: Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION,
583
+ strategyId: Strategies.Identifiers.LiquidationProtection,
584
+ protocol: PROTOCOLS.FluidT1,
585
+ },
546
586
  };
547
587
  export const OPTIMISM_BUNDLES_INFO = {
548
588
  [Bundles.OptimismIds.AAVE_V3_REPAY]: {
@@ -600,6 +640,11 @@ export const OPTIMISM_BUNDLES_INFO = {
600
640
  strategyId: Strategies.Identifiers.EoaCloseOnPrice,
601
641
  protocol: PROTOCOLS.AaveV3,
602
642
  },
643
+ [Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
644
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION,
645
+ strategyId: Strategies.Identifiers.LiquidationProtection,
646
+ protocol: PROTOCOLS.AaveV3,
647
+ },
603
648
  };
604
649
  export const BASE_BUNDLES_INFO = {
605
650
  [Bundles.BaseIds.AAVE_V3_REPAY]: {
@@ -737,6 +782,31 @@ export const BASE_BUNDLES_INFO = {
737
782
  strategyId: Strategies.Identifiers.CloseOnPrice,
738
783
  protocol: PROTOCOLS.MorphoBlue,
739
784
  },
785
+ [Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
786
+ strategyOrBundleId: Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION,
787
+ strategyId: Strategies.Identifiers.LiquidationProtection,
788
+ protocol: PROTOCOLS.AaveV3,
789
+ },
790
+ [Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
791
+ strategyOrBundleId: Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
792
+ strategyId: Strategies.Identifiers.LiquidationProtection,
793
+ protocol: PROTOCOLS.CompoundV3,
794
+ },
795
+ [Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
796
+ strategyOrBundleId: Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
797
+ strategyId: Strategies.Identifiers.LiquidationProtection,
798
+ protocol: PROTOCOLS.CompoundV3,
799
+ },
800
+ [Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
801
+ strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
802
+ strategyId: Strategies.Identifiers.LiquidationProtection,
803
+ protocol: PROTOCOLS.MorphoBlue,
804
+ },
805
+ [Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
806
+ strategyOrBundleId: Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION,
807
+ strategyId: Strategies.Identifiers.LiquidationProtection,
808
+ protocol: PROTOCOLS.FluidT1,
809
+ },
740
810
  };
741
811
  export const ARBITRUM_BUNDLES_INFO = {
742
812
  [Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
@@ -884,6 +954,31 @@ export const ARBITRUM_BUNDLES_INFO = {
884
954
  strategyId: Strategies.Identifiers.CloseOnPrice,
885
955
  protocol: PROTOCOLS.MorphoBlue,
886
956
  },
957
+ [Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
958
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION,
959
+ strategyId: Strategies.Identifiers.LiquidationProtection,
960
+ protocol: PROTOCOLS.AaveV3,
961
+ },
962
+ [Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
963
+ strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
964
+ strategyId: Strategies.Identifiers.LiquidationProtection,
965
+ protocol: PROTOCOLS.CompoundV3,
966
+ },
967
+ [Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
968
+ strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
969
+ strategyId: Strategies.Identifiers.LiquidationProtection,
970
+ protocol: PROTOCOLS.CompoundV3,
971
+ },
972
+ [Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
973
+ strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
974
+ strategyId: Strategies.Identifiers.LiquidationProtection,
975
+ protocol: PROTOCOLS.MorphoBlue,
976
+ },
977
+ [Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
978
+ strategyOrBundleId: Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION,
979
+ strategyId: Strategies.Identifiers.LiquidationProtection,
980
+ protocol: PROTOCOLS.FluidT1,
981
+ },
887
982
  };
888
983
  export const BUNDLES_INFO = {
889
984
  [ChainId.Ethereum]: MAINNET_BUNDLES_INFO,
package/esm/index.d.ts CHANGED
@@ -13,12 +13,13 @@ import * as strategiesService from './services/strategiesService';
13
13
  import * as constants from './constants';
14
14
  import * as enums from './types/enums';
15
15
  import type * as types from './types';
16
- import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
16
+ import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, getCompoundV3LeverageManagementBundleId } 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
+ getCompoundV3LeverageManagementBundleId: typeof getCompoundV3LeverageManagementBundleId;
22
+ getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
22
23
  };
23
- export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
24
+ export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
24
25
  export type { types };
package/esm/index.js CHANGED
@@ -16,8 +16,12 @@ import * as strategySubService from './services/strategySubService';
16
16
  import * as strategiesService from './services/strategiesService';
17
17
  import * as constants from './constants';
18
18
  import * as enums from './types/enums';
19
- import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, } from './services/utils';
19
+ import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, getCompoundV3LeverageManagementBundleId, } from './services/utils';
20
20
  const utils = {
21
- getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType,
21
+ compareSubHashes,
22
+ encodeSubId,
23
+ getCloseStrategyType,
24
+ getCompoundV3LeverageManagementBundleId,
25
+ getRatioStateInfoForAaveCloseStrategy,
22
26
  };
23
- export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
27
+ export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };