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