@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.
- package/cjs/constants/index.js +117 -42
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +157 -12
- package/cjs/services/strategySubService.d.ts +18 -21
- package/cjs/services/strategySubService.js +78 -74
- package/cjs/services/strategySubService.test.js +3 -149
- package/cjs/services/subDataService.d.ts +70 -20
- package/cjs/services/subDataService.js +23 -79
- package/cjs/services/subDataService.test.js +17 -202
- package/cjs/services/utils.d.ts +2 -1
- package/cjs/services/utils.js +14 -1
- package/cjs/types/enums.d.ts +36 -17
- package/cjs/types/enums.js +30 -11
- package/esm/constants/index.js +117 -42
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +157 -12
- package/esm/services/strategySubService.d.ts +18 -21
- package/esm/services/strategySubService.js +78 -73
- package/esm/services/strategySubService.test.js +4 -147
- package/esm/services/subDataService.d.ts +70 -20
- package/esm/services/subDataService.js +21 -77
- package/esm/services/subDataService.test.js +18 -200
- package/esm/services/utils.d.ts +2 -1
- package/esm/services/utils.js +13 -1
- package/esm/types/enums.d.ts +36 -17
- package/esm/types/enums.js +30 -11
- package/package.json +1 -1
- package/src/constants/index.ts +119 -43
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +221 -12
- package/src/services/strategySubService.test.ts +3 -191
- package/src/services/strategySubService.ts +173 -121
- package/src/services/subDataService.test.ts +18 -214
- package/src/services/subDataService.ts +42 -106
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +15 -1
- package/src/types/enums.ts +30 -13
|
@@ -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,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
|
|
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
|
|
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,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;
|