@defisaver/automation-sdk 3.3.16-liq-prot-dev → 3.3.17

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