@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
@@ -1,5 +1,5 @@
1
1
  import type { EthereumAddress } from '../types';
2
- import type { CloseStrategyType, OrderType } from '../types/enums';
2
+ import type { CloseStrategyType } from '../types/enums';
3
3
  import { ChainId, RatioState } from '../types/enums';
4
4
  /**
5
5
  _______ _______ .______ .______ _______ ______ ___ .___________. _______ _______
@@ -10,13 +10,11 @@ import { ChainId, RatioState } from '../types/enums';
10
10
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
11
11
  */
12
12
  export declare const morphoAaveV2LeverageManagementSubData: {
13
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
14
13
  decode(subData: string[]): {
15
14
  targetRatio: number;
16
15
  };
17
16
  };
18
17
  export declare const cBondsRebondSubData: {
19
- encode(bondId: number | string): string[];
20
18
  decode(subData: string[]): {
21
19
  bondId: string;
22
20
  };
@@ -57,13 +55,21 @@ export declare const makerCloseSubData: {
57
55
  closeToAssetAddr: EthereumAddress;
58
56
  };
59
57
  };
60
- export declare const makerLeverageManagementSubData: {
58
+ export declare const legacyMakerLeverageManagementSubData: {
61
59
  decode: (subData: string[]) => {
62
60
  vaultId: number;
63
61
  targetRatio: number;
64
62
  };
65
63
  };
66
- export declare const makerLeverageManagementWithoutSubProxy: {
64
+ export declare const makerLeverageManagementSubData: {
65
+ encode(vaultId: number, targetRatio: number, daiAddr?: EthereumAddress): string[];
66
+ decode(subData: string[]): {
67
+ vaultId: number;
68
+ targetRatio: number;
69
+ daiAddr: string;
70
+ };
71
+ };
72
+ export declare const makerLiquidationProtectionSubData: {
67
73
  encode(vaultId: number, targetRatio: number, daiAddr?: EthereumAddress): string[];
68
74
  decode(subData: string[]): {
69
75
  vaultId: number;
@@ -84,12 +90,12 @@ export declare const liquityRepayFromSavingsSubData: {
84
90
  targetRatio: number;
85
91
  };
86
92
  };
87
- export declare const liquityLeverageManagementSubData: {
93
+ export declare const legacyLiquityLeverageManagementSubData: {
88
94
  decode: (subData: string[]) => {
89
95
  targetRatio: number;
90
96
  };
91
97
  };
92
- export declare const liquityLeverageManagementSubDataWithoutSubProxy: {
98
+ export declare const liquityLeverageManagementSubData: {
93
99
  encode(targetRatio: number, ratioState: RatioState): string[];
94
100
  decode(subData: string[]): {
95
101
  targetRatio: number;
@@ -178,13 +184,12 @@ export declare const liquityV2PaybackSubData: {
178
184
  / _____ \ / _____ \ \ / | |____ \ / / /_
179
185
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
180
186
  */
181
- export declare const aaveV2LeverageManagementSubData: {
182
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
187
+ export declare const legacyAaveV2LeverageManagementSubData: {
183
188
  decode(subData: string[]): {
184
189
  targetRatio: number;
185
190
  };
186
191
  };
187
- export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
192
+ export declare const aaveV2LeverageManagementSubData: {
188
193
  encode(market: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
189
194
  decode(subData: string[]): {
190
195
  market: EthereumAddress;
@@ -200,12 +205,19 @@ export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
200
205
  / _____ \ / _____ \ \ / | |____ \ / ___) |
201
206
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
202
207
  */
208
+ export declare const legacyAaveV3LeverageManagementSubData: {
209
+ decode(subData: string[]): {
210
+ targetRatio: number;
211
+ };
212
+ };
203
213
  export declare const aaveV3LeverageManagementSubData: {
214
+ encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress, isGeneric: boolean): string[];
204
215
  decode(subData: string[]): {
205
216
  targetRatio: number;
217
+ ratioState: RatioState;
206
218
  };
207
219
  };
208
- export declare const aaveV3LeverageManagementSubDataWithoutSubProxy: {
220
+ export declare const aaveV3LiquidationProtectionSubData: {
209
221
  encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress, isGeneric: boolean): string[];
210
222
  decode(subData: string[]): {
211
223
  targetRatio: number;
@@ -284,6 +296,15 @@ export declare const aaveV4LeverageManagementSubData: {
284
296
  targetRatio: number;
285
297
  };
286
298
  };
299
+ export declare const aaveV4LiquidationProtectionSubData: {
300
+ encode: (spoke: EthereumAddress, owner: EthereumAddress, ratioState: RatioState, targetRatio: number) => string[];
301
+ decode: (subData: string[]) => {
302
+ spoke: string;
303
+ owner: string;
304
+ ratioState: RatioState;
305
+ targetRatio: number;
306
+ };
307
+ };
287
308
  export declare const aaveV4LeverageManagementOnPriceSubData: {
288
309
  encode: (spoke: EthereumAddress, owner: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, ratioState: RatioState, targetRatio: number) => string[];
289
310
  decode: (subData: string[]) => {
@@ -329,13 +350,12 @@ export declare const aaveV4CollateralSwitchSubData: {
329
350
  | `----.| `--' | | | | | | | \ / / /_
330
351
  \______| \______/ |__| |__| | _| \__/ |____|
331
352
  */
332
- export declare const compoundV2LeverageManagementSubData: {
333
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
353
+ export declare const legacyCompoundV2LeverageManagementSubData: {
334
354
  decode(subData: string[]): {
335
355
  targetRatio: number;
336
356
  };
337
357
  };
338
- export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
358
+ export declare const compoundV2LeverageManagementSubData: {
339
359
  encode(targetRatio: number, ratioState: RatioState): string[];
340
360
  decode(subData: string[]): {
341
361
  targetRatio: number;
@@ -351,12 +371,15 @@ export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
351
371
  \______| \______/ |__| |__| | _| \__/ |____/
352
372
  */
353
373
  export declare const compoundV3LeverageManagementSubData: {
354
- encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
374
+ encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
355
375
  decode(subData: string[]): {
376
+ market: EthereumAddress;
377
+ baseToken: EthereumAddress;
356
378
  targetRatio: number;
379
+ ratioState: RatioState;
357
380
  };
358
381
  };
359
- export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
382
+ export declare const compoundV3LiquidationProtectionSubData: {
360
383
  encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
361
384
  decode(subData: string[]): {
362
385
  market: EthereumAddress;
@@ -403,15 +426,14 @@ export declare const exchangeDcaSubData: {
403
426
  interval: string;
404
427
  };
405
428
  };
406
- export declare const exchangeLimitOrderSubData: {
407
- encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
429
+ export declare const legacyExchangeLimitOrderSubData: {
408
430
  decode: (subData: string[], chainId: ChainId) => {
409
431
  fromToken: string;
410
432
  toToken: string;
411
433
  amount: string;
412
434
  };
413
435
  };
414
- export declare const exchangeLimitOrderSubDataWithoutSubProxy: {
436
+ export declare const exchangeLimitOrderSubData: {
415
437
  encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string): string[];
416
438
  decode: (subData: string[], chainId: ChainId) => {
417
439
  fromToken: string;
@@ -427,12 +449,19 @@ export declare const exchangeLimitOrderSubDataWithoutSubProxy: {
427
449
  .----) | | | / _____ \ | |\ \----.| . \
428
450
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
429
451
  */
452
+ export declare const legacySparkLeverageManagementSubData: {
453
+ decode(subData: string[]): {
454
+ targetRatio: number;
455
+ };
456
+ };
430
457
  export declare const sparkLeverageManagementSubData: {
458
+ encode(targetRatio: number, ratioState: RatioState): string[];
431
459
  decode(subData: string[]): {
432
460
  targetRatio: number;
461
+ ratioState: RatioState;
433
462
  };
434
463
  };
435
- export declare const sparkLeverageManagementSubDataWithoutSubProxy: {
464
+ export declare const sparkLiquidationProtectionSubData: {
436
465
  encode(targetRatio: number, ratioState: RatioState): string[];
437
466
  decode(subData: string[]): {
438
467
  targetRatio: number;
@@ -517,6 +546,18 @@ export declare const morphoBlueLeverageManagementSubData: {
517
546
  targetRatio: number;
518
547
  };
519
548
  };
549
+ export declare const morphoBlueLiquidationProtectionSubData: {
550
+ encode: (loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, user: EthereumAddress, isEOA: boolean) => string[];
551
+ decode: (subData: string[]) => {
552
+ loanToken: string;
553
+ collToken: string;
554
+ oracle: string;
555
+ irm: string;
556
+ lltv: string;
557
+ user: string;
558
+ targetRatio: number;
559
+ };
560
+ };
520
561
  export declare const morphoBlueLeverageManagementOnPriceSubData: {
521
562
  encode(loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, targetRatio: number, user: EthereumAddress): string[];
522
563
  decode(subData: string[]): {
@@ -558,3 +599,12 @@ export declare const fluidLeverageManagementSubData: {
558
599
  targetRatio: number;
559
600
  };
560
601
  };
602
+ export declare const fluidLiquidationProtectionSubData: {
603
+ encode: (nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number) => string[];
604
+ decode: (subData: string[]) => {
605
+ nftId: string;
606
+ vault: string;
607
+ ratioState: RatioState;
608
+ targetRatio: number;
609
+ };
610
+ };
@@ -15,16 +15,6 @@ import { compareAddresses, ratioPercentageToWei, weiToRatioPercentage } from './
15
15
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
16
16
  */
17
17
  export const morphoAaveV2LeverageManagementSubData = {
18
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
19
- return [
20
- ratioPercentageToWei(triggerRepayRatio),
21
- ratioPercentageToWei(triggerBoostRatio),
22
- ratioPercentageToWei(targetBoostRatio),
23
- ratioPercentageToWei(targetRepayRatio),
24
- // @ts-ignore
25
- boostEnabled,
26
- ];
27
- },
28
18
  decode(subData) {
29
19
  const ratioWei = AbiCoder.decodeParameter('uint128', subData[1]);
30
20
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -32,10 +22,6 @@ export const morphoAaveV2LeverageManagementSubData = {
32
22
  },
33
23
  };
34
24
  export const cBondsRebondSubData = {
35
- encode(bondId) {
36
- const bondIdEncoded = AbiCoder.encodeParameter('uint256', bondId);
37
- return [bondIdEncoded];
38
- },
39
25
  decode(subData) {
40
26
  const bondId = AbiCoder.decodeParameter('uint256', subData[1]).toString();
41
27
  return { bondId };
@@ -117,7 +103,7 @@ export const makerCloseSubData = {
117
103
  };
118
104
  },
119
105
  };
120
- export const makerLeverageManagementSubData = {
106
+ export const legacyMakerLeverageManagementSubData = {
121
107
  decode: (subData) => {
122
108
  const vaultId = +AbiCoder.decodeParameter('uint256', subData[0]).toString();
123
109
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]);
@@ -125,7 +111,7 @@ export const makerLeverageManagementSubData = {
125
111
  return { vaultId, targetRatio };
126
112
  },
127
113
  };
128
- export const makerLeverageManagementWithoutSubProxy = {
114
+ export const makerLeverageManagementSubData = {
129
115
  encode(vaultId, targetRatio, daiAddr) {
130
116
  const encodedVaultId = AbiCoder.encodeParameter('uint256', vaultId);
131
117
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -139,6 +125,7 @@ export const makerLeverageManagementWithoutSubProxy = {
139
125
  return { vaultId, targetRatio, daiAddr };
140
126
  },
141
127
  };
128
+ export const makerLiquidationProtectionSubData = makerLeverageManagementSubData;
142
129
  /**
143
130
  __ __ ______ __ __ __ .___________.____ ____ ____ ____ __
144
131
  | | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
@@ -154,14 +141,14 @@ export const liquityRepayFromSavingsSubData = {
154
141
  return { targetRatio };
155
142
  },
156
143
  };
157
- export const liquityLeverageManagementSubData = {
144
+ export const legacyLiquityLeverageManagementSubData = {
158
145
  decode: (subData) => {
159
146
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]);
160
147
  const targetRatio = weiToRatioPercentage(weiRatio);
161
148
  return { targetRatio };
162
149
  },
163
150
  };
164
- export const liquityLeverageManagementSubDataWithoutSubProxy = {
151
+ export const liquityLeverageManagementSubData = {
165
152
  encode(targetRatio, ratioState) {
166
153
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
167
154
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -392,24 +379,14 @@ export const liquityV2PaybackSubData = {
392
379
  / _____ \ / _____ \ \ / | |____ \ / / /_
393
380
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
394
381
  */
395
- export const aaveV2LeverageManagementSubData = {
396
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
397
- return [
398
- new Dec(triggerRepayRatio).mul(1e16).toString(),
399
- new Dec(triggerBoostRatio).mul(1e16).toString(),
400
- new Dec(targetBoostRatio).mul(1e16).toString(),
401
- new Dec(targetRepayRatio).mul(1e16).toString(),
402
- // @ts-ignore // TODO
403
- boostEnabled,
404
- ];
405
- },
382
+ export const legacyAaveV2LeverageManagementSubData = {
406
383
  decode(subData) {
407
384
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[1]);
408
385
  const targetRatio = weiToRatioPercentage(ratioWei);
409
386
  return { targetRatio };
410
387
  },
411
388
  };
412
- export const aaveV2LeverageManagementSubDataWithoutSubProxy = {
389
+ export const aaveV2LeverageManagementSubData = {
413
390
  encode(market, targetRatio, ratioState) {
414
391
  const encodedMarket = AbiCoder.encodeParameter('address', market);
415
392
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -436,14 +413,14 @@ export const aaveV2LeverageManagementSubDataWithoutSubProxy = {
436
413
  / _____ \ / _____ \ \ / | |____ \ / ___) |
437
414
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
438
415
  */
439
- export const aaveV3LeverageManagementSubData = {
416
+ export const legacyAaveV3LeverageManagementSubData = {
440
417
  decode(subData) {
441
418
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
442
419
  const targetRatio = weiToRatioPercentage(ratioWei);
443
420
  return { targetRatio };
444
421
  },
445
422
  };
446
- export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
423
+ export const aaveV3LeverageManagementSubData = {
447
424
  encode(targetRatio, ratioState, market, user, isGeneric) {
448
425
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
449
426
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -462,6 +439,7 @@ export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
462
439
  return { targetRatio, ratioState };
463
440
  },
464
441
  };
442
+ export const aaveV3LiquidationProtectionSubData = aaveV3LeverageManagementSubData;
465
443
  export const aaveV3LeverageManagementOnPriceGeneric = {
466
444
  encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
467
445
  const encodedColl = AbiCoder.encodeParameter('address', collAsset);
@@ -649,6 +627,7 @@ export const aaveV4LeverageManagementSubData = {
649
627
  };
650
628
  },
651
629
  };
630
+ export const aaveV4LiquidationProtectionSubData = aaveV4LeverageManagementSubData;
652
631
  export const aaveV4LeverageManagementOnPriceSubData = {
653
632
  encode: (spoke, owner, collAsset, collAssetId, debtAsset, debtAssetId, ratioState, targetRatio) => {
654
633
  const spokeEncoded = AbiCoder.encodeParameter('address', spoke);
@@ -765,24 +744,14 @@ export const aaveV4CollateralSwitchSubData = {
765
744
  | `----.| `--' | | | | | | | \ / / /_
766
745
  \______| \______/ |__| |__| | _| \__/ |____|
767
746
  */
768
- export const compoundV2LeverageManagementSubData = {
769
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
770
- return [
771
- new Dec(triggerRepayRatio).mul(1e16).toString(),
772
- new Dec(triggerBoostRatio).mul(1e16).toString(),
773
- new Dec(targetBoostRatio).mul(1e16).toString(),
774
- new Dec(targetRepayRatio).mul(1e16).toString(),
775
- // @ts-ignore // TODO
776
- boostEnabled,
777
- ];
778
- },
747
+ export const legacyCompoundV2LeverageManagementSubData = {
779
748
  decode(subData) {
780
749
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[0]);
781
750
  const targetRatio = weiToRatioPercentage(weiRatio);
782
751
  return { targetRatio };
783
752
  },
784
753
  };
785
- export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
754
+ export const compoundV2LeverageManagementSubData = {
786
755
  encode(targetRatio, ratioState) {
787
756
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
788
757
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -808,25 +777,6 @@ export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
808
777
  \______| \______/ |__| |__| | _| \__/ |____/
809
778
  */
810
779
  export const compoundV3LeverageManagementSubData = {
811
- encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
812
- return [
813
- market,
814
- baseToken,
815
- new Dec(triggerRepayRatio).mul(1e16).toString(),
816
- new Dec(triggerBoostRatio).mul(1e16).toString(),
817
- new Dec(targetBoostRatio).mul(1e16).toString(),
818
- new Dec(targetRepayRatio).mul(1e16).toString(),
819
- // @ts-ignore // TODO
820
- boostEnabled, isEOA,
821
- ];
822
- },
823
- decode(subData) {
824
- const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
825
- const targetRatio = weiToRatioPercentage(weiRatio);
826
- return { targetRatio };
827
- },
828
- };
829
- export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
830
780
  encode(market, baseToken, targetRatio, ratioState) {
831
781
  const encodedMarket = AbiCoder.encodeParameter('address', market);
832
782
  const encodedBaseToken = AbiCoder.encodeParameter('address', baseToken);
@@ -844,6 +794,7 @@ export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
844
794
  };
845
795
  },
846
796
  };
797
+ export const compoundV3LiquidationProtectionSubData = compoundV3LeverageManagementSubData;
847
798
  export const compoundV3LeverageManagementOnPriceSubData = {
848
799
  encode(market, collToken, baseToken, targetRatio, ratioState, user) {
849
800
  const marketEncoded = AbiCoder.encodeParameter('address', market);
@@ -929,17 +880,7 @@ export const exchangeDcaSubData = {
929
880
  };
930
881
  },
931
882
  };
932
- export const exchangeLimitOrderSubData = {
933
- encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
934
- return [
935
- fromToken,
936
- toToken,
937
- amount,
938
- targetPrice,
939
- new Dec(goodUntil).toString(),
940
- new Dec(orderType).toString(),
941
- ];
942
- },
883
+ export const legacyExchangeLimitOrderSubData = {
943
884
  decode: (subData, chainId) => {
944
885
  const fromToken = AbiCoder.decodeParameter('address', subData[0]).toString();
945
886
  const toToken = AbiCoder.decodeParameter('address', subData[1]).toString();
@@ -947,7 +888,7 @@ export const exchangeLimitOrderSubData = {
947
888
  return { fromToken, toToken, amount };
948
889
  },
949
890
  };
950
- export const exchangeLimitOrderSubDataWithoutSubProxy = {
891
+ export const exchangeLimitOrderSubData = {
951
892
  encode(fromToken, toToken, amount) {
952
893
  return [
953
894
  AbiCoder.encodeParameter('address', fromToken),
@@ -970,14 +911,14 @@ export const exchangeLimitOrderSubDataWithoutSubProxy = {
970
911
  .----) | | | / _____ \ | |\ \----.| . \
971
912
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
972
913
  */
973
- export const sparkLeverageManagementSubData = {
914
+ export const legacySparkLeverageManagementSubData = {
974
915
  decode(subData) {
975
916
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
976
917
  const targetRatio = weiToRatioPercentage(ratioWei);
977
918
  return { targetRatio };
978
919
  },
979
920
  };
980
- export const sparkLeverageManagementSubDataWithoutSubProxy = {
921
+ export const sparkLeverageManagementSubData = {
981
922
  encode(targetRatio, ratioState) {
982
923
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
983
924
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -991,6 +932,7 @@ export const sparkLeverageManagementSubDataWithoutSubProxy = {
991
932
  return { targetRatio, ratioState };
992
933
  },
993
934
  };
935
+ export const sparkLiquidationProtectionSubData = sparkLeverageManagementSubData;
994
936
  export const sparkCloseGenericSubData = {
995
937
  encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
996
938
  const encodedColl = AbiCoder.encodeParameter('address', collAsset);
@@ -1172,6 +1114,7 @@ export const morphoBlueLeverageManagementSubData = {
1172
1114
  };
1173
1115
  },
1174
1116
  };
1117
+ export const morphoBlueLiquidationProtectionSubData = morphoBlueLeverageManagementSubData;
1175
1118
  export const morphoBlueLeverageManagementOnPriceSubData = {
1176
1119
  encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
1177
1120
  const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
@@ -1274,3 +1217,4 @@ export const fluidLeverageManagementSubData = {
1274
1217
  };
1275
1218
  },
1276
1219
  };
1220
+ export const fluidLiquidationProtectionSubData = fluidLeverageManagementSubData;