@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.
Files changed (42) hide show
  1. package/cjs/constants/index.js +145 -0
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +5 -2
  4. package/cjs/services/strategiesService.js +158 -9
  5. package/cjs/services/strategySubService.d.ts +17 -16
  6. package/cjs/services/strategySubService.js +69 -28
  7. package/cjs/services/strategySubService.test.js +69 -40
  8. package/cjs/services/subDataService.d.ts +70 -20
  9. package/cjs/services/subDataService.js +23 -79
  10. package/cjs/services/subDataService.test.js +117 -202
  11. package/cjs/services/triggerService.test.js +60 -0
  12. package/cjs/services/utils.d.ts +2 -1
  13. package/cjs/services/utils.js +14 -1
  14. package/cjs/types/enums.d.ts +39 -6
  15. package/cjs/types/enums.js +33 -0
  16. package/esm/constants/index.js +145 -0
  17. package/esm/index.d.ts +2 -2
  18. package/esm/index.js +5 -2
  19. package/esm/services/strategiesService.js +158 -9
  20. package/esm/services/strategySubService.d.ts +17 -16
  21. package/esm/services/strategySubService.js +69 -28
  22. package/esm/services/strategySubService.test.js +70 -38
  23. package/esm/services/subDataService.d.ts +70 -20
  24. package/esm/services/subDataService.js +21 -77
  25. package/esm/services/subDataService.test.js +118 -200
  26. package/esm/services/triggerService.test.js +61 -1
  27. package/esm/services/utils.d.ts +2 -1
  28. package/esm/services/utils.js +13 -1
  29. package/esm/types/enums.d.ts +39 -6
  30. package/esm/types/enums.js +33 -0
  31. package/package.json +1 -1
  32. package/src/constants/index.ts +147 -1
  33. package/src/index.ts +22 -6
  34. package/src/services/strategiesService.ts +222 -9
  35. package/src/services/strategySubService.test.ts +86 -46
  36. package/src/services/strategySubService.ts +166 -39
  37. package/src/services/subDataService.test.ts +128 -214
  38. package/src/services/subDataService.ts +42 -106
  39. package/src/services/triggerService.test.ts +69 -0
  40. package/src/services/utils.test.ts +1 -1
  41. package/src/services/utils.ts +15 -1
  42. package/src/types/enums.ts +33 -2
@@ -549,6 +549,66 @@ exports.MAINNET_BUNDLES_INFO = {
549
549
  strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
550
550
  protocol: exports.PROTOCOLS.AaveV4,
551
551
  },
552
+ [enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
553
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
554
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
555
+ protocol: exports.PROTOCOLS.MakerDAO,
556
+ },
557
+ [enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
558
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
559
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
560
+ protocol: exports.PROTOCOLS.AaveV3,
561
+ },
562
+ [enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
563
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
564
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
565
+ protocol: exports.PROTOCOLS.AaveV4,
566
+ },
567
+ [enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
568
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
569
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
570
+ protocol: exports.PROTOCOLS.Spark,
571
+ },
572
+ [enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
573
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
574
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
575
+ protocol: exports.PROTOCOLS.CompoundV3,
576
+ },
577
+ [enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
578
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
579
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
580
+ protocol: exports.PROTOCOLS.CompoundV3,
581
+ },
582
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
583
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
584
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
585
+ protocol: exports.PROTOCOLS.MorphoBlue,
586
+ },
587
+ [enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
588
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
589
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
590
+ protocol: exports.PROTOCOLS.FluidT1,
591
+ },
592
+ [enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
593
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
594
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
595
+ protocol: exports.PROTOCOLS.AaveV3,
596
+ },
597
+ [enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION]: {
598
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION,
599
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
600
+ protocol: exports.PROTOCOLS.AaveV4,
601
+ },
602
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
603
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
604
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
605
+ protocol: exports.PROTOCOLS.MorphoBlue,
606
+ },
607
+ [enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
608
+ strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
609
+ strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
610
+ protocol: exports.PROTOCOLS.MorphoBlue,
611
+ },
552
612
  };
553
613
  exports.OPTIMISM_BUNDLES_INFO = {
554
614
  [enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
@@ -606,6 +666,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
606
666
  strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
607
667
  protocol: exports.PROTOCOLS.AaveV3,
608
668
  },
669
+ [enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
670
+ strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
671
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
672
+ protocol: exports.PROTOCOLS.AaveV3,
673
+ },
674
+ [enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
675
+ strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
676
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
677
+ protocol: exports.PROTOCOLS.AaveV3,
678
+ },
609
679
  };
610
680
  exports.BASE_BUNDLES_INFO = {
611
681
  [enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
@@ -743,6 +813,41 @@ exports.BASE_BUNDLES_INFO = {
743
813
  strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
744
814
  protocol: exports.PROTOCOLS.MorphoBlue,
745
815
  },
816
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
817
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE,
818
+ strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
819
+ protocol: exports.PROTOCOLS.MorphoBlue,
820
+ },
821
+ [enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
822
+ strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
823
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
824
+ protocol: exports.PROTOCOLS.AaveV3,
825
+ },
826
+ [enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
827
+ strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
828
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
829
+ protocol: exports.PROTOCOLS.CompoundV3,
830
+ },
831
+ [enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
832
+ strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
833
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
834
+ protocol: exports.PROTOCOLS.CompoundV3,
835
+ },
836
+ [enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
837
+ strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
838
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
839
+ protocol: exports.PROTOCOLS.MorphoBlue,
840
+ },
841
+ [enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
842
+ strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
843
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
844
+ protocol: exports.PROTOCOLS.FluidT1,
845
+ },
846
+ [enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
847
+ strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
848
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
849
+ protocol: exports.PROTOCOLS.AaveV3,
850
+ },
746
851
  };
747
852
  exports.ARBITRUM_BUNDLES_INFO = {
748
853
  [enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
@@ -890,6 +995,46 @@ exports.ARBITRUM_BUNDLES_INFO = {
890
995
  strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
891
996
  protocol: exports.PROTOCOLS.MorphoBlue,
892
997
  },
998
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
999
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE,
1000
+ strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
1001
+ protocol: exports.PROTOCOLS.MorphoBlue,
1002
+ },
1003
+ [enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
1004
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
1005
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1006
+ protocol: exports.PROTOCOLS.AaveV3,
1007
+ },
1008
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
1009
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
1010
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1011
+ protocol: exports.PROTOCOLS.CompoundV3,
1012
+ },
1013
+ [enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
1014
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
1015
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1016
+ protocol: exports.PROTOCOLS.CompoundV3,
1017
+ },
1018
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
1019
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
1020
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1021
+ protocol: exports.PROTOCOLS.MorphoBlue,
1022
+ },
1023
+ [enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
1024
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
1025
+ strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
1026
+ protocol: exports.PROTOCOLS.FluidT1,
1027
+ },
1028
+ [enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
1029
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
1030
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1031
+ protocol: exports.PROTOCOLS.AaveV3,
1032
+ },
1033
+ [enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
1034
+ strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
1035
+ strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
1036
+ protocol: exports.PROTOCOLS.MorphoBlue,
1037
+ },
893
1038
  };
894
1039
  exports.BUNDLES_INFO = {
895
1040
  [enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
package/cjs/index.d.ts CHANGED
@@ -15,10 +15,10 @@ import * as enums from './types/enums';
15
15
  import type * as types from './types';
16
16
  import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
17
17
  declare const utils: {
18
- getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
19
18
  compareSubHashes: typeof compareSubHashes;
20
19
  encodeSubId: typeof encodeSubId;
21
20
  getCloseStrategyType: typeof getCloseStrategyType;
21
+ getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
22
22
  };
23
- export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
23
+ export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
24
24
  export type { types };
package/cjs/index.js CHANGED
@@ -30,7 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  return (mod && mod.__esModule) ? mod : { "default": mod };
31
31
  };
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.strategiesService = exports.constants = exports.enums = exports.utils = exports.strategySubService = exports.subDataService = exports.triggerService = exports.BaseStrategies = exports.ArbitrumStrategies = exports.OptimismStrategies = exports.EthereumStrategies = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.LegacyMakerAutomation = void 0;
33
+ exports.utils = exports.triggerService = exports.subDataService = exports.strategySubService = exports.strategiesService = exports.enums = exports.constants = exports.OptimismStrategies = exports.LegacyMakerAutomation = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.EthereumStrategies = exports.BaseStrategies = exports.ArbitrumStrategies = void 0;
34
34
  require("./configuration");
35
35
  const LegacyMakerAutomation_1 = __importDefault(require("./automation/public/legacy/LegacyMakerAutomation"));
36
36
  exports.LegacyMakerAutomation = LegacyMakerAutomation_1.default;
@@ -60,6 +60,9 @@ const enums = __importStar(require("./types/enums"));
60
60
  exports.enums = enums;
61
61
  const utils_1 = require("./services/utils");
62
62
  const utils = {
63
- getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy, compareSubHashes: utils_1.compareSubHashes, encodeSubId: utils_1.encodeSubId, getCloseStrategyType: utils_1.getCloseStrategyType,
63
+ compareSubHashes: utils_1.compareSubHashes,
64
+ encodeSubId: utils_1.encodeSubId,
65
+ getCloseStrategyType: utils_1.getCloseStrategyType,
66
+ getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy,
64
67
  };
65
68
  exports.utils = utils;
@@ -95,7 +95,7 @@ function parseMakerLeverageManagement(position, parseData) {
95
95
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
96
96
  const { isEnabled } = parseData.strategiesSubsData;
97
97
  const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
98
- const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
98
+ const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
99
99
  _position.strategyData.decoded.triggerData = triggerData;
100
100
  _position.strategyData.decoded.subData = subData;
101
101
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
@@ -123,6 +123,24 @@ function parseMakerLeverageManagement(position, parseData) {
123
123
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
124
124
  return _position;
125
125
  }
126
+ function parseMakerLiquidationProtection(position, parseData) {
127
+ const _position = (0, lodash_1.cloneDeep)(position);
128
+ const { subStruct, subId } = parseData.subscriptionEventData;
129
+ const { isEnabled } = parseData.strategiesSubsData;
130
+ const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
131
+ const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
132
+ _position.strategyData.decoded.triggerData = triggerData;
133
+ _position.strategyData.decoded.subData = subData;
134
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
135
+ _position.specific = {
136
+ triggerRepayRatio: triggerData.ratio,
137
+ targetRepayRatio: subData.targetRatio,
138
+ repayEnabled: isEnabled,
139
+ subId1: Number(subId),
140
+ };
141
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
142
+ return _position;
143
+ }
126
144
  function parseLiquityCloseOnPrice(position, parseData) {
127
145
  const _position = (0, lodash_1.cloneDeep)(position);
128
146
  const { subStruct } = parseData.subscriptionEventData;
@@ -160,7 +178,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
160
178
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
161
179
  const { isEnabled } = parseData.strategiesSubsData;
162
180
  const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
163
- const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
181
+ const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
164
182
  _position.strategyData.decoded.triggerData = triggerData;
165
183
  _position.strategyData.decoded.subData = subData;
166
184
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -196,10 +214,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
196
214
  const isEOA = _position.strategy.strategyId.includes('eoa');
197
215
  let subData;
198
216
  if (isEOA) {
199
- subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.decode(subStruct.subData);
217
+ subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
200
218
  }
201
219
  else {
202
- subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
220
+ subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
203
221
  }
204
222
  _position.strategyData.decoded.triggerData = triggerData;
205
223
  _position.strategyData.decoded.subData = subData;
@@ -233,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
233
251
  }
234
252
  return _position;
235
253
  }
254
+ function parseAaveV3LiquidationProtection(position, parseData) {
255
+ const _position = (0, lodash_1.cloneDeep)(position);
256
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
257
+ const { isEnabled } = parseData.strategiesSubsData;
258
+ const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
259
+ const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
260
+ _position.strategyData.decoded.triggerData = triggerData;
261
+ _position.strategyData.decoded.subData = subData;
262
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
263
+ _position.specific = {
264
+ triggerRepayRatio: triggerData.ratio,
265
+ targetRepayRatio: subData.targetRatio,
266
+ repayEnabled: isEnabled,
267
+ subId1: Number(subId),
268
+ subHashRepay: subHash,
269
+ };
270
+ const isEOA = _position.strategy.strategyId.includes('eoa');
271
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
272
+ return _position;
273
+ }
236
274
  function parseAaveV3LeverageManagementOnPrice(position, parseData) {
237
275
  const _position = (0, lodash_1.cloneDeep)(position);
238
276
  const { subStruct } = parseData.subscriptionEventData;
@@ -362,6 +400,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
362
400
  }
363
401
  return _position;
364
402
  }
403
+ function parseAaveV4LiquidationProtection(position, parseData) {
404
+ const _position = (0, lodash_1.cloneDeep)(position);
405
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
406
+ const { isEnabled } = parseData.strategiesSubsData;
407
+ const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
408
+ const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
409
+ const isEOA = _position.strategy.strategyId.includes('eoa');
410
+ _position.strategyData.decoded.triggerData = triggerData;
411
+ _position.strategyData.decoded.subData = subData;
412
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
413
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
414
+ _position.specific = {
415
+ triggerRepayRatio: triggerData.ratio,
416
+ targetRepayRatio: subData.targetRatio,
417
+ repayEnabled: isEnabled,
418
+ subId1: Number(subId),
419
+ subHashRepay: subHash,
420
+ };
421
+ return _position;
422
+ }
365
423
  function parseAaveV4LeverageManagementOnPrice(position, parseData) {
366
424
  const _position = (0, lodash_1.cloneDeep)(position);
367
425
  const { subStruct } = parseData.subscriptionEventData;
@@ -481,7 +539,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
481
539
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
482
540
  const { isEnabled } = parseData.strategiesSubsData;
483
541
  const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
484
- const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
542
+ const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
485
543
  _position.strategyData.decoded.triggerData = triggerData;
486
544
  _position.strategyData.decoded.subData = subData;
487
545
  _position.owner = triggerData.owner.toLowerCase();
@@ -515,7 +573,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
515
573
  const _position = (0, lodash_1.cloneDeep)(position);
516
574
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
517
575
  const { isEnabled } = parseData.strategiesSubsData;
518
- const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
576
+ const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
519
577
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
520
578
  const subData = subDataDecoder.decode(subStruct.subData);
521
579
  _position.strategyData.decoded.triggerData = triggerData;
@@ -546,6 +604,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
546
604
  _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
547
605
  return _position;
548
606
  }
607
+ function parseCompoundV3LiquidationProtection(position, parseData) {
608
+ const _position = (0, lodash_1.cloneDeep)(position);
609
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
610
+ const { isEnabled } = parseData.strategiesSubsData;
611
+ const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
612
+ const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
613
+ const subData = subDataDecoder.decode(subStruct.subData);
614
+ _position.strategyData.decoded.triggerData = triggerData;
615
+ _position.strategyData.decoded.subData = subData;
616
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
617
+ const isEOA = _position.strategy.strategyId.includes('eoa');
618
+ _position.specific = {
619
+ triggerRepayRatio: triggerData.ratio,
620
+ targetRepayRatio: subData.targetRatio,
621
+ repayEnabled: isEnabled,
622
+ subId1: Number(subId),
623
+ subHashRepay: subHash,
624
+ };
625
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
626
+ return _position;
627
+ }
549
628
  function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
550
629
  const _position = (0, lodash_1.cloneDeep)(position);
551
630
  const { subStruct } = parseData.subscriptionEventData;
@@ -619,7 +698,7 @@ function parseExchangeDca(position, parseData, chainId) {
619
698
  function parseExchangeLimitOrder(position, parseData, chainId) {
620
699
  const _position = (0, lodash_1.cloneDeep)(position);
621
700
  const { subStruct } = parseData.subscriptionEventData;
622
- _position.strategyData.decoded.subData = subDataService.exchangeLimitOrderSubData.decode(subStruct.subData, chainId);
701
+ _position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
623
702
  const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
624
703
  const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
625
704
  _position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
@@ -631,7 +710,7 @@ function parseLiquityLeverageManagement(position, parseData) {
631
710
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
632
711
  const { isEnabled } = parseData.strategiesSubsData;
633
712
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
634
- const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
713
+ const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
635
714
  _position.strategyData.decoded.triggerData = triggerData;
636
715
  _position.strategyData.decoded.subData = subData;
637
716
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner);
@@ -697,7 +776,7 @@ function parseSparkLeverageManagement(position, parseData) {
697
776
  const { subStruct, subId, subHash } = parseData.subscriptionEventData;
698
777
  const { isEnabled } = parseData.strategiesSubsData;
699
778
  const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
700
- const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
779
+ const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
701
780
  _position.strategyData.decoded.triggerData = triggerData;
702
781
  _position.strategyData.decoded.subData = subData;
703
782
  _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
@@ -725,6 +804,25 @@ function parseSparkLeverageManagement(position, parseData) {
725
804
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
726
805
  return _position;
727
806
  }
807
+ function parseSparkLiquidationProtection(position, parseData) {
808
+ const _position = (0, lodash_1.cloneDeep)(position);
809
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
810
+ const { isEnabled } = parseData.strategiesSubsData;
811
+ const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
812
+ const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
813
+ _position.strategyData.decoded.triggerData = triggerData;
814
+ _position.strategyData.decoded.subData = subData;
815
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
816
+ _position.specific = {
817
+ triggerRepayRatio: triggerData.ratio,
818
+ targetRepayRatio: subData.targetRatio,
819
+ repayEnabled: isEnabled,
820
+ subId1: Number(subId),
821
+ subHashRepay: subHash,
822
+ };
823
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
824
+ return _position;
825
+ }
728
826
  function parseSparkLeverageManagementOnPrice(position, parseData) {
729
827
  const _position = (0, lodash_1.cloneDeep)(position);
730
828
  const { subStruct } = parseData.subscriptionEventData;
@@ -879,6 +977,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
879
977
  _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
880
978
  return _position;
881
979
  }
980
+ function parseMorphoBlueLiquidationProtection(position, parseData) {
981
+ const _position = (0, lodash_1.cloneDeep)(position);
982
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
983
+ const { isEnabled } = parseData.strategiesSubsData;
984
+ const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
985
+ const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
986
+ _position.strategyData.decoded.triggerData = triggerData;
987
+ _position.strategyData.decoded.subData = subData;
988
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
989
+ _position.specific = {
990
+ triggerRepayRatio: triggerData.ratio,
991
+ targetRepayRatio: subData.targetRatio,
992
+ repayEnabled: isEnabled,
993
+ subId1: Number(subId),
994
+ subHashRepay: subHash,
995
+ };
996
+ const isEOA = _position.strategy.strategyId.includes('eoa');
997
+ _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
998
+ return _position;
999
+ }
882
1000
  function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
883
1001
  const _position = (0, lodash_1.cloneDeep)(position);
884
1002
  const { subStruct } = parseData.subscriptionEventData;
@@ -1031,6 +1149,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
1031
1149
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
1032
1150
  return _position;
1033
1151
  }
1152
+ function parseFluidT1LiquidationProtection(position, parseData) {
1153
+ const _position = (0, lodash_1.cloneDeep)(position);
1154
+ const { subStruct, subId, subHash } = parseData.subscriptionEventData;
1155
+ const { isEnabled } = parseData.strategiesSubsData;
1156
+ const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
1157
+ const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
1158
+ _position.strategyData.decoded.triggerData = triggerData;
1159
+ _position.strategyData.decoded.subData = subData;
1160
+ _position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
1161
+ _position.specific = {
1162
+ triggerRepayRatio: triggerData.ratio,
1163
+ targetRepayRatio: subData.targetRatio,
1164
+ repayEnabled: isEnabled,
1165
+ subId1: Number(subId),
1166
+ subHashRepay: subHash,
1167
+ };
1168
+ _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
1169
+ return _position;
1170
+ }
1034
1171
  const parsingMethodsMapping = {
1035
1172
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
1036
1173
  [enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
@@ -1040,6 +1177,7 @@ const parsingMethodsMapping = {
1040
1177
  [enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
1041
1178
  [enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
1042
1179
  [enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
1180
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
1043
1181
  },
1044
1182
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
1045
1183
  [enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
@@ -1078,6 +1216,8 @@ const parsingMethodsMapping = {
1078
1216
  [enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
1079
1217
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
1080
1218
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
1219
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
1220
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
1081
1221
  },
1082
1222
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
1083
1223
  [enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
@@ -1092,6 +1232,8 @@ const parsingMethodsMapping = {
1092
1232
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
1093
1233
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
1094
1234
  [enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
1235
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
1236
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
1095
1237
  },
1096
1238
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
1097
1239
  [enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -1108,6 +1250,8 @@ const parsingMethodsMapping = {
1108
1250
  [enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
1109
1251
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
1110
1252
  [enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
1253
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
1254
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
1111
1255
  },
1112
1256
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
1113
1257
  [enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
@@ -1127,6 +1271,7 @@ const parsingMethodsMapping = {
1127
1271
  [enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
1128
1272
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
1129
1273
  [enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
1274
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
1130
1275
  },
1131
1276
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
1132
1277
  [enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
@@ -1139,11 +1284,15 @@ const parsingMethodsMapping = {
1139
1284
  [enums_1.Strategies.Identifiers.EoaRepay]: parseMorphoBlueLeverageManagement,
1140
1285
  [enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
1141
1286
  [enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1287
+ [enums_1.Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
1142
1288
  [enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
1289
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
1290
+ [enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
1143
1291
  },
1144
1292
  [enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
1145
1293
  [enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
1146
1294
  [enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
1295
+ [enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
1147
1296
  },
1148
1297
  };
1149
1298
  function getParsingMethod(id, strategy) {
@@ -1,26 +1,24 @@
1
- import type { OrderType } from '../types/enums';
2
- import { CloseToAssetType, Bundles, ChainId, RatioState, Strategies } from '../types/enums';
1
+ import { Bundles, ChainId, CloseToAssetType, RatioState, Strategies } from '../types/enums';
3
2
  import type { EthereumAddress, StrategyOrBundleIds } from '../types';
3
+ import type { OrderType } from '../types/enums';
4
4
  export declare const makerEncode: {
5
5
  repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds | Bundles.BaseIds)[];
6
6
  closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
7
7
  trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
8
- leverageManagementWithoutSubProxy(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, isBoost: boolean, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
8
+ leverageManagement(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, isBoost: boolean, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
9
+ liquidationProtection(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
9
10
  };
10
11
  export declare const liquityEncode: {
11
12
  closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
12
13
  trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
13
14
  paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
14
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
15
+ leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
15
16
  dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
16
17
  dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
17
18
  debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
18
19
  };
19
- export declare const chickenBondsEncode: {
20
- rebond(bondId: number): string[];
21
- };
22
20
  export declare const aaveV2Encode: {
23
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
21
+ leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
24
22
  };
25
23
  export declare const aaveV3Encode: {
26
24
  closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
@@ -59,25 +57,24 @@ export declare const aaveV3Encode: {
59
57
  marketAddr: EthereumAddress;
60
58
  targetRatio: number;
61
59
  }): (number | boolean | string[])[];
62
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
60
+ leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
61
+ liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
63
62
  leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
64
63
  closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
65
64
  collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
66
65
  };
67
66
  export declare const compoundV2Encode: {
68
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
67
+ leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
69
68
  };
70
69
  export declare const compoundV3Encode: {
71
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
70
+ leverageManagement(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
71
+ liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
72
72
  leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
73
73
  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[])[];
74
74
  };
75
- export declare const morphoAaveV2Encode: {
76
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
77
- };
78
75
  export declare const exchangeEncode: {
79
76
  dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
80
- limitOrderWithoutSubProxy(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType, fromTokenDecimals: number, toTokenDecimals: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
77
+ limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType, fromTokenDecimals: number, toTokenDecimals: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
81
78
  };
82
79
  export declare const sparkEncode: {
83
80
  leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
@@ -94,7 +91,8 @@ export declare const sparkEncode: {
94
91
  targetRatio: number;
95
92
  }): (number | boolean | string[])[];
96
93
  closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
97
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
94
+ leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
95
+ liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
98
96
  collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
99
97
  };
100
98
  export declare const crvUSDEncode: {
@@ -103,6 +101,7 @@ export declare const crvUSDEncode: {
103
101
  };
104
102
  export declare const morphoBlueEncode: {
105
103
  leverageManagement(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.BaseIds)[] | (boolean | string[] | Bundles.MainnetIds | Bundles.ArbitrumIds)[];
104
+ liquidationProtection(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.MainnetIds)[];
106
105
  leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, targetRatio: number, price: number, priceState: RatioState): (number | boolean | string[])[];
107
106
  closeOnPrice(strategyOrBundleId: number, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
108
107
  };
@@ -114,9 +113,11 @@ export declare const liquityV2Encode: {
114
113
  };
115
114
  export declare const fluidEncode: {
116
115
  leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
116
+ liquidationProtection(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
117
117
  };
118
118
  export declare const aaveV4Encode: {
119
119
  leverageManagement(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
120
+ liquidationProtection(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
120
121
  leverageManagementOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, targetRatio: number, price: string, priceState: RatioState, ratioState: RatioState): (number | boolean | string[])[];
121
122
  closeOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, stopLossPrice?: string, stopLossType?: CloseToAssetType, takeProfitPrice?: string, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
122
123
  collateralSwitch(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, amountToSwitch: string, price: string, ratioState: RatioState): (number | boolean | string[])[];