@defisaver/automation-sdk 3.3.17 → 3.3.18-spark-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.
- package/cjs/constants/index.js +170 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/ethereumService.test.js +4 -7
- package/cjs/services/strategiesService.js +195 -15
- package/cjs/services/strategySubService.d.ts +22 -17
- package/cjs/services/strategySubService.js +92 -28
- package/cjs/services/strategySubService.test.js +297 -40
- package/cjs/services/subDataService.d.ts +108 -20
- package/cjs/services/subDataService.js +97 -79
- package/cjs/services/subDataService.test.js +479 -174
- package/cjs/types/enums.d.ts +44 -6
- package/cjs/types/enums.js +38 -0
- package/esm/constants/index.js +170 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/ethereumService.test.js +4 -7
- package/esm/services/strategiesService.js +195 -15
- package/esm/services/strategySubService.d.ts +22 -17
- package/esm/services/strategySubService.js +91 -27
- package/esm/services/strategySubService.test.js +298 -38
- package/esm/services/subDataService.d.ts +108 -20
- package/esm/services/subDataService.js +95 -77
- package/esm/services/subDataService.test.js +480 -172
- package/esm/types/enums.d.ts +44 -6
- package/esm/types/enums.js +38 -0
- package/package.json +1 -1
- package/src/constants/index.ts +172 -1
- package/src/index.ts +22 -6
- package/src/services/ethereumService.test.ts +5 -8
- package/src/services/strategiesService.ts +262 -16
- package/src/services/strategySubService.test.ts +384 -46
- package/src/services/strategySubService.ts +251 -40
- package/src/services/subDataService.test.ts +639 -231
- package/src/services/subDataService.ts +149 -106
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +3 -1
- package/src/types/enums.ts +38 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EthereumAddress } from '../types';
|
|
2
|
-
import type { CloseStrategyType
|
|
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
|
|
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
|
|
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
|
|
93
|
+
export declare const legacyLiquityLeverageManagementSubData: {
|
|
88
94
|
decode: (subData: string[]) => {
|
|
89
95
|
targetRatio: number;
|
|
90
96
|
};
|
|
91
97
|
};
|
|
92
|
-
export declare const
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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,18 +449,39 @@ 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
|
|
464
|
+
export declare const sparkLiquidationProtectionSubData: {
|
|
436
465
|
encode(targetRatio: number, ratioState: RatioState): string[];
|
|
437
466
|
decode(subData: string[]): {
|
|
438
467
|
targetRatio: number;
|
|
439
468
|
ratioState: RatioState;
|
|
440
469
|
};
|
|
441
470
|
};
|
|
471
|
+
export declare const sparkGenericLeverageManagementSubData: {
|
|
472
|
+
encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress): string[];
|
|
473
|
+
decode(subData: string[]): {
|
|
474
|
+
targetRatio: number;
|
|
475
|
+
ratioState: RatioState;
|
|
476
|
+
};
|
|
477
|
+
};
|
|
478
|
+
export declare const sparkGenericLiquidationProtectionSubData: {
|
|
479
|
+
encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress): string[];
|
|
480
|
+
decode(subData: string[]): {
|
|
481
|
+
targetRatio: number;
|
|
482
|
+
ratioState: RatioState;
|
|
483
|
+
};
|
|
484
|
+
};
|
|
442
485
|
export declare const sparkCloseGenericSubData: {
|
|
443
486
|
encode(collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, closeType: CloseStrategyType, marketAddr: EthereumAddress, user: EthereumAddress): string[];
|
|
444
487
|
decode(subData: string[]): {
|
|
@@ -462,6 +505,18 @@ export declare const sparkLeverageManagementOnPriceSubData: {
|
|
|
462
505
|
targetRatio: number;
|
|
463
506
|
};
|
|
464
507
|
};
|
|
508
|
+
export declare const sparkLeverageManagementOnPriceGenericSubData: {
|
|
509
|
+
encode(collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): string[];
|
|
510
|
+
decode(subData: string[]): {
|
|
511
|
+
collAsset: string;
|
|
512
|
+
collAssetId: number;
|
|
513
|
+
debtAsset: string;
|
|
514
|
+
debtAssetId: number;
|
|
515
|
+
marketAddr: string;
|
|
516
|
+
targetRatio: number;
|
|
517
|
+
user: string;
|
|
518
|
+
};
|
|
519
|
+
};
|
|
465
520
|
export declare const sparkCollateralSwitchSubData: {
|
|
466
521
|
encode(fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, useOnBehalf?: boolean): string[];
|
|
467
522
|
decode(subData: string[]): {
|
|
@@ -473,6 +528,18 @@ export declare const sparkCollateralSwitchSubData: {
|
|
|
473
528
|
amountToSwitch: string;
|
|
474
529
|
};
|
|
475
530
|
};
|
|
531
|
+
export declare const sparkGenericFLCollateralSwitchSubData: {
|
|
532
|
+
encode(fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, user: EthereumAddress): string[];
|
|
533
|
+
decode(subData: string[]): {
|
|
534
|
+
fromAsset: EthereumAddress;
|
|
535
|
+
fromAssetId: number;
|
|
536
|
+
toAsset: EthereumAddress;
|
|
537
|
+
toAssetId: number;
|
|
538
|
+
marketAddr: EthereumAddress;
|
|
539
|
+
amountToSwitch: string;
|
|
540
|
+
user: EthereumAddress;
|
|
541
|
+
};
|
|
542
|
+
};
|
|
476
543
|
/**
|
|
477
544
|
______ .______ ____ ____ __ __ _______. _______
|
|
478
545
|
/ || _ \ \ \ / / | | | | / || \
|
|
@@ -517,6 +584,18 @@ export declare const morphoBlueLeverageManagementSubData: {
|
|
|
517
584
|
targetRatio: number;
|
|
518
585
|
};
|
|
519
586
|
};
|
|
587
|
+
export declare const morphoBlueLiquidationProtectionSubData: {
|
|
588
|
+
encode: (loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, user: EthereumAddress, isEOA: boolean) => string[];
|
|
589
|
+
decode: (subData: string[]) => {
|
|
590
|
+
loanToken: string;
|
|
591
|
+
collToken: string;
|
|
592
|
+
oracle: string;
|
|
593
|
+
irm: string;
|
|
594
|
+
lltv: string;
|
|
595
|
+
user: string;
|
|
596
|
+
targetRatio: number;
|
|
597
|
+
};
|
|
598
|
+
};
|
|
520
599
|
export declare const morphoBlueLeverageManagementOnPriceSubData: {
|
|
521
600
|
encode(loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, targetRatio: number, user: EthereumAddress): string[];
|
|
522
601
|
decode(subData: string[]): {
|
|
@@ -558,3 +637,12 @@ export declare const fluidLeverageManagementSubData: {
|
|
|
558
637
|
targetRatio: number;
|
|
559
638
|
};
|
|
560
639
|
};
|
|
640
|
+
export declare const fluidLiquidationProtectionSubData: {
|
|
641
|
+
encode: (nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number) => string[];
|
|
642
|
+
decode: (subData: string[]) => {
|
|
643
|
+
nftId: string;
|
|
644
|
+
vault: string;
|
|
645
|
+
ratioState: RatioState;
|
|
646
|
+
targetRatio: number;
|
|
647
|
+
};
|
|
648
|
+
};
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,22 @@ export const sparkLeverageManagementSubDataWithoutSubProxy = {
|
|
|
991
932
|
return { targetRatio, ratioState };
|
|
992
933
|
},
|
|
993
934
|
};
|
|
935
|
+
export const sparkLiquidationProtectionSubData = sparkLeverageManagementSubData;
|
|
936
|
+
export const sparkGenericLeverageManagementSubData = {
|
|
937
|
+
encode(targetRatio, ratioState, market, user) {
|
|
938
|
+
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
939
|
+
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
940
|
+
const encodedMarket = AbiCoder.encodeParameter('address', market);
|
|
941
|
+
const encodedUser = AbiCoder.encodeParameter('address', user);
|
|
942
|
+
return [encodedTargetRatio, encodedRatioState, encodedMarket, encodedUser];
|
|
943
|
+
},
|
|
944
|
+
decode(subData) {
|
|
945
|
+
const targetRatio = weiToRatioPercentage(String(AbiCoder.decodeParameter('uint256', subData[0])));
|
|
946
|
+
const ratioState = Number(AbiCoder.decodeParameter('uint8', subData[1]));
|
|
947
|
+
return { targetRatio, ratioState };
|
|
948
|
+
},
|
|
949
|
+
};
|
|
950
|
+
export const sparkGenericLiquidationProtectionSubData = sparkGenericLeverageManagementSubData;
|
|
994
951
|
export const sparkCloseGenericSubData = {
|
|
995
952
|
encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
|
|
996
953
|
const encodedColl = AbiCoder.encodeParameter('address', collAsset);
|
|
@@ -1047,6 +1004,33 @@ export const sparkLeverageManagementOnPriceSubData = {
|
|
|
1047
1004
|
};
|
|
1048
1005
|
},
|
|
1049
1006
|
};
|
|
1007
|
+
export const sparkLeverageManagementOnPriceGenericSubData = {
|
|
1008
|
+
encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
|
|
1009
|
+
const encodedColl = AbiCoder.encodeParameter('address', collAsset);
|
|
1010
|
+
const encodedCollId = AbiCoder.encodeParameter('uint16', collAssetId);
|
|
1011
|
+
const encodedDebt = AbiCoder.encodeParameter('address', debtAsset);
|
|
1012
|
+
const encodedDebtId = AbiCoder.encodeParameter('uint16', debtAssetId);
|
|
1013
|
+
const encodedMarket = AbiCoder.encodeParameter('address', marketAddr);
|
|
1014
|
+
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
1015
|
+
const encodedUser = AbiCoder.encodeParameter('address', user);
|
|
1016
|
+
return [
|
|
1017
|
+
encodedColl, encodedCollId, encodedDebt, encodedDebtId,
|
|
1018
|
+
encodedMarket, encodedTargetRatio, encodedUser,
|
|
1019
|
+
];
|
|
1020
|
+
},
|
|
1021
|
+
decode(subData) {
|
|
1022
|
+
const collAsset = AbiCoder.decodeParameter('address', subData[0]);
|
|
1023
|
+
const collAssetId = Number(AbiCoder.decodeParameter('uint16', subData[1]));
|
|
1024
|
+
const debtAsset = AbiCoder.decodeParameter('address', subData[2]);
|
|
1025
|
+
const debtAssetId = Number(AbiCoder.decodeParameter('uint16', subData[3]));
|
|
1026
|
+
const marketAddr = AbiCoder.decodeParameter('address', subData[4]);
|
|
1027
|
+
const targetRatio = weiToRatioPercentage(String(AbiCoder.decodeParameter('uint256', subData[5])));
|
|
1028
|
+
const user = AbiCoder.decodeParameter('address', subData[6]);
|
|
1029
|
+
return {
|
|
1030
|
+
collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user,
|
|
1031
|
+
};
|
|
1032
|
+
},
|
|
1033
|
+
};
|
|
1050
1034
|
export const sparkCollateralSwitchSubData = {
|
|
1051
1035
|
encode(fromAsset, fromAssetId, toAsset, toAssetId, marketAddr, amountToSwitch, useOnBehalf = false) {
|
|
1052
1036
|
const encodedFromAsset = AbiCoder.encodeParameter('address', fromAsset);
|
|
@@ -1078,6 +1062,38 @@ export const sparkCollateralSwitchSubData = {
|
|
|
1078
1062
|
};
|
|
1079
1063
|
},
|
|
1080
1064
|
};
|
|
1065
|
+
export const sparkGenericFLCollateralSwitchSubData = {
|
|
1066
|
+
encode(fromAsset, fromAssetId, toAsset, toAssetId, marketAddr, amountToSwitch, user) {
|
|
1067
|
+
const encodedFromAsset = AbiCoder.encodeParameter('address', fromAsset);
|
|
1068
|
+
const encodedFromAssetId = AbiCoder.encodeParameter('uint16', fromAssetId);
|
|
1069
|
+
const encodedToAsset = AbiCoder.encodeParameter('address', toAsset);
|
|
1070
|
+
const encodedToAssetId = AbiCoder.encodeParameter('uint16', toAssetId);
|
|
1071
|
+
const encodedMarketAddr = AbiCoder.encodeParameter('address', marketAddr);
|
|
1072
|
+
const encodedAmountToSwitch = AbiCoder.encodeParameter('uint256', amountToSwitch);
|
|
1073
|
+
const encodedUser = AbiCoder.encodeParameter('address', user);
|
|
1074
|
+
return [
|
|
1075
|
+
encodedFromAsset,
|
|
1076
|
+
encodedFromAssetId,
|
|
1077
|
+
encodedToAsset,
|
|
1078
|
+
encodedToAssetId,
|
|
1079
|
+
encodedMarketAddr,
|
|
1080
|
+
encodedAmountToSwitch,
|
|
1081
|
+
encodedUser,
|
|
1082
|
+
];
|
|
1083
|
+
},
|
|
1084
|
+
decode(subData) {
|
|
1085
|
+
const fromAsset = AbiCoder.decodeParameter('address', subData[0]);
|
|
1086
|
+
const fromAssetId = Number(AbiCoder.decodeParameter('uint16', subData[1]));
|
|
1087
|
+
const toAsset = AbiCoder.decodeParameter('address', subData[2]);
|
|
1088
|
+
const toAssetId = Number(AbiCoder.decodeParameter('uint16', subData[3]));
|
|
1089
|
+
const marketAddr = AbiCoder.decodeParameter('address', subData[4]);
|
|
1090
|
+
const amountToSwitch = AbiCoder.decodeParameter('uint256', subData[5]);
|
|
1091
|
+
const user = AbiCoder.decodeParameter('address', subData[6]);
|
|
1092
|
+
return {
|
|
1093
|
+
fromAsset, fromAssetId, toAsset, toAssetId, marketAddr, amountToSwitch, user,
|
|
1094
|
+
};
|
|
1095
|
+
},
|
|
1096
|
+
};
|
|
1081
1097
|
/**
|
|
1082
1098
|
______ .______ ____ ____ __ __ _______. _______
|
|
1083
1099
|
/ || _ \ \ \ / / | | | | / || \
|
|
@@ -1172,6 +1188,7 @@ export const morphoBlueLeverageManagementSubData = {
|
|
|
1172
1188
|
};
|
|
1173
1189
|
},
|
|
1174
1190
|
};
|
|
1191
|
+
export const morphoBlueLiquidationProtectionSubData = morphoBlueLeverageManagementSubData;
|
|
1175
1192
|
export const morphoBlueLeverageManagementOnPriceSubData = {
|
|
1176
1193
|
encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
|
|
1177
1194
|
const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
|
|
@@ -1274,3 +1291,4 @@ export const fluidLeverageManagementSubData = {
|
|
|
1274
1291
|
};
|
|
1275
1292
|
},
|
|
1276
1293
|
};
|
|
1294
|
+
export const fluidLiquidationProtectionSubData = fluidLeverageManagementSubData;
|