@defisaver/automation-sdk 3.3.15-liq-prot-3-dev → 3.3.16-dev-13082-morpho-eoa-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/constants/index.js +51 -111
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +2 -5
- package/cjs/services/strategiesService.js +13 -157
- package/cjs/services/strategySubService.d.ts +21 -18
- package/cjs/services/strategySubService.js +74 -78
- package/cjs/services/strategySubService.test.js +216 -3
- package/cjs/services/subDataService.d.ts +20 -70
- package/cjs/services/subDataService.js +79 -23
- package/cjs/services/subDataService.test.js +302 -17
- package/cjs/services/triggerService.test.js +60 -0
- package/cjs/services/utils.d.ts +1 -2
- package/cjs/services/utils.js +1 -14
- package/cjs/types/enums.d.ts +17 -33
- package/cjs/types/enums.js +14 -30
- package/esm/constants/index.js +51 -111
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -5
- package/esm/services/strategiesService.js +13 -157
- package/esm/services/strategySubService.d.ts +21 -18
- package/esm/services/strategySubService.js +73 -78
- package/esm/services/strategySubService.test.js +214 -4
- package/esm/services/subDataService.d.ts +20 -70
- package/esm/services/subDataService.js +77 -21
- package/esm/services/subDataService.test.js +300 -18
- package/esm/services/triggerService.test.js +61 -1
- package/esm/services/utils.d.ts +1 -2
- package/esm/services/utils.js +1 -13
- package/esm/types/enums.d.ts +17 -33
- package/esm/types/enums.js +14 -30
- package/package.json +1 -1
- package/src/constants/index.ts +52 -113
- package/src/index.ts +6 -22
- package/src/services/strategiesService.ts +13 -221
- package/src/services/strategySubService.test.ts +275 -3
- package/src/services/strategySubService.ts +121 -173
- package/src/services/subDataService.test.ts +324 -18
- package/src/services/subDataService.ts +106 -42
- package/src/services/triggerService.test.ts +69 -0
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +1 -15
- package/src/types/enums.ts +16 -30
|
@@ -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.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LeverageManagementSubDataWithoutSubProxy = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubDataWithoutSubProxy = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubDataWithoutSubProxy = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
|
|
7
|
+
exports.fluidLeverageManagementSubData = 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,6 +22,16 @@ 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
|
+
},
|
|
25
35
|
decode(subData) {
|
|
26
36
|
const ratioWei = web3_eth_abi_1.default.decodeParameter('uint128', subData[1]);
|
|
27
37
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
|
|
@@ -29,6 +39,10 @@ exports.morphoAaveV2LeverageManagementSubData = {
|
|
|
29
39
|
},
|
|
30
40
|
};
|
|
31
41
|
exports.cBondsRebondSubData = {
|
|
42
|
+
encode(bondId) {
|
|
43
|
+
const bondIdEncoded = web3_eth_abi_1.default.encodeParameter('uint256', bondId);
|
|
44
|
+
return [bondIdEncoded];
|
|
45
|
+
},
|
|
32
46
|
decode(subData) {
|
|
33
47
|
const bondId = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]).toString();
|
|
34
48
|
return { bondId };
|
|
@@ -110,7 +124,7 @@ exports.makerCloseSubData = {
|
|
|
110
124
|
};
|
|
111
125
|
},
|
|
112
126
|
};
|
|
113
|
-
exports.
|
|
127
|
+
exports.makerLeverageManagementSubData = {
|
|
114
128
|
decode: (subData) => {
|
|
115
129
|
const vaultId = +web3_eth_abi_1.default.decodeParameter('uint256', subData[0]).toString();
|
|
116
130
|
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
|
|
@@ -118,7 +132,7 @@ exports.legacyMakerLeverageManagementSubData = {
|
|
|
118
132
|
return { vaultId, targetRatio };
|
|
119
133
|
},
|
|
120
134
|
};
|
|
121
|
-
exports.
|
|
135
|
+
exports.makerLeverageManagementWithoutSubProxy = {
|
|
122
136
|
encode(vaultId, targetRatio, daiAddr) {
|
|
123
137
|
const encodedVaultId = web3_eth_abi_1.default.encodeParameter('uint256', vaultId);
|
|
124
138
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
@@ -132,7 +146,6 @@ exports.makerLeverageManagementSubData = {
|
|
|
132
146
|
return { vaultId, targetRatio, daiAddr };
|
|
133
147
|
},
|
|
134
148
|
};
|
|
135
|
-
exports.makerLiquidationProtectionSubData = exports.makerLeverageManagementSubData;
|
|
136
149
|
/**
|
|
137
150
|
__ __ ______ __ __ __ .___________.____ ____ ____ ____ __
|
|
138
151
|
| | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
|
|
@@ -148,14 +161,14 @@ exports.liquityRepayFromSavingsSubData = {
|
|
|
148
161
|
return { targetRatio };
|
|
149
162
|
},
|
|
150
163
|
};
|
|
151
|
-
exports.
|
|
164
|
+
exports.liquityLeverageManagementSubData = {
|
|
152
165
|
decode: (subData) => {
|
|
153
166
|
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
|
|
154
167
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
155
168
|
return { targetRatio };
|
|
156
169
|
},
|
|
157
170
|
};
|
|
158
|
-
exports.
|
|
171
|
+
exports.liquityLeverageManagementSubDataWithoutSubProxy = {
|
|
159
172
|
encode(targetRatio, ratioState) {
|
|
160
173
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
161
174
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
@@ -386,14 +399,24 @@ exports.liquityV2PaybackSubData = {
|
|
|
386
399
|
/ _____ \ / _____ \ \ / | |____ \ / / /_
|
|
387
400
|
/__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
|
|
388
401
|
*/
|
|
389
|
-
exports.
|
|
402
|
+
exports.aaveV2LeverageManagementSubData = {
|
|
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
|
+
},
|
|
390
413
|
decode(subData) {
|
|
391
414
|
const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
|
|
392
415
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
|
|
393
416
|
return { targetRatio };
|
|
394
417
|
},
|
|
395
418
|
};
|
|
396
|
-
exports.
|
|
419
|
+
exports.aaveV2LeverageManagementSubDataWithoutSubProxy = {
|
|
397
420
|
encode(market, targetRatio, ratioState) {
|
|
398
421
|
const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
399
422
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
@@ -420,14 +443,14 @@ exports.aaveV2LeverageManagementSubData = {
|
|
|
420
443
|
/ _____ \ / _____ \ \ / | |____ \ / ___) |
|
|
421
444
|
/__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
|
|
422
445
|
*/
|
|
423
|
-
exports.
|
|
446
|
+
exports.aaveV3LeverageManagementSubData = {
|
|
424
447
|
decode(subData) {
|
|
425
448
|
const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
|
|
426
449
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
|
|
427
450
|
return { targetRatio };
|
|
428
451
|
},
|
|
429
452
|
};
|
|
430
|
-
exports.
|
|
453
|
+
exports.aaveV3LeverageManagementSubDataWithoutSubProxy = {
|
|
431
454
|
encode(targetRatio, ratioState, market, user, isGeneric) {
|
|
432
455
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
433
456
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
@@ -446,7 +469,6 @@ exports.aaveV3LeverageManagementSubData = {
|
|
|
446
469
|
return { targetRatio, ratioState };
|
|
447
470
|
},
|
|
448
471
|
};
|
|
449
|
-
exports.aaveV3LiquidationProtectionSubData = exports.aaveV3LeverageManagementSubData;
|
|
450
472
|
exports.aaveV3LeverageManagementOnPriceGeneric = {
|
|
451
473
|
encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
|
|
452
474
|
const encodedColl = web3_eth_abi_1.default.encodeParameter('address', collAsset);
|
|
@@ -634,7 +656,6 @@ exports.aaveV4LeverageManagementSubData = {
|
|
|
634
656
|
};
|
|
635
657
|
},
|
|
636
658
|
};
|
|
637
|
-
exports.aaveV4LiquidationProtectionSubData = exports.aaveV4LeverageManagementSubData;
|
|
638
659
|
exports.aaveV4LeverageManagementOnPriceSubData = {
|
|
639
660
|
encode: (spoke, owner, collAsset, collAssetId, debtAsset, debtAssetId, ratioState, targetRatio) => {
|
|
640
661
|
const spokeEncoded = web3_eth_abi_1.default.encodeParameter('address', spoke);
|
|
@@ -751,14 +772,24 @@ exports.aaveV4CollateralSwitchSubData = {
|
|
|
751
772
|
| `----.| `--' | | | | | | | \ / / /_
|
|
752
773
|
\______| \______/ |__| |__| | _| \__/ |____|
|
|
753
774
|
*/
|
|
754
|
-
exports.
|
|
775
|
+
exports.compoundV2LeverageManagementSubData = {
|
|
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
|
+
},
|
|
755
786
|
decode(subData) {
|
|
756
787
|
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
|
|
757
788
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
758
789
|
return { targetRatio };
|
|
759
790
|
},
|
|
760
791
|
};
|
|
761
|
-
exports.
|
|
792
|
+
exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
|
|
762
793
|
encode(targetRatio, ratioState) {
|
|
763
794
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
764
795
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
@@ -784,6 +815,25 @@ exports.compoundV2LeverageManagementSubData = {
|
|
|
784
815
|
\______| \______/ |__| |__| | _| \__/ |____/
|
|
785
816
|
*/
|
|
786
817
|
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 = {
|
|
787
837
|
encode(market, baseToken, targetRatio, ratioState) {
|
|
788
838
|
const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
789
839
|
const encodedBaseToken = web3_eth_abi_1.default.encodeParameter('address', baseToken);
|
|
@@ -801,7 +851,6 @@ exports.compoundV3LeverageManagementSubData = {
|
|
|
801
851
|
};
|
|
802
852
|
},
|
|
803
853
|
};
|
|
804
|
-
exports.compoundV3LiquidationProtectionSubData = exports.compoundV3LeverageManagementSubData;
|
|
805
854
|
exports.compoundV3LeverageManagementOnPriceSubData = {
|
|
806
855
|
encode(market, collToken, baseToken, targetRatio, ratioState, user) {
|
|
807
856
|
const marketEncoded = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
@@ -887,7 +936,17 @@ exports.exchangeDcaSubData = {
|
|
|
887
936
|
};
|
|
888
937
|
},
|
|
889
938
|
};
|
|
890
|
-
exports.
|
|
939
|
+
exports.exchangeLimitOrderSubData = {
|
|
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
|
+
},
|
|
891
950
|
decode: (subData, chainId) => {
|
|
892
951
|
const fromToken = web3_eth_abi_1.default.decodeParameter('address', subData[0]).toString();
|
|
893
952
|
const toToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString();
|
|
@@ -895,7 +954,7 @@ exports.legacyExchangeLimitOrderSubData = {
|
|
|
895
954
|
return { fromToken, toToken, amount };
|
|
896
955
|
},
|
|
897
956
|
};
|
|
898
|
-
exports.
|
|
957
|
+
exports.exchangeLimitOrderSubDataWithoutSubProxy = {
|
|
899
958
|
encode(fromToken, toToken, amount) {
|
|
900
959
|
return [
|
|
901
960
|
web3_eth_abi_1.default.encodeParameter('address', fromToken),
|
|
@@ -918,14 +977,14 @@ exports.exchangeLimitOrderSubData = {
|
|
|
918
977
|
.----) | | | / _____ \ | |\ \----.| . \
|
|
919
978
|
|_______/ | _| /__/ \__\ | _| `._____||__|\__\
|
|
920
979
|
*/
|
|
921
|
-
exports.
|
|
980
|
+
exports.sparkLeverageManagementSubData = {
|
|
922
981
|
decode(subData) {
|
|
923
982
|
const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
|
|
924
983
|
const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
|
|
925
984
|
return { targetRatio };
|
|
926
985
|
},
|
|
927
986
|
};
|
|
928
|
-
exports.
|
|
987
|
+
exports.sparkLeverageManagementSubDataWithoutSubProxy = {
|
|
929
988
|
encode(targetRatio, ratioState) {
|
|
930
989
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
931
990
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
@@ -939,7 +998,6 @@ exports.sparkLeverageManagementSubData = {
|
|
|
939
998
|
return { targetRatio, ratioState };
|
|
940
999
|
},
|
|
941
1000
|
};
|
|
942
|
-
exports.sparkLiquidationProtectionSubData = exports.sparkLeverageManagementSubData;
|
|
943
1001
|
exports.sparkCloseGenericSubData = {
|
|
944
1002
|
encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
|
|
945
1003
|
const encodedColl = web3_eth_abi_1.default.encodeParameter('address', collAsset);
|
|
@@ -1121,7 +1179,6 @@ exports.morphoBlueLeverageManagementSubData = {
|
|
|
1121
1179
|
};
|
|
1122
1180
|
},
|
|
1123
1181
|
};
|
|
1124
|
-
exports.morphoBlueLiquidationProtectionSubData = exports.morphoBlueLeverageManagementSubData;
|
|
1125
1182
|
exports.morphoBlueLeverageManagementOnPriceSubData = {
|
|
1126
1183
|
encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
|
|
1127
1184
|
const loanTokenEncoded = web3_eth_abi_1.default.encodeParameter('address', loanToken);
|
|
@@ -1224,4 +1281,3 @@ exports.fluidLeverageManagementSubData = {
|
|
|
1224
1281
|
};
|
|
1225
1282
|
},
|
|
1226
1283
|
};
|
|
1227
|
-
exports.fluidLiquidationProtectionSubData = exports.fluidLeverageManagementSubData;
|