@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.
- package/cjs/constants/index.js +42 -117
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +2 -5
- package/cjs/services/strategiesService.js +21 -160
- package/cjs/services/strategySubService.d.ts +21 -18
- package/cjs/services/strategySubService.js +74 -78
- package/cjs/services/strategySubService.test.js +149 -3
- package/cjs/services/subDataService.d.ts +20 -70
- package/cjs/services/subDataService.js +79 -23
- package/cjs/services/subDataService.test.js +202 -17
- package/cjs/services/utils.d.ts +1 -2
- package/cjs/services/utils.js +1 -14
- package/cjs/types/enums.d.ts +17 -36
- package/cjs/types/enums.js +11 -30
- package/esm/constants/index.js +42 -117
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -5
- package/esm/services/strategiesService.js +21 -160
- package/esm/services/strategySubService.d.ts +21 -18
- package/esm/services/strategySubService.js +73 -78
- package/esm/services/strategySubService.test.js +147 -4
- package/esm/services/subDataService.d.ts +20 -70
- package/esm/services/subDataService.js +77 -21
- package/esm/services/subDataService.test.js +200 -18
- package/esm/services/utils.d.ts +1 -2
- package/esm/services/utils.js +1 -13
- package/esm/types/enums.d.ts +17 -36
- package/esm/types/enums.js +11 -30
- package/package.json +1 -1
- package/src/constants/index.ts +43 -119
- package/src/index.ts +6 -22
- package/src/services/strategiesService.ts +23 -225
- package/src/services/strategySubService.test.ts +191 -3
- package/src/services/strategySubService.ts +121 -173
- package/src/services/subDataService.test.ts +214 -18
- package/src/services/subDataService.ts +106 -42
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +1 -15
- 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
|
|
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
|
|
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
|
|
87
|
+
export declare const liquityLeverageManagementSubData: {
|
|
94
88
|
decode: (subData: string[]) => {
|
|
95
89
|
targetRatio: number;
|
|
96
90
|
};
|
|
97
91
|
};
|
|
98
|
-
export declare const
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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;
|