@defisaver/automation-sdk 3.3.15-liq-prot-3-dev → 3.3.16-dev-13082-morpho-eoa-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 +51 -111
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +2 -5
  4. package/cjs/services/strategiesService.js +13 -157
  5. package/cjs/services/strategySubService.d.ts +21 -18
  6. package/cjs/services/strategySubService.js +74 -78
  7. package/cjs/services/strategySubService.test.js +216 -3
  8. package/cjs/services/subDataService.d.ts +20 -70
  9. package/cjs/services/subDataService.js +79 -23
  10. package/cjs/services/subDataService.test.js +302 -17
  11. package/cjs/services/triggerService.test.js +60 -0
  12. package/cjs/services/utils.d.ts +1 -2
  13. package/cjs/services/utils.js +1 -14
  14. package/cjs/types/enums.d.ts +17 -33
  15. package/cjs/types/enums.js +14 -30
  16. package/esm/constants/index.js +51 -111
  17. package/esm/index.d.ts +2 -2
  18. package/esm/index.js +2 -5
  19. package/esm/services/strategiesService.js +13 -157
  20. package/esm/services/strategySubService.d.ts +21 -18
  21. package/esm/services/strategySubService.js +73 -78
  22. package/esm/services/strategySubService.test.js +214 -4
  23. package/esm/services/subDataService.d.ts +20 -70
  24. package/esm/services/subDataService.js +77 -21
  25. package/esm/services/subDataService.test.js +300 -18
  26. package/esm/services/triggerService.test.js +61 -1
  27. package/esm/services/utils.d.ts +1 -2
  28. package/esm/services/utils.js +1 -13
  29. package/esm/types/enums.d.ts +17 -33
  30. package/esm/types/enums.js +14 -30
  31. package/package.json +1 -1
  32. package/src/constants/index.ts +52 -113
  33. package/src/index.ts +6 -22
  34. package/src/services/strategiesService.ts +13 -221
  35. package/src/services/strategySubService.test.ts +275 -3
  36. package/src/services/strategySubService.ts +121 -173
  37. package/src/services/subDataService.test.ts +324 -18
  38. package/src/services/subDataService.ts +106 -42
  39. package/src/services/triggerService.test.ts +69 -0
  40. package/src/services/utils.test.ts +1 -1
  41. package/src/services/utils.ts +1 -15
  42. package/src/types/enums.ts +16 -30
@@ -6,7 +6,7 @@ import { assetAmountInEth, getAssetInfo, getAssetInfoByAddress } from '@defisave
6
6
  import { otherAddresses } from '@defisaver/sdk';
7
7
 
8
8
  import type { SubData, EthereumAddress } from '../types';
9
- import type { CloseStrategyType } from '../types/enums';
9
+ import type { CloseStrategyType, OrderType } from '../types/enums';
10
10
  import {
11
11
  ChainId, CollActionType, DebtActionType, RatioState,
12
12
  } from '../types/enums';
@@ -24,6 +24,22 @@ import { compareAddresses, ratioPercentageToWei, weiToRatioPercentage } from './
24
24
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
25
25
  */
26
26
  export const morphoAaveV2LeverageManagementSubData = {
27
+ encode(
28
+ triggerRepayRatio: number,
29
+ triggerBoostRatio: number,
30
+ targetBoostRatio: number,
31
+ targetRepayRatio: number,
32
+ boostEnabled: boolean,
33
+ ): SubData {
34
+ return [
35
+ ratioPercentageToWei(triggerRepayRatio),
36
+ ratioPercentageToWei(triggerBoostRatio),
37
+ ratioPercentageToWei(targetBoostRatio),
38
+ ratioPercentageToWei(targetRepayRatio),
39
+ // @ts-ignore
40
+ boostEnabled,
41
+ ];
42
+ },
27
43
  decode(subData: SubData): { targetRatio: number } {
28
44
  const ratioWei = AbiCoder.decodeParameter('uint128', subData[1]) as any as string;
29
45
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -32,6 +48,10 @@ export const morphoAaveV2LeverageManagementSubData = {
32
48
  },
33
49
  };
34
50
  export const cBondsRebondSubData = {
51
+ encode(bondId: number | string): SubData {
52
+ const bondIdEncoded = AbiCoder.encodeParameter('uint256', bondId);
53
+ return [bondIdEncoded];
54
+ },
35
55
  decode(subData: SubData): { bondId: string } {
36
56
  const bondId = AbiCoder.decodeParameter('uint256', subData[1])!.toString();
37
57
  return { bondId };
@@ -136,7 +156,7 @@ export const makerCloseSubData = {
136
156
  };
137
157
  },
138
158
  };
139
- export const legacyMakerLeverageManagementSubData = {
159
+ export const makerLeverageManagementSubData = {
140
160
  decode: (subData:SubData) => {
141
161
  const vaultId = +AbiCoder.decodeParameter('uint256', subData[0])!.toString();
142
162
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]) as any as string;
@@ -144,8 +164,7 @@ export const legacyMakerLeverageManagementSubData = {
144
164
  return { vaultId, targetRatio };
145
165
  },
146
166
  };
147
-
148
- export const makerLeverageManagementSubData = {
167
+ export const makerLeverageManagementWithoutSubProxy = {
149
168
  encode(
150
169
  vaultId: number,
151
170
  targetRatio: number,
@@ -165,9 +184,6 @@ export const makerLeverageManagementSubData = {
165
184
  },
166
185
  };
167
186
 
168
- export const makerLiquidationProtectionSubData = makerLeverageManagementSubData;
169
-
170
-
171
187
  /**
172
188
  __ __ ______ __ __ __ .___________.____ ____ ____ ____ __
173
189
  | | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
@@ -184,14 +200,14 @@ export const liquityRepayFromSavingsSubData = {
184
200
  return { targetRatio };
185
201
  },
186
202
  };
187
- export const legacyLiquityLeverageManagementSubData = {
203
+ export const liquityLeverageManagementSubData = {
188
204
  decode: (subData:SubData) => {
189
205
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]) as any as string;
190
206
  const targetRatio = weiToRatioPercentage(weiRatio);
191
207
  return { targetRatio };
192
208
  },
193
209
  };
194
- export const liquityLeverageManagementSubData = {
210
+ export const liquityLeverageManagementSubDataWithoutSubProxy = {
195
211
  encode(
196
212
  targetRatio: number,
197
213
  ratioState: RatioState,
@@ -494,7 +510,23 @@ export const liquityV2PaybackSubData = {
494
510
  / _____ \ / _____ \ \ / | |____ \ / / /_
495
511
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
496
512
  */
497
- export const legacyAaveV2LeverageManagementSubData = {
513
+ export const aaveV2LeverageManagementSubData = {
514
+ encode(
515
+ triggerRepayRatio: number,
516
+ triggerBoostRatio: number,
517
+ targetBoostRatio: number,
518
+ targetRepayRatio: number,
519
+ boostEnabled: boolean,
520
+ ): SubData {
521
+ return [
522
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
523
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
524
+ new Dec(targetBoostRatio).mul(1e16).toString(),
525
+ new Dec(targetRepayRatio).mul(1e16).toString(),
526
+ // @ts-ignore // TODO
527
+ boostEnabled,
528
+ ];
529
+ },
498
530
  decode(subData: SubData): { targetRatio: number } {
499
531
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[1]) as any as string;
500
532
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -502,7 +534,7 @@ export const legacyAaveV2LeverageManagementSubData = {
502
534
  return { targetRatio };
503
535
  },
504
536
  };
505
- export const aaveV2LeverageManagementSubData = {
537
+ export const aaveV2LeverageManagementSubDataWithoutSubProxy = {
506
538
  encode(
507
539
  market: EthereumAddress,
508
540
  targetRatio: number,
@@ -538,7 +570,7 @@ export const aaveV2LeverageManagementSubData = {
538
570
  / _____ \ / _____ \ \ / | |____ \ / ___) |
539
571
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
540
572
  */
541
- export const legacyAaveV3LeverageManagementSubData = {
573
+ export const aaveV3LeverageManagementSubData = {
542
574
  decode(subData: SubData): { targetRatio: number } {
543
575
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]) as any as string;
544
576
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -546,8 +578,7 @@ export const legacyAaveV3LeverageManagementSubData = {
546
578
  return { targetRatio };
547
579
  },
548
580
  };
549
-
550
- export const aaveV3LeverageManagementSubData = {
581
+ export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
551
582
  encode(
552
583
  targetRatio: number,
553
584
  ratioState: RatioState,
@@ -574,9 +605,6 @@ export const aaveV3LeverageManagementSubData = {
574
605
  return { targetRatio, ratioState };
575
606
  },
576
607
  };
577
-
578
- export const aaveV3LiquidationProtectionSubData = aaveV3LeverageManagementSubData;
579
-
580
608
  export const aaveV3LeverageManagementOnPriceGeneric = {
581
609
  encode(
582
610
  collAsset: EthereumAddress,
@@ -823,7 +851,6 @@ export const aaveV3LeverageManagementOnPriceSubData = {
823
851
  / _____ \ / _____ \ \ / | |____ \ / | |
824
852
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |_|
825
853
  */
826
-
827
854
  export const aaveV4LeverageManagementSubData = {
828
855
  encode: (
829
856
  spoke: EthereumAddress,
@@ -855,9 +882,6 @@ export const aaveV4LeverageManagementSubData = {
855
882
  };
856
883
  },
857
884
  };
858
-
859
- export const aaveV4LiquidationProtectionSubData = aaveV4LeverageManagementSubData;
860
-
861
885
  export const aaveV4LeverageManagementOnPriceSubData = {
862
886
  encode: (
863
887
  spoke: EthereumAddress,
@@ -1000,7 +1024,23 @@ export const aaveV4CollateralSwitchSubData = {
1000
1024
  | `----.| `--' | | | | | | | \ / / /_
1001
1025
  \______| \______/ |__| |__| | _| \__/ |____|
1002
1026
  */
1003
- export const legacyCompoundV2LeverageManagementSubData = {
1027
+ export const compoundV2LeverageManagementSubData = {
1028
+ encode(
1029
+ triggerRepayRatio: number,
1030
+ triggerBoostRatio: number,
1031
+ targetBoostRatio: number,
1032
+ targetRepayRatio: number,
1033
+ boostEnabled: boolean,
1034
+ ): SubData {
1035
+ return [
1036
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
1037
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
1038
+ new Dec(targetBoostRatio).mul(1e16).toString(),
1039
+ new Dec(targetRepayRatio).mul(1e16).toString(),
1040
+ // @ts-ignore // TODO
1041
+ boostEnabled,
1042
+ ];
1043
+ },
1004
1044
  decode(subData: SubData): { targetRatio: number } {
1005
1045
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[0]) as any as string;
1006
1046
  const targetRatio = weiToRatioPercentage(weiRatio);
@@ -1008,7 +1048,7 @@ export const legacyCompoundV2LeverageManagementSubData = {
1008
1048
  return { targetRatio };
1009
1049
  },
1010
1050
  };
1011
- export const compoundV2LeverageManagementSubData = {
1051
+ export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
1012
1052
  encode(
1013
1053
  targetRatio: number,
1014
1054
  ratioState: RatioState,
@@ -1041,8 +1081,36 @@ export const compoundV2LeverageManagementSubData = {
1041
1081
  | `----.| `--' | | | | | | | \ / ___) |
1042
1082
  \______| \______/ |__| |__| | _| \__/ |____/
1043
1083
  */
1044
-
1045
1084
  export const compoundV3LeverageManagementSubData = {
1085
+ encode(
1086
+ market: EthereumAddress,
1087
+ baseToken: EthereumAddress,
1088
+ triggerRepayRatio: number,
1089
+ triggerBoostRatio: number,
1090
+ targetBoostRatio: number,
1091
+ targetRepayRatio: number,
1092
+ boostEnabled: boolean,
1093
+ isEOA: boolean,
1094
+ ): SubData {
1095
+ return [
1096
+ market,
1097
+ baseToken,
1098
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
1099
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
1100
+ new Dec(targetBoostRatio).mul(1e16).toString(),
1101
+ new Dec(targetRepayRatio).mul(1e16).toString(),
1102
+ // @ts-ignore // TODO
1103
+ boostEnabled, isEOA,
1104
+ ];
1105
+ },
1106
+ decode(subData: SubData): { targetRatio: number } {
1107
+ const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]) as any as string;
1108
+ const targetRatio = weiToRatioPercentage(weiRatio);
1109
+
1110
+ return { targetRatio };
1111
+ },
1112
+ };
1113
+ export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
1046
1114
  encode(
1047
1115
  market: EthereumAddress,
1048
1116
  baseToken: EthereumAddress,
@@ -1066,9 +1134,6 @@ export const compoundV3LeverageManagementSubData = {
1066
1134
  };
1067
1135
  },
1068
1136
  };
1069
-
1070
- export const compoundV3LiquidationProtectionSubData = compoundV3LeverageManagementSubData;
1071
-
1072
1137
  export const compoundV3LeverageManagementOnPriceSubData = {
1073
1138
  encode(
1074
1139
  market: EthereumAddress,
@@ -1186,7 +1251,17 @@ export const exchangeDcaSubData = {
1186
1251
  };
1187
1252
  },
1188
1253
  };
1189
- export const legacyExchangeLimitOrderSubData = {
1254
+ export const exchangeLimitOrderSubData = {
1255
+ encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType) : SubData {
1256
+ return [
1257
+ fromToken,
1258
+ toToken,
1259
+ amount,
1260
+ targetPrice,
1261
+ new Dec(goodUntil).toString(),
1262
+ new Dec(orderType).toString(),
1263
+ ];
1264
+ },
1190
1265
  decode: (subData: SubData, chainId: ChainId) => {
1191
1266
  const fromToken = AbiCoder.decodeParameter('address', subData[0])!.toString();
1192
1267
  const toToken = AbiCoder.decodeParameter('address', subData[1])!.toString();
@@ -1194,7 +1269,7 @@ export const legacyExchangeLimitOrderSubData = {
1194
1269
  return { fromToken, toToken, amount };
1195
1270
  },
1196
1271
  };
1197
- export const exchangeLimitOrderSubData = {
1272
+ export const exchangeLimitOrderSubDataWithoutSubProxy = {
1198
1273
  encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string): SubData {
1199
1274
  return [
1200
1275
  AbiCoder.encodeParameter('address', fromToken),
@@ -1218,7 +1293,7 @@ export const exchangeLimitOrderSubData = {
1218
1293
  .----) | | | / _____ \ | |\ \----.| . \
1219
1294
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
1220
1295
  */
1221
- export const legacySparkLeverageManagementSubData = {
1296
+ export const sparkLeverageManagementSubData = {
1222
1297
  decode(subData: SubData): { targetRatio: number } {
1223
1298
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]) as any as string;
1224
1299
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -1226,8 +1301,7 @@ export const legacySparkLeverageManagementSubData = {
1226
1301
  return { targetRatio };
1227
1302
  },
1228
1303
  };
1229
-
1230
- export const sparkLeverageManagementSubData = {
1304
+ export const sparkLeverageManagementSubDataWithoutSubProxy = {
1231
1305
  encode(
1232
1306
  targetRatio: number,
1233
1307
  ratioState: RatioState,
@@ -1246,10 +1320,6 @@ export const sparkLeverageManagementSubData = {
1246
1320
  return { targetRatio, ratioState };
1247
1321
  },
1248
1322
  };
1249
-
1250
- export const sparkLiquidationProtectionSubData = sparkLeverageManagementSubData;
1251
-
1252
-
1253
1323
  export const sparkCloseGenericSubData = {
1254
1324
  encode(
1255
1325
  collAsset: EthereumAddress,
@@ -1464,7 +1534,6 @@ export const crvUSDPaybackSubData = {
1464
1534
  | | | | | `--' | | |\ \----.| | | | | | | `--' |
1465
1535
  |__| |__| \______/ | _| `._____|| _| |__| |__| \______/
1466
1536
  */
1467
-
1468
1537
  export const morphoBlueLeverageManagementSubData = {
1469
1538
  encode: (
1470
1539
  loanToken: EthereumAddress,
@@ -1509,9 +1578,6 @@ export const morphoBlueLeverageManagementSubData = {
1509
1578
  };
1510
1579
  },
1511
1580
  };
1512
-
1513
- export const morphoBlueLiquidationProtectionSubData = morphoBlueLeverageManagementSubData;
1514
-
1515
1581
  export const morphoBlueLeverageManagementOnPriceSubData = {
1516
1582
  encode(
1517
1583
  loanToken: EthereumAddress,
@@ -1642,5 +1708,3 @@ export const fluidLeverageManagementSubData = {
1642
1708
  };
1643
1709
  },
1644
1710
  };
1645
-
1646
- export const fluidLiquidationProtectionSubData = fluidLeverageManagementSubData;
@@ -32,6 +32,7 @@ import {
32
32
  compoundV3PriceRangeTrigger,
33
33
  aaveV3QuotePriceRangeTrigger,
34
34
  morphoBluePriceRangeTrigger,
35
+ morphoBluePriceTrigger,
35
36
  sparkQuotePriceTrigger,
36
37
  aaveV4RatioTrigger,
37
38
  aaveV4QuotePriceTrigger,
@@ -1287,6 +1288,74 @@ describe('Feature: triggerService.ts', () => {
1287
1288
  });
1288
1289
  });
1289
1290
  });
1291
+
1292
+ describe('When testing triggerService.morphoBluePriceTrigger', () => {
1293
+ describe('encode()', () => {
1294
+ const examples: Array<[[string], [oracle: EthereumAddress, collateralToken: EthereumAddress, loanToken: EthereumAddress, price: number, priceState: RatioState]]> = [
1295
+ [
1296
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000003a352944000000000000000000000000000000000000000000000000000000000000000001'],
1297
+ [
1298
+ web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1299
+ web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1300
+ web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1301
+ 2500,
1302
+ RatioState.UNDER,
1303
+ ],
1304
+ ],
1305
+ [
1306
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000000000000000000000'],
1307
+ [
1308
+ web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1309
+ web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1310
+ web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1311
+ 4000,
1312
+ RatioState.OVER,
1313
+ ],
1314
+ ],
1315
+ ];
1316
+
1317
+ examples.forEach(([expected, actual]) => {
1318
+ it(`Given ${actual} should return expected value: ${expected}`, () => {
1319
+ expect(morphoBluePriceTrigger.encode(...actual)).to.eql(expected);
1320
+ });
1321
+ });
1322
+ });
1323
+
1324
+ describe('decode()', () => {
1325
+ const examples: Array<[
1326
+ { oracle: EthereumAddress, collateralToken: EthereumAddress, loanToken: EthereumAddress, price: string, priceState: RatioState },
1327
+ TriggerData,
1328
+ ]> = [
1329
+ [
1330
+ {
1331
+ oracle: web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1332
+ collateralToken: web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1333
+ loanToken: web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1334
+ price: '2500',
1335
+ priceState: RatioState.UNDER,
1336
+ },
1337
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000003a352944000000000000000000000000000000000000000000000000000000000000000001'],
1338
+ ],
1339
+ [
1340
+ {
1341
+ oracle: web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1342
+ collateralToken: web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1343
+ loanToken: web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1344
+ price: '4000',
1345
+ priceState: RatioState.OVER,
1346
+ },
1347
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000000000000000000000'],
1348
+ ],
1349
+ ];
1350
+
1351
+ examples.forEach(([expected, actual]) => {
1352
+ it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
1353
+ expect(morphoBluePriceTrigger.decode(actual)).to.eql(expected);
1354
+ });
1355
+ });
1356
+ });
1357
+ });
1358
+
1290
1359
  describe('When testing triggerService.aaveV4RatioTrigger', () => {
1291
1360
  describe('encode()', () => {
1292
1361
  const examples: Array<[[string], [owner: EthereumAddress, spoke: EthereumAddress, ratioPercentage: number, ratioState: RatioState]]> = [
@@ -2,7 +2,7 @@ import { expect } from 'chai';
2
2
  import { getAssetInfo } from '@defisaver/tokens';
3
3
 
4
4
  import type { EthereumAddress } from '../types';
5
- import { Bundles, ChainId, ProtocolIdentifiers, RatioState } from '../types/enums';
5
+ import { ChainId, ProtocolIdentifiers, RatioState } from '../types/enums';
6
6
 
7
7
  import '../configuration';
8
8
  import {
@@ -5,7 +5,6 @@ import { getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
5
5
 
6
6
  import type { EthereumAddress } from '../types';
7
7
  import {
8
- Bundles,
9
8
  ChainId, CloseStrategyType, CloseToAssetType, RatioState,
10
9
  } from '../types/enums';
11
10
 
@@ -172,17 +171,4 @@ export function getStopLossAndTakeProfitTypeByCloseStrategyType(
172
171
  default:
173
172
  throw new Error('CloseStrategyType not supported');
174
173
  }
175
- }
176
-
177
- export function getBundleIdsByNetwork(network: ChainId) {
178
- switch (Number(network)) {
179
- case ChainId.Ethereum:
180
- return Bundles.MainnetIds;
181
- case ChainId.Arbitrum:
182
- return Bundles.ArbitrumIds;
183
- case ChainId.Base:
184
- return Bundles.BaseIds;
185
- default:
186
- throw new Error(`Unsupported network ${network}`);
187
- }
188
- }
174
+ }
@@ -153,8 +153,6 @@ export namespace Strategies {
153
153
  EoaRepayOnPrice = 'eoa-repay-on-price',
154
154
  CollateralSwitch = 'collateral-switch',
155
155
  EoaCollateralSwitch = 'eoa-collateral-switch',
156
- LiquidationProtection = 'liquidation-protection',
157
- EoaLiquidationProtection = 'liquidation-protection-eoa',
158
156
  }
159
157
  export enum IdOverrides {
160
158
  TakeProfit = 'take-profit',
@@ -166,8 +164,6 @@ export namespace Strategies {
166
164
  EoaLeverageManagement = 'leverage-management-eoa',
167
165
  LeverageManagementOnPrice = 'leverage-management-on-price',
168
166
  EoaLeverageManagementOnPrice = 'leverage-management-on-price-eoa',
169
- LiquidationProtection = 'liquidation-protection',
170
- EoaLiquidationProtection = 'liquidation-protection-eoa',
171
167
  }
172
168
  }
173
169
 
@@ -244,17 +240,10 @@ export namespace Bundles {
244
240
  AAVE_V4_EOA_REPAY_ON_PRICE = 68,
245
241
  AAVE_V4_EOA_BOOST_ON_PRICE = 69,
246
242
  AAVE_V4_EOA_CLOSE = 70,
247
- AAVE_V3_SW_LIQUIDATION_PROTECTION = 71,
248
- SPARK_SW_LIQUIDATION_PROTECTION = 72,
249
- MAKER_SW_LIQUIDATION_PROTECTION = 75,
250
- FLUID_T1_SW_LIQUIDATION_PROTECTION = 76,
251
- AAVE_V4_SW_LIQUIDATION_PROTECTION = 77,
252
- MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 78,
253
- AAVE_V3_EOA_LIQUIDATION_PROTECTION = 79,
254
- AAVE_V4_EOA_LIQUIDATION_PROTECTION = 80,
255
- MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION = 81,
256
- COMP_V3_SW_LIQUIDATION_PROTECTION = 82,
257
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 83,
243
+ MORPHO_BLUE_REPAY_ON_PRICE = 84,
244
+ MORPHO_BLUE_EOA_BOOST_ON_PRICE = 85,
245
+ MORPHO_BLUE_EOA_REPAY_ON_PRICE = 86,
246
+ MORPHO_BLUE_EOA_CLOSE = 87,
258
247
  }
259
248
 
260
249
  export enum OptimismIds {
@@ -269,8 +258,6 @@ export namespace Bundles {
269
258
  AAVE_V3_EOA_REPAY_ON_PRICE = 8,
270
259
  AAVE_V3_EOA_BOOST_ON_PRICE = 9,
271
260
  AAVE_V3_EOA_CLOSE = 10,
272
- AAVE_V3_SW_LIQUIDATION_PROTECTION = 11,
273
- AAVE_V3_EOA_LIQUIDATION_PROTECTION = 12,
274
261
  }
275
262
 
276
263
  export enum BaseIds {
@@ -301,12 +288,12 @@ export namespace Bundles {
301
288
  AAVE_V3_EOA_BOOST_ON_PRICE = 26,
302
289
  AAVE_V3_EOA_CLOSE = 27,
303
290
  MORPHO_BLUE_CLOSE = 28,
304
- AAVE_V3_SW_LIQUIDATION_PROTECTION = 29,
305
- FLUID_T1_SW_LIQUIDATION_PROTECTION = 30,
306
- COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
307
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 33,
308
- AAVE_V3_EOA_LIQUIDATION_PROTECTION = 34,
309
- MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 35,
291
+ MORPHO_BLUE_REPAY_ON_PRICE = 36,
292
+ MORPHO_BLUE_EOA_REPAY = 37,
293
+ MORPHO_BLUE_EOA_BOOST = 38,
294
+ MORPHO_BLUE_EOA_BOOST_ON_PRICE = 39,
295
+ MORPHO_BLUE_EOA_REPAY_ON_PRICE = 40,
296
+ MORPHO_BLUE_EOA_CLOSE = 41,
310
297
  }
311
298
 
312
299
  export enum ArbitrumIds {
@@ -339,12 +326,11 @@ export namespace Bundles {
339
326
  MORPHO_BLUE_EOA_REPAY = 26,
340
327
  MORPHO_BLUE_EOA_BOOST = 27,
341
328
  MORPHO_BLUE_CLOSE = 28,
342
- AAVE_V3_SW_LIQUIDATION_PROTECTION = 29,
343
- FLUID_T1_SW_LIQUIDATION_PROTECTION = 30,
344
- MORPHO_BLUE_SW_LIQUIDATION_PROTECTION = 31,
345
- COMP_V3_SW_LIQUIDATION_PROTECTION = 32,
346
- COMP_V3_EOA_LIQUIDATION_PROTECTION = 33,
347
- AAVE_V3_EOA_LIQUIDATION_PROTECTION = 34,
348
- MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION = 35,
329
+ MORPHO_BLUE_REPAY_ON_PRICE = 36,
330
+ MORPHO_BLUE_EOA_BOOST_ON_PRICE = 37,
331
+ MORPHO_BLUE_EOA_REPAY_ON_PRICE = 38,
332
+ MORPHO_BLUE_EOA_CLOSE = 39,
349
333
  }
350
334
  }
335
+
336
+