@defisaver/automation-sdk 2.0.6 → 2.0.9
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/.env +4 -0
- package/.env.dev +5 -0
- package/.tests.sh +3 -0
- package/README.md +3 -1
- package/esm/automation/private/LegacyAutomation.js +9 -3
- package/esm/automation/private/LegacyProtocol.test.d.ts +1 -0
- package/esm/automation/private/LegacyProtocol.test.js +25 -0
- package/esm/automation/private/Protocol.test.d.ts +1 -0
- package/esm/automation/private/Protocol.test.js +25 -0
- package/esm/automation/private/StrategiesAutomation.d.ts +4 -0
- package/esm/automation/private/StrategiesAutomation.js +29 -4
- package/esm/constants/index.js +5 -0
- package/esm/services/contractService.d.ts +3 -2
- package/esm/services/contractService.js +7 -1
- package/esm/services/ethereumService.test.d.ts +1 -0
- package/esm/services/ethereumService.test.js +241 -0
- package/esm/services/strategiesService.js +14 -0
- package/esm/services/strategiesService.test.d.ts +1 -0
- package/esm/services/strategiesService.test.js +108 -0
- package/esm/services/strategySubService.d.ts +5 -3
- package/esm/services/strategySubService.js +10 -6
- package/esm/services/strategySubService.test.d.ts +1 -0
- package/esm/services/strategySubService.test.js +692 -0
- package/esm/services/subDataService.d.ts +8 -1
- package/esm/services/subDataService.js +23 -14
- package/esm/services/subDataService.test.d.ts +1 -0
- package/esm/services/subDataService.test.js +993 -0
- package/esm/services/triggerService.d.ts +7 -0
- package/esm/services/triggerService.js +14 -1
- package/esm/services/triggerService.test.js +119 -17
- package/esm/types/enums.d.ts +4 -2
- package/esm/types/enums.js +2 -0
- package/esm/types/index.d.ts +13 -4
- package/package.json +5 -5
- package/src/automation/private/LegacyAutomation.ts +14 -4
- package/src/automation/private/LegacyProtocol.test.ts +24 -0
- package/src/automation/private/Protocol.test.ts +24 -0
- package/src/automation/private/StrategiesAutomation.ts +40 -6
- package/src/constants/index.ts +5 -0
- package/src/services/contractService.ts +17 -4
- package/src/services/ethereumService.test.ts +256 -0
- package/src/services/ethereumService.ts +2 -1
- package/src/services/strategiesService.test.ts +103 -0
- package/src/services/strategiesService.ts +27 -3
- package/src/services/strategySubService.test.ts +835 -0
- package/src/services/strategySubService.ts +28 -15
- package/src/services/subDataService.test.ts +1063 -0
- package/src/services/subDataService.ts +29 -14
- package/src/services/triggerService.test.ts +131 -19
- package/src/services/triggerService.ts +14 -0
- package/src/services/utils.test.ts +1 -1
- package/src/types/enums.ts +2 -0
- package/src/types/index.ts +20 -5
- package/umd/index.js +919 -523
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { EthereumAddress } from '../types';
|
|
2
|
+
import type { OrderType } from '../types/enums';
|
|
2
3
|
import { ChainId } from '../types/enums';
|
|
3
4
|
export declare const makerRepayFromSavingsSubData: {
|
|
4
5
|
encode(vaultId: number, targetRatioPercentage: number, chainId: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): string[];
|
|
@@ -105,7 +106,7 @@ export declare const exchangeDcaSubData: {
|
|
|
105
106
|
};
|
|
106
107
|
};
|
|
107
108
|
export declare const exchangeLimitOrderSubData: {
|
|
108
|
-
encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType:
|
|
109
|
+
encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
|
|
109
110
|
decode: (subData: string[], chainId: ChainId) => {
|
|
110
111
|
fromToken: string;
|
|
111
112
|
toToken: string;
|
|
@@ -138,3 +139,9 @@ export declare const liquityDsrSupplySubData: {
|
|
|
138
139
|
targetRatio: number;
|
|
139
140
|
};
|
|
140
141
|
};
|
|
142
|
+
export declare const liquityDebtInFrontRepaySubData: {
|
|
143
|
+
encode: (targetRatioIncrease: number) => string[];
|
|
144
|
+
decode: (subData: string[]) => {
|
|
145
|
+
targetRatioIncrease: number;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
@@ -3,7 +3,7 @@ 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.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.sparkQuotePriceSubData = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubData = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.liquityRepayFromSavingsSubData = exports.makerRepayFromSavingsSubData = void 0;
|
|
6
|
+
exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.sparkQuotePriceSubData = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubData = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.liquityRepayFromSavingsSubData = exports.makerRepayFromSavingsSubData = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
9
9
|
const tokens_1 = require("@defisaver/tokens");
|
|
@@ -61,21 +61,13 @@ exports.makerCloseSubData = {
|
|
|
61
61
|
const vaultId = +web3_eth_abi_1.default.decodeParameter('uint256', subData[0]);
|
|
62
62
|
// if closing to collateral, asset addr will be 2nd param out of 4
|
|
63
63
|
// if closing to DAI, will return 2nd param out of 3, which will be DAI addr
|
|
64
|
-
const closeToAssetAddr = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString()
|
|
64
|
+
const closeToAssetAddr = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString();
|
|
65
65
|
return {
|
|
66
66
|
vaultId, closeToAssetAddr,
|
|
67
67
|
};
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
70
|
exports.makerLeverageManagementSubData = {
|
|
71
|
-
// encode: (vaultId:number, repayFrom, boostFrom, boostTo, repayTo, boostEnabled) => [
|
|
72
|
-
// vaultId,
|
|
73
|
-
// new Dec(repayFrom).mul(1e16).toString(),
|
|
74
|
-
// new Dec(boostFrom).mul(1e16).toString(),
|
|
75
|
-
// new Dec(boostTo).mul(1e16).toString(),
|
|
76
|
-
// new Dec(repayTo).mul(1e16).toString(),
|
|
77
|
-
// boostEnabled,
|
|
78
|
-
// ],
|
|
79
71
|
decode: (subData) => {
|
|
80
72
|
const vaultId = +web3_eth_abi_1.default.decodeParameter('uint256', subData[0]).toString();
|
|
81
73
|
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
|
|
@@ -96,16 +88,16 @@ exports.liquityCloseSubData = {
|
|
|
96
88
|
const _debtAddr = debtAddr || (0, tokens_1.getAssetInfo)('LUSD', chainId).address;
|
|
97
89
|
const collAddrEncoded = web3_eth_abi_1.default.encodeParameter('address', _collAddr);
|
|
98
90
|
const debtAddrEncoded = web3_eth_abi_1.default.encodeParameter('address', _debtAddr);
|
|
99
|
-
// if (compareAddresses(closeToAssetAddr,
|
|
91
|
+
// if (compareAddresses(closeToAssetAddr, _debtAddr)) { // Closing to debt strategy was not implemented, but it should be in the future
|
|
100
92
|
// // close to LUSD strategy
|
|
101
|
-
// return [
|
|
93
|
+
// return [debtAddrEncoded, collAddrEncoded];
|
|
102
94
|
// }
|
|
103
95
|
// close to collateral strategy
|
|
104
96
|
return [collAddrEncoded, debtAddrEncoded];
|
|
105
97
|
},
|
|
106
98
|
decode(subData) {
|
|
107
|
-
const closeToAssetAddr = web3_eth_abi_1.default.decodeParameter('address', subData[0]).toString()
|
|
108
|
-
const debtAddr = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString()
|
|
99
|
+
const closeToAssetAddr = web3_eth_abi_1.default.decodeParameter('address', subData[0]).toString();
|
|
100
|
+
const debtAddr = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString();
|
|
109
101
|
return { closeToAssetAddr, debtAddr };
|
|
110
102
|
},
|
|
111
103
|
};
|
|
@@ -331,3 +323,20 @@ exports.liquityDsrSupplySubData = {
|
|
|
331
323
|
return { targetRatio };
|
|
332
324
|
},
|
|
333
325
|
};
|
|
326
|
+
exports.liquityDebtInFrontRepaySubData = {
|
|
327
|
+
encode: (targetRatioIncrease) => {
|
|
328
|
+
const wethAddress = (0, tokens_1.getAssetInfo)('WETH').address;
|
|
329
|
+
const lusdAddress = (0, tokens_1.getAssetInfo)('LUSD').address;
|
|
330
|
+
const wethAddressEncoded = web3_eth_abi_1.default.encodeParameter('address', wethAddress);
|
|
331
|
+
const lusdAddressEncoded = web3_eth_abi_1.default.encodeParameter('address', lusdAddress);
|
|
332
|
+
const targetRatioIncreaseEncoded = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatioIncrease));
|
|
333
|
+
const withdrawIdEncoded = web3_eth_abi_1.default.encodeParameter('uint8', 1); // withdraw - 1
|
|
334
|
+
const paybackIdEncoded = web3_eth_abi_1.default.encodeParameter('uint8', 0); // payback - 0
|
|
335
|
+
return [wethAddressEncoded, lusdAddressEncoded, targetRatioIncreaseEncoded, withdrawIdEncoded, paybackIdEncoded];
|
|
336
|
+
},
|
|
337
|
+
decode: (subData) => {
|
|
338
|
+
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[2]);
|
|
339
|
+
const targetRatioIncrease = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
340
|
+
return { targetRatioIncrease };
|
|
341
|
+
},
|
|
342
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|