@defisaver/automation-sdk 3.3.16-dev-13082-morpho-eoa-dev → 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 (39) hide show
  1. package/cjs/constants/index.js +117 -42
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +5 -2
  4. package/cjs/services/strategiesService.js +157 -12
  5. package/cjs/services/strategySubService.d.ts +18 -21
  6. package/cjs/services/strategySubService.js +78 -74
  7. package/cjs/services/strategySubService.test.js +3 -149
  8. package/cjs/services/subDataService.d.ts +70 -20
  9. package/cjs/services/subDataService.js +23 -79
  10. package/cjs/services/subDataService.test.js +17 -202
  11. package/cjs/services/utils.d.ts +2 -1
  12. package/cjs/services/utils.js +14 -1
  13. package/cjs/types/enums.d.ts +36 -17
  14. package/cjs/types/enums.js +30 -11
  15. package/esm/constants/index.js +117 -42
  16. package/esm/index.d.ts +2 -2
  17. package/esm/index.js +5 -2
  18. package/esm/services/strategiesService.js +157 -12
  19. package/esm/services/strategySubService.d.ts +18 -21
  20. package/esm/services/strategySubService.js +78 -73
  21. package/esm/services/strategySubService.test.js +4 -147
  22. package/esm/services/subDataService.d.ts +70 -20
  23. package/esm/services/subDataService.js +21 -77
  24. package/esm/services/subDataService.test.js +18 -200
  25. package/esm/services/utils.d.ts +2 -1
  26. package/esm/services/utils.js +13 -1
  27. package/esm/types/enums.d.ts +36 -17
  28. package/esm/types/enums.js +30 -11
  29. package/package.json +1 -1
  30. package/src/constants/index.ts +119 -43
  31. package/src/index.ts +22 -6
  32. package/src/services/strategiesService.ts +221 -12
  33. package/src/services/strategySubService.test.ts +3 -191
  34. package/src/services/strategySubService.ts +173 -121
  35. package/src/services/subDataService.test.ts +18 -214
  36. package/src/services/subDataService.ts +42 -106
  37. package/src/services/utils.test.ts +1 -1
  38. package/src/services/utils.ts +15 -1
  39. package/src/types/enums.ts +30 -13
@@ -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
+ };
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LeverageManagementSubDataWithoutSubProxy = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubDataWithoutSubProxy = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubDataWithoutSubProxy = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
7
- exports.fluidLeverageManagementSubData = void 0;
6
+ exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLiquidationProtectionSubData = exports.sparkLeverageManagementSubData = exports.legacySparkLeverageManagementSubData = exports.exchangeLimitOrderSubData = exports.legacyExchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LiquidationProtectionSubData = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubData = exports.legacyCompoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LiquidationProtectionSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LiquidationProtectionSubData = exports.aaveV3LeverageManagementSubData = exports.legacyAaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubData = exports.legacyAaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubData = exports.legacyLiquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLiquidationProtectionSubData = exports.makerLeverageManagementSubData = exports.legacyMakerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
7
+ exports.fluidLiquidationProtectionSubData = exports.fluidLeverageManagementSubData = exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLiquidationProtectionSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = void 0;
8
8
  const decimal_js_1 = __importDefault(require("decimal.js"));
9
9
  const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
10
10
  const web3_utils_1 = require("web3-utils");
@@ -22,16 +22,6 @@ const utils_1 = require("./utils");
22
22
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
23
23
  */
24
24
  exports.morphoAaveV2LeverageManagementSubData = {
25
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
26
- return [
27
- (0, utils_1.ratioPercentageToWei)(triggerRepayRatio),
28
- (0, utils_1.ratioPercentageToWei)(triggerBoostRatio),
29
- (0, utils_1.ratioPercentageToWei)(targetBoostRatio),
30
- (0, utils_1.ratioPercentageToWei)(targetRepayRatio),
31
- // @ts-ignore
32
- boostEnabled,
33
- ];
34
- },
35
25
  decode(subData) {
36
26
  const ratioWei = web3_eth_abi_1.default.decodeParameter('uint128', subData[1]);
37
27
  const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
@@ -39,10 +29,6 @@ exports.morphoAaveV2LeverageManagementSubData = {
39
29
  },
40
30
  };
41
31
  exports.cBondsRebondSubData = {
42
- encode(bondId) {
43
- const bondIdEncoded = web3_eth_abi_1.default.encodeParameter('uint256', bondId);
44
- return [bondIdEncoded];
45
- },
46
32
  decode(subData) {
47
33
  const bondId = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]).toString();
48
34
  return { bondId };
@@ -124,7 +110,7 @@ exports.makerCloseSubData = {
124
110
  };
125
111
  },
126
112
  };
127
- exports.makerLeverageManagementSubData = {
113
+ exports.legacyMakerLeverageManagementSubData = {
128
114
  decode: (subData) => {
129
115
  const vaultId = +web3_eth_abi_1.default.decodeParameter('uint256', subData[0]).toString();
130
116
  const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
@@ -132,7 +118,7 @@ exports.makerLeverageManagementSubData = {
132
118
  return { vaultId, targetRatio };
133
119
  },
134
120
  };
135
- exports.makerLeverageManagementWithoutSubProxy = {
121
+ exports.makerLeverageManagementSubData = {
136
122
  encode(vaultId, targetRatio, daiAddr) {
137
123
  const encodedVaultId = web3_eth_abi_1.default.encodeParameter('uint256', vaultId);
138
124
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
@@ -146,6 +132,7 @@ exports.makerLeverageManagementWithoutSubProxy = {
146
132
  return { vaultId, targetRatio, daiAddr };
147
133
  },
148
134
  };
135
+ exports.makerLiquidationProtectionSubData = exports.makerLeverageManagementSubData;
149
136
  /**
150
137
  __ __ ______ __ __ __ .___________.____ ____ ____ ____ __
151
138
  | | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
@@ -161,14 +148,14 @@ exports.liquityRepayFromSavingsSubData = {
161
148
  return { targetRatio };
162
149
  },
163
150
  };
164
- exports.liquityLeverageManagementSubData = {
151
+ exports.legacyLiquityLeverageManagementSubData = {
165
152
  decode: (subData) => {
166
153
  const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
167
154
  const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
168
155
  return { targetRatio };
169
156
  },
170
157
  };
171
- exports.liquityLeverageManagementSubDataWithoutSubProxy = {
158
+ exports.liquityLeverageManagementSubData = {
172
159
  encode(targetRatio, ratioState) {
173
160
  const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
174
161
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
@@ -399,24 +386,14 @@ exports.liquityV2PaybackSubData = {
399
386
  / _____ \ / _____ \ \ / | |____ \ / / /_
400
387
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
401
388
  */
402
- exports.aaveV2LeverageManagementSubData = {
403
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
404
- return [
405
- new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
406
- new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
407
- new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
408
- new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
409
- // @ts-ignore // TODO
410
- boostEnabled,
411
- ];
412
- },
389
+ exports.legacyAaveV2LeverageManagementSubData = {
413
390
  decode(subData) {
414
391
  const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
415
392
  const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
416
393
  return { targetRatio };
417
394
  },
418
395
  };
419
- exports.aaveV2LeverageManagementSubDataWithoutSubProxy = {
396
+ exports.aaveV2LeverageManagementSubData = {
420
397
  encode(market, targetRatio, ratioState) {
421
398
  const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
422
399
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
@@ -443,14 +420,14 @@ exports.aaveV2LeverageManagementSubDataWithoutSubProxy = {
443
420
  / _____ \ / _____ \ \ / | |____ \ / ___) |
444
421
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
445
422
  */
446
- exports.aaveV3LeverageManagementSubData = {
423
+ exports.legacyAaveV3LeverageManagementSubData = {
447
424
  decode(subData) {
448
425
  const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
449
426
  const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
450
427
  return { targetRatio };
451
428
  },
452
429
  };
453
- exports.aaveV3LeverageManagementSubDataWithoutSubProxy = {
430
+ exports.aaveV3LeverageManagementSubData = {
454
431
  encode(targetRatio, ratioState, market, user, isGeneric) {
455
432
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
456
433
  const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
@@ -469,6 +446,7 @@ exports.aaveV3LeverageManagementSubDataWithoutSubProxy = {
469
446
  return { targetRatio, ratioState };
470
447
  },
471
448
  };
449
+ exports.aaveV3LiquidationProtectionSubData = exports.aaveV3LeverageManagementSubData;
472
450
  exports.aaveV3LeverageManagementOnPriceGeneric = {
473
451
  encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
474
452
  const encodedColl = web3_eth_abi_1.default.encodeParameter('address', collAsset);
@@ -656,6 +634,7 @@ exports.aaveV4LeverageManagementSubData = {
656
634
  };
657
635
  },
658
636
  };
637
+ exports.aaveV4LiquidationProtectionSubData = exports.aaveV4LeverageManagementSubData;
659
638
  exports.aaveV4LeverageManagementOnPriceSubData = {
660
639
  encode: (spoke, owner, collAsset, collAssetId, debtAsset, debtAssetId, ratioState, targetRatio) => {
661
640
  const spokeEncoded = web3_eth_abi_1.default.encodeParameter('address', spoke);
@@ -772,24 +751,14 @@ exports.aaveV4CollateralSwitchSubData = {
772
751
  | `----.| `--' | | | | | | | \ / / /_
773
752
  \______| \______/ |__| |__| | _| \__/ |____|
774
753
  */
775
- exports.compoundV2LeverageManagementSubData = {
776
- encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
777
- return [
778
- new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
779
- new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
780
- new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
781
- new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
782
- // @ts-ignore // TODO
783
- boostEnabled,
784
- ];
785
- },
754
+ exports.legacyCompoundV2LeverageManagementSubData = {
786
755
  decode(subData) {
787
756
  const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
788
757
  const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
789
758
  return { targetRatio };
790
759
  },
791
760
  };
792
- exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
761
+ exports.compoundV2LeverageManagementSubData = {
793
762
  encode(targetRatio, ratioState) {
794
763
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
795
764
  const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
@@ -815,25 +784,6 @@ exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
815
784
  \______| \______/ |__| |__| | _| \__/ |____/
816
785
  */
817
786
  exports.compoundV3LeverageManagementSubData = {
818
- encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
819
- return [
820
- market,
821
- baseToken,
822
- new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
823
- new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
824
- new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
825
- new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
826
- // @ts-ignore // TODO
827
- boostEnabled, isEOA,
828
- ];
829
- },
830
- decode(subData) {
831
- const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
832
- const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
833
- return { targetRatio };
834
- },
835
- };
836
- exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
837
787
  encode(market, baseToken, targetRatio, ratioState) {
838
788
  const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
839
789
  const encodedBaseToken = web3_eth_abi_1.default.encodeParameter('address', baseToken);
@@ -851,6 +801,7 @@ exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
851
801
  };
852
802
  },
853
803
  };
804
+ exports.compoundV3LiquidationProtectionSubData = exports.compoundV3LeverageManagementSubData;
854
805
  exports.compoundV3LeverageManagementOnPriceSubData = {
855
806
  encode(market, collToken, baseToken, targetRatio, ratioState, user) {
856
807
  const marketEncoded = web3_eth_abi_1.default.encodeParameter('address', market);
@@ -936,17 +887,7 @@ exports.exchangeDcaSubData = {
936
887
  };
937
888
  },
938
889
  };
939
- exports.exchangeLimitOrderSubData = {
940
- encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
941
- return [
942
- fromToken,
943
- toToken,
944
- amount,
945
- targetPrice,
946
- new decimal_js_1.default(goodUntil).toString(),
947
- new decimal_js_1.default(orderType).toString(),
948
- ];
949
- },
890
+ exports.legacyExchangeLimitOrderSubData = {
950
891
  decode: (subData, chainId) => {
951
892
  const fromToken = web3_eth_abi_1.default.decodeParameter('address', subData[0]).toString();
952
893
  const toToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString();
@@ -954,7 +895,7 @@ exports.exchangeLimitOrderSubData = {
954
895
  return { fromToken, toToken, amount };
955
896
  },
956
897
  };
957
- exports.exchangeLimitOrderSubDataWithoutSubProxy = {
898
+ exports.exchangeLimitOrderSubData = {
958
899
  encode(fromToken, toToken, amount) {
959
900
  return [
960
901
  web3_eth_abi_1.default.encodeParameter('address', fromToken),
@@ -977,14 +918,14 @@ exports.exchangeLimitOrderSubDataWithoutSubProxy = {
977
918
  .----) | | | / _____ \ | |\ \----.| . \
978
919
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
979
920
  */
980
- exports.sparkLeverageManagementSubData = {
921
+ exports.legacySparkLeverageManagementSubData = {
981
922
  decode(subData) {
982
923
  const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
983
924
  const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
984
925
  return { targetRatio };
985
926
  },
986
927
  };
987
- exports.sparkLeverageManagementSubDataWithoutSubProxy = {
928
+ exports.sparkLeverageManagementSubData = {
988
929
  encode(targetRatio, ratioState) {
989
930
  const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
990
931
  const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
@@ -998,6 +939,7 @@ exports.sparkLeverageManagementSubDataWithoutSubProxy = {
998
939
  return { targetRatio, ratioState };
999
940
  },
1000
941
  };
942
+ exports.sparkLiquidationProtectionSubData = exports.sparkLeverageManagementSubData;
1001
943
  exports.sparkCloseGenericSubData = {
1002
944
  encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
1003
945
  const encodedColl = web3_eth_abi_1.default.encodeParameter('address', collAsset);
@@ -1179,6 +1121,7 @@ exports.morphoBlueLeverageManagementSubData = {
1179
1121
  };
1180
1122
  },
1181
1123
  };
1124
+ exports.morphoBlueLiquidationProtectionSubData = exports.morphoBlueLeverageManagementSubData;
1182
1125
  exports.morphoBlueLeverageManagementOnPriceSubData = {
1183
1126
  encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
1184
1127
  const loanTokenEncoded = web3_eth_abi_1.default.encodeParameter('address', loanToken);
@@ -1281,3 +1224,4 @@ exports.fluidLeverageManagementSubData = {
1281
1224
  };
1282
1225
  },
1283
1226
  };
1227
+ exports.fluidLiquidationProtectionSubData = exports.fluidLeverageManagementSubData;