@defisaver/automation-sdk 3.3.15-liq-prot-1-dev → 3.3.15-liq-prot-3-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/index.d.ts +1 -2
- package/cjs/index.js +0 -1
- package/cjs/services/strategiesService.js +10 -10
- package/cjs/services/strategySubService.d.ts +9 -15
- package/cjs/services/strategySubService.js +20 -30
- package/cjs/services/strategySubService.test.js +2 -40
- package/cjs/services/subDataService.d.ts +18 -23
- package/cjs/services/subDataService.js +23 -225
- package/cjs/services/subDataService.test.js +17 -134
- package/cjs/services/utils.d.ts +0 -1
- package/cjs/services/utils.js +1 -21
- package/cjs/services/utils.test.js +0 -25
- package/cjs/types/enums.d.ts +1 -1
- package/cjs/types/enums.js +1 -1
- package/esm/index.d.ts +1 -2
- package/esm/index.js +1 -2
- package/esm/services/strategiesService.js +10 -10
- package/esm/services/strategySubService.d.ts +9 -15
- package/esm/services/strategySubService.js +19 -29
- package/esm/services/strategySubService.test.js +3 -38
- package/esm/services/subDataService.d.ts +18 -23
- package/esm/services/subDataService.js +22 -224
- package/esm/services/subDataService.test.js +18 -132
- package/esm/services/utils.d.ts +0 -1
- package/esm/services/utils.js +0 -19
- package/esm/services/utils.test.js +2 -27
- package/esm/types/enums.d.ts +1 -1
- package/esm/types/enums.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +0 -2
- package/src/services/strategiesService.ts +10 -10
- package/src/services/strategySubService.test.ts +2 -46
- package/src/services/strategySubService.ts +19 -36
- package/src/services/subDataService.test.ts +18 -142
- package/src/services/subDataService.ts +23 -294
- package/src/services/utils.test.ts +0 -31
- package/src/services/utils.ts +0 -17
- package/src/types/enums.ts +1 -1
|
@@ -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,23 +111,7 @@ export const makerLeverageManagementSubData = {
|
|
|
125
111
|
return { vaultId, targetRatio };
|
|
126
112
|
},
|
|
127
113
|
};
|
|
128
|
-
|
|
129
|
-
// ! Double check before changing
|
|
130
|
-
export const makerLeverageManagementWithoutSubProxy = {
|
|
131
|
-
encode(vaultId, targetRatio, daiAddr) {
|
|
132
|
-
const encodedVaultId = AbiCoder.encodeParameter('uint256', vaultId);
|
|
133
|
-
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
134
|
-
const encodedDaiAddr = AbiCoder.encodeParameter('address', daiAddr || getAssetInfo('DAI', 1).address);
|
|
135
|
-
return [encodedVaultId, encodedTargetRatio, encodedDaiAddr];
|
|
136
|
-
},
|
|
137
|
-
decode(subData) {
|
|
138
|
-
const vaultId = +AbiCoder.decodeParameter('uint256', subData[0]).toString();
|
|
139
|
-
const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[1]));
|
|
140
|
-
const daiAddr = AbiCoder.decodeParameter('address', subData[2]).toString();
|
|
141
|
-
return { vaultId, targetRatio, daiAddr };
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
export const makerLiquidationProtectionSubData = {
|
|
114
|
+
export const makerLeverageManagementSubData = {
|
|
145
115
|
encode(vaultId, targetRatio, daiAddr) {
|
|
146
116
|
const encodedVaultId = AbiCoder.encodeParameter('uint256', vaultId);
|
|
147
117
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
@@ -155,6 +125,7 @@ export const makerLiquidationProtectionSubData = {
|
|
|
155
125
|
return { vaultId, targetRatio, daiAddr };
|
|
156
126
|
},
|
|
157
127
|
};
|
|
128
|
+
export const makerLiquidationProtectionSubData = makerLeverageManagementSubData;
|
|
158
129
|
/**
|
|
159
130
|
__ __ ______ __ __ __ .___________.____ ____ ____ ____ __
|
|
160
131
|
| | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
|
|
@@ -170,14 +141,14 @@ export const liquityRepayFromSavingsSubData = {
|
|
|
170
141
|
return { targetRatio };
|
|
171
142
|
},
|
|
172
143
|
};
|
|
173
|
-
export const
|
|
144
|
+
export const legacyLiquityLeverageManagementSubData = {
|
|
174
145
|
decode: (subData) => {
|
|
175
146
|
const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]);
|
|
176
147
|
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
177
148
|
return { targetRatio };
|
|
178
149
|
},
|
|
179
150
|
};
|
|
180
|
-
export const
|
|
151
|
+
export const liquityLeverageManagementSubData = {
|
|
181
152
|
encode(targetRatio, ratioState) {
|
|
182
153
|
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
183
154
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
@@ -408,24 +379,14 @@ export const liquityV2PaybackSubData = {
|
|
|
408
379
|
/ _____ \ / _____ \ \ / | |____ \ / / /_
|
|
409
380
|
/__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
|
|
410
381
|
*/
|
|
411
|
-
export const
|
|
412
|
-
encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
413
|
-
return [
|
|
414
|
-
new Dec(triggerRepayRatio).mul(1e16).toString(),
|
|
415
|
-
new Dec(triggerBoostRatio).mul(1e16).toString(),
|
|
416
|
-
new Dec(targetBoostRatio).mul(1e16).toString(),
|
|
417
|
-
new Dec(targetRepayRatio).mul(1e16).toString(),
|
|
418
|
-
// @ts-ignore // TODO
|
|
419
|
-
boostEnabled,
|
|
420
|
-
];
|
|
421
|
-
},
|
|
382
|
+
export const legacyAaveV2LeverageManagementSubData = {
|
|
422
383
|
decode(subData) {
|
|
423
384
|
const ratioWei = AbiCoder.decodeParameter('uint256', subData[1]);
|
|
424
385
|
const targetRatio = weiToRatioPercentage(ratioWei);
|
|
425
386
|
return { targetRatio };
|
|
426
387
|
},
|
|
427
388
|
};
|
|
428
|
-
export const
|
|
389
|
+
export const aaveV2LeverageManagementSubData = {
|
|
429
390
|
encode(market, targetRatio, ratioState) {
|
|
430
391
|
const encodedMarket = AbiCoder.encodeParameter('address', market);
|
|
431
392
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
@@ -452,16 +413,14 @@ export const aaveV2LeverageManagementSubDataWithoutSubProxy = {
|
|
|
452
413
|
/ _____ \ / _____ \ \ / | |____ \ / ___) |
|
|
453
414
|
/__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
|
|
454
415
|
*/
|
|
455
|
-
export const
|
|
416
|
+
export const legacyAaveV3LeverageManagementSubData = {
|
|
456
417
|
decode(subData) {
|
|
457
418
|
const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
|
|
458
419
|
const targetRatio = weiToRatioPercentage(ratioWei);
|
|
459
420
|
return { targetRatio };
|
|
460
421
|
},
|
|
461
422
|
};
|
|
462
|
-
|
|
463
|
-
// ! Double check before changing. Liquidation protection is using Generic encoding for both - EOA and SW
|
|
464
|
-
export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
|
|
423
|
+
export const aaveV3LeverageManagementSubData = {
|
|
465
424
|
encode(targetRatio, ratioState, market, user, isGeneric) {
|
|
466
425
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
467
426
|
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
@@ -480,20 +439,7 @@ export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
|
|
|
480
439
|
return { targetRatio, ratioState };
|
|
481
440
|
},
|
|
482
441
|
};
|
|
483
|
-
export const aaveV3LiquidationProtectionSubData =
|
|
484
|
-
encode(targetRatio, ratioState, market, user) {
|
|
485
|
-
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
486
|
-
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
487
|
-
const encodedMarket = AbiCoder.encodeParameter('address', market);
|
|
488
|
-
const encodedUser = AbiCoder.encodeParameter('address', user);
|
|
489
|
-
return [encodedTargetRatio, encodedRatioState, encodedMarket, encodedUser];
|
|
490
|
-
},
|
|
491
|
-
decode(subData) {
|
|
492
|
-
const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[0]));
|
|
493
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[1]);
|
|
494
|
-
return { targetRatio, ratioState };
|
|
495
|
-
},
|
|
496
|
-
};
|
|
442
|
+
export const aaveV3LiquidationProtectionSubData = aaveV3LeverageManagementSubData;
|
|
497
443
|
export const aaveV3LeverageManagementOnPriceGeneric = {
|
|
498
444
|
encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
|
|
499
445
|
const encodedColl = AbiCoder.encodeParameter('address', collAsset);
|
|
@@ -655,8 +601,6 @@ export const aaveV3LeverageManagementOnPriceSubData = {
|
|
|
655
601
|
/ _____ \ / _____ \ \ / | |____ \ / | |
|
|
656
602
|
/__/ \__\ /__/ \__\ \__/ |_______| \__/ |_|
|
|
657
603
|
*/
|
|
658
|
-
// ! Any change here will PROBABLY require a change in aaveV4LiquidationProtectionSubData as well, since it is copy paste
|
|
659
|
-
// ! Double check before changing
|
|
660
604
|
export const aaveV4LeverageManagementSubData = {
|
|
661
605
|
encode: (spoke, owner, ratioState, targetRatio) => {
|
|
662
606
|
const spokeEncoded = AbiCoder.encodeParameter('address', spoke);
|
|
@@ -683,32 +627,7 @@ export const aaveV4LeverageManagementSubData = {
|
|
|
683
627
|
};
|
|
684
628
|
},
|
|
685
629
|
};
|
|
686
|
-
export const aaveV4LiquidationProtectionSubData =
|
|
687
|
-
encode: (spoke, owner, ratioState, targetRatio) => {
|
|
688
|
-
const spokeEncoded = AbiCoder.encodeParameter('address', spoke);
|
|
689
|
-
const ownerEncoded = AbiCoder.encodeParameter('address', owner);
|
|
690
|
-
const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
|
|
691
|
-
const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
692
|
-
// Add two empty slots for future addons (e.g tsi or slippage settings)
|
|
693
|
-
return [
|
|
694
|
-
spokeEncoded,
|
|
695
|
-
ownerEncoded,
|
|
696
|
-
ratioStateEncoded,
|
|
697
|
-
targetRatioEncoded,
|
|
698
|
-
EMPTY_SLOT,
|
|
699
|
-
EMPTY_SLOT,
|
|
700
|
-
];
|
|
701
|
-
},
|
|
702
|
-
decode: (subData) => {
|
|
703
|
-
const spoke = AbiCoder.decodeParameter('address', subData[0]);
|
|
704
|
-
const owner = AbiCoder.decodeParameter('address', subData[1]);
|
|
705
|
-
const ratioState = Number(AbiCoder.decodeParameter('uint8', subData[2]));
|
|
706
|
-
const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[3]));
|
|
707
|
-
return {
|
|
708
|
-
spoke, owner, ratioState, targetRatio,
|
|
709
|
-
};
|
|
710
|
-
},
|
|
711
|
-
};
|
|
630
|
+
export const aaveV4LiquidationProtectionSubData = aaveV4LeverageManagementSubData;
|
|
712
631
|
export const aaveV4LeverageManagementOnPriceSubData = {
|
|
713
632
|
encode: (spoke, owner, collAsset, collAssetId, debtAsset, debtAssetId, ratioState, targetRatio) => {
|
|
714
633
|
const spokeEncoded = AbiCoder.encodeParameter('address', spoke);
|
|
@@ -825,24 +744,14 @@ export const aaveV4CollateralSwitchSubData = {
|
|
|
825
744
|
| `----.| `--' | | | | | | | \ / / /_
|
|
826
745
|
\______| \______/ |__| |__| | _| \__/ |____|
|
|
827
746
|
*/
|
|
828
|
-
export const
|
|
829
|
-
encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
830
|
-
return [
|
|
831
|
-
new Dec(triggerRepayRatio).mul(1e16).toString(),
|
|
832
|
-
new Dec(triggerBoostRatio).mul(1e16).toString(),
|
|
833
|
-
new Dec(targetBoostRatio).mul(1e16).toString(),
|
|
834
|
-
new Dec(targetRepayRatio).mul(1e16).toString(),
|
|
835
|
-
// @ts-ignore // TODO
|
|
836
|
-
boostEnabled,
|
|
837
|
-
];
|
|
838
|
-
},
|
|
747
|
+
export const legacyCompoundV2LeverageManagementSubData = {
|
|
839
748
|
decode(subData) {
|
|
840
749
|
const weiRatio = AbiCoder.decodeParameter('uint256', subData[0]);
|
|
841
750
|
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
842
751
|
return { targetRatio };
|
|
843
752
|
},
|
|
844
753
|
};
|
|
845
|
-
export const
|
|
754
|
+
export const compoundV2LeverageManagementSubData = {
|
|
846
755
|
encode(targetRatio, ratioState) {
|
|
847
756
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
848
757
|
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
@@ -867,27 +776,7 @@ export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
|
|
|
867
776
|
| `----.| `--' | | | | | | | \ / ___) |
|
|
868
777
|
\______| \______/ |__| |__| | _| \__/ |____/
|
|
869
778
|
*/
|
|
870
|
-
|
|
871
|
-
// ! Double check before changing
|
|
872
|
-
export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
|
|
873
|
-
encode(market, baseToken, targetRatio, ratioState) {
|
|
874
|
-
const encodedMarket = AbiCoder.encodeParameter('address', market);
|
|
875
|
-
const encodedBaseToken = AbiCoder.encodeParameter('address', baseToken);
|
|
876
|
-
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
877
|
-
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
878
|
-
return [encodedMarket, encodedBaseToken, encodedRatioState, encodedTargetRatio];
|
|
879
|
-
},
|
|
880
|
-
decode(subData) {
|
|
881
|
-
const market = AbiCoder.decodeParameter('address', subData[0]);
|
|
882
|
-
const baseToken = AbiCoder.decodeParameter('address', subData[1]);
|
|
883
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[2]);
|
|
884
|
-
const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[3]));
|
|
885
|
-
return {
|
|
886
|
-
market, baseToken, targetRatio, ratioState,
|
|
887
|
-
};
|
|
888
|
-
},
|
|
889
|
-
};
|
|
890
|
-
export const compoundV3LiquidationProtectionSubDataWithoutSubProxy = {
|
|
779
|
+
export const compoundV3LeverageManagementSubData = {
|
|
891
780
|
encode(market, baseToken, targetRatio, ratioState) {
|
|
892
781
|
const encodedMarket = AbiCoder.encodeParameter('address', market);
|
|
893
782
|
const encodedBaseToken = AbiCoder.encodeParameter('address', baseToken);
|
|
@@ -905,6 +794,7 @@ export const compoundV3LiquidationProtectionSubDataWithoutSubProxy = {
|
|
|
905
794
|
};
|
|
906
795
|
},
|
|
907
796
|
};
|
|
797
|
+
export const compoundV3LiquidationProtectionSubData = compoundV3LeverageManagementSubData;
|
|
908
798
|
export const compoundV3LeverageManagementOnPriceSubData = {
|
|
909
799
|
encode(market, collToken, baseToken, targetRatio, ratioState, user) {
|
|
910
800
|
const marketEncoded = AbiCoder.encodeParameter('address', market);
|
|
@@ -990,17 +880,7 @@ export const exchangeDcaSubData = {
|
|
|
990
880
|
};
|
|
991
881
|
},
|
|
992
882
|
};
|
|
993
|
-
export const
|
|
994
|
-
encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
|
|
995
|
-
return [
|
|
996
|
-
fromToken,
|
|
997
|
-
toToken,
|
|
998
|
-
amount,
|
|
999
|
-
targetPrice,
|
|
1000
|
-
new Dec(goodUntil).toString(),
|
|
1001
|
-
new Dec(orderType).toString(),
|
|
1002
|
-
];
|
|
1003
|
-
},
|
|
883
|
+
export const legacyExchangeLimitOrderSubData = {
|
|
1004
884
|
decode: (subData, chainId) => {
|
|
1005
885
|
const fromToken = AbiCoder.decodeParameter('address', subData[0]).toString();
|
|
1006
886
|
const toToken = AbiCoder.decodeParameter('address', subData[1]).toString();
|
|
@@ -1008,7 +888,7 @@ export const exchangeLimitOrderSubData = {
|
|
|
1008
888
|
return { fromToken, toToken, amount };
|
|
1009
889
|
},
|
|
1010
890
|
};
|
|
1011
|
-
export const
|
|
891
|
+
export const exchangeLimitOrderSubData = {
|
|
1012
892
|
encode(fromToken, toToken, amount) {
|
|
1013
893
|
return [
|
|
1014
894
|
AbiCoder.encodeParameter('address', fromToken),
|
|
@@ -1031,30 +911,14 @@ export const exchangeLimitOrderSubDataWithoutSubProxy = {
|
|
|
1031
911
|
.----) | | | / _____ \ | |\ \----.| . \
|
|
1032
912
|
|_______/ | _| /__/ \__\ | _| `._____||__|\__\
|
|
1033
913
|
*/
|
|
1034
|
-
export const
|
|
914
|
+
export const legacySparkLeverageManagementSubData = {
|
|
1035
915
|
decode(subData) {
|
|
1036
916
|
const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
|
|
1037
917
|
const targetRatio = weiToRatioPercentage(ratioWei);
|
|
1038
918
|
return { targetRatio };
|
|
1039
919
|
},
|
|
1040
920
|
};
|
|
1041
|
-
|
|
1042
|
-
// ! Double check before changing
|
|
1043
|
-
export const sparkLeverageManagementSubDataWithoutSubProxy = {
|
|
1044
|
-
encode(targetRatio, ratioState) {
|
|
1045
|
-
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
1046
|
-
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
1047
|
-
const encodedUseDefaultMarket = AbiCoder.encodeParameter('bool', true);
|
|
1048
|
-
const encodedUseOnBehalf = AbiCoder.encodeParameter('bool', false);
|
|
1049
|
-
return [encodedTargetRatio, encodedRatioState, encodedUseDefaultMarket, encodedUseOnBehalf];
|
|
1050
|
-
},
|
|
1051
|
-
decode(subData) {
|
|
1052
|
-
const targetRatio = weiToRatioPercentage(AbiCoder.decodeParameter('uint256', subData[0]));
|
|
1053
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[1]);
|
|
1054
|
-
return { targetRatio, ratioState };
|
|
1055
|
-
},
|
|
1056
|
-
};
|
|
1057
|
-
export const sparkLiquidationProtectionSubData = {
|
|
921
|
+
export const sparkLeverageManagementSubData = {
|
|
1058
922
|
encode(targetRatio, ratioState) {
|
|
1059
923
|
const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
1060
924
|
const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
|
|
@@ -1068,6 +932,7 @@ export const sparkLiquidationProtectionSubData = {
|
|
|
1068
932
|
return { targetRatio, ratioState };
|
|
1069
933
|
},
|
|
1070
934
|
};
|
|
935
|
+
export const sparkLiquidationProtectionSubData = sparkLeverageManagementSubData;
|
|
1071
936
|
export const sparkCloseGenericSubData = {
|
|
1072
937
|
encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
|
|
1073
938
|
const encodedColl = AbiCoder.encodeParameter('address', collAsset);
|
|
@@ -1216,8 +1081,6 @@ export const crvUSDPaybackSubData = {
|
|
|
1216
1081
|
| | | | | `--' | | |\ \----.| | | | | | | `--' |
|
|
1217
1082
|
|__| |__| \______/ | _| `._____|| _| |__| |__| \______/
|
|
1218
1083
|
*/
|
|
1219
|
-
// ! Any change here will PROBABLY require a change in morphoBlueLiquidationProtectionSubData as well, since it is copy paste
|
|
1220
|
-
// ! Double check before changing
|
|
1221
1084
|
export const morphoBlueLeverageManagementSubData = {
|
|
1222
1085
|
encode: (loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user, isEOA) => {
|
|
1223
1086
|
const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
|
|
@@ -1251,39 +1114,7 @@ export const morphoBlueLeverageManagementSubData = {
|
|
|
1251
1114
|
};
|
|
1252
1115
|
},
|
|
1253
1116
|
};
|
|
1254
|
-
export const morphoBlueLiquidationProtectionSubData =
|
|
1255
|
-
encode: (loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user, isEOA) => {
|
|
1256
|
-
const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
|
|
1257
|
-
const collTokenEncoded = AbiCoder.encodeParameter('address', collToken);
|
|
1258
|
-
const oracleEncoded = AbiCoder.encodeParameter('address', oracle);
|
|
1259
|
-
const irmEncoded = AbiCoder.encodeParameter('address', irm);
|
|
1260
|
-
const lltvEncoded = AbiCoder.encodeParameter('uint256', lltv);
|
|
1261
|
-
const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
|
|
1262
|
-
const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
1263
|
-
const userEncoded = AbiCoder.encodeParameter('address', user);
|
|
1264
|
-
const isEOAEncoded = AbiCoder.encodeParameter('bool', isEOA);
|
|
1265
|
-
return [loanTokenEncoded, collTokenEncoded, oracleEncoded, irmEncoded, lltvEncoded, ratioStateEncoded, targetRatioEncoded, userEncoded, isEOAEncoded];
|
|
1266
|
-
},
|
|
1267
|
-
decode: (subData) => {
|
|
1268
|
-
const loanToken = AbiCoder.decodeParameter('address', subData[0]);
|
|
1269
|
-
const collToken = AbiCoder.decodeParameter('address', subData[1]);
|
|
1270
|
-
const oracle = AbiCoder.decodeParameter('address', subData[2]);
|
|
1271
|
-
const irm = AbiCoder.decodeParameter('address', subData[3]);
|
|
1272
|
-
const lltv = AbiCoder.decodeParameter('uint256', subData[4]);
|
|
1273
|
-
const weiRatio = AbiCoder.decodeParameter('uint256', subData[6]);
|
|
1274
|
-
const user = AbiCoder.decodeParameter('address', subData[7]);
|
|
1275
|
-
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
1276
|
-
return {
|
|
1277
|
-
loanToken,
|
|
1278
|
-
collToken,
|
|
1279
|
-
oracle,
|
|
1280
|
-
irm,
|
|
1281
|
-
lltv,
|
|
1282
|
-
user,
|
|
1283
|
-
targetRatio,
|
|
1284
|
-
};
|
|
1285
|
-
},
|
|
1286
|
-
};
|
|
1117
|
+
export const morphoBlueLiquidationProtectionSubData = morphoBlueLeverageManagementSubData;
|
|
1287
1118
|
export const morphoBlueLeverageManagementOnPriceSubData = {
|
|
1288
1119
|
encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
|
|
1289
1120
|
const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
|
|
@@ -1353,8 +1184,6 @@ _______ __ __ __ __ _______
|
|
|
1353
1184
|
| | | `----.| `--' | | | | '--' |
|
|
1354
1185
|
|__| |_______| \______/ |__| |_______/
|
|
1355
1186
|
*/
|
|
1356
|
-
// ! Any change here will PROBABLY require a change in fluidLeverageManagementSubData as well, since it is copy paste
|
|
1357
|
-
// ! Double check before changing
|
|
1358
1187
|
export const fluidLeverageManagementSubData = {
|
|
1359
1188
|
encode: (nftId, vault, ratioState, targetRatio) => {
|
|
1360
1189
|
const nftIdEncoded = AbiCoder.encodeParameter('uint256', nftId);
|
|
@@ -1388,35 +1217,4 @@ export const fluidLeverageManagementSubData = {
|
|
|
1388
1217
|
};
|
|
1389
1218
|
},
|
|
1390
1219
|
};
|
|
1391
|
-
export const fluidLiquidationProtectionSubData =
|
|
1392
|
-
encode: (nftId, vault, ratioState, targetRatio) => {
|
|
1393
|
-
const nftIdEncoded = AbiCoder.encodeParameter('uint256', nftId);
|
|
1394
|
-
const vaultEncoded = AbiCoder.encodeParameter('address', vault);
|
|
1395
|
-
const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
|
|
1396
|
-
const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
1397
|
-
const wrapEthEncoded = AbiCoder.encodeParameter('bool', true);
|
|
1398
|
-
const collActionType = CollActionType.WITHDRAW;
|
|
1399
|
-
const debtActionType = DebtActionType.PAYBACK;
|
|
1400
|
-
const collActionTypeEncoded = AbiCoder.encodeParameter('uint8', collActionType);
|
|
1401
|
-
const debtActionTypeEncoded = AbiCoder.encodeParameter('uint8', debtActionType);
|
|
1402
|
-
return [
|
|
1403
|
-
nftIdEncoded,
|
|
1404
|
-
vaultEncoded,
|
|
1405
|
-
ratioStateEncoded,
|
|
1406
|
-
targetRatioEncoded,
|
|
1407
|
-
wrapEthEncoded,
|
|
1408
|
-
collActionTypeEncoded,
|
|
1409
|
-
debtActionTypeEncoded,
|
|
1410
|
-
];
|
|
1411
|
-
},
|
|
1412
|
-
decode: (subData) => {
|
|
1413
|
-
const nftId = AbiCoder.decodeParameter('uint256', subData[0]);
|
|
1414
|
-
const vault = AbiCoder.decodeParameter('address', subData[1]);
|
|
1415
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[2]);
|
|
1416
|
-
const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
|
|
1417
|
-
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
1418
|
-
return {
|
|
1419
|
-
nftId, vault, ratioState, targetRatio,
|
|
1420
|
-
};
|
|
1421
|
-
},
|
|
1422
|
-
};
|
|
1220
|
+
export const fluidLiquidationProtectionSubData = fluidLeverageManagementSubData;
|