@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.
Files changed (54) hide show
  1. package/.env +4 -0
  2. package/.env.dev +5 -0
  3. package/.tests.sh +3 -0
  4. package/README.md +3 -1
  5. package/esm/automation/private/LegacyAutomation.js +9 -3
  6. package/esm/automation/private/LegacyProtocol.test.d.ts +1 -0
  7. package/esm/automation/private/LegacyProtocol.test.js +25 -0
  8. package/esm/automation/private/Protocol.test.d.ts +1 -0
  9. package/esm/automation/private/Protocol.test.js +25 -0
  10. package/esm/automation/private/StrategiesAutomation.d.ts +4 -0
  11. package/esm/automation/private/StrategiesAutomation.js +29 -4
  12. package/esm/constants/index.js +5 -0
  13. package/esm/services/contractService.d.ts +3 -2
  14. package/esm/services/contractService.js +7 -1
  15. package/esm/services/ethereumService.test.d.ts +1 -0
  16. package/esm/services/ethereumService.test.js +241 -0
  17. package/esm/services/strategiesService.js +14 -0
  18. package/esm/services/strategiesService.test.d.ts +1 -0
  19. package/esm/services/strategiesService.test.js +108 -0
  20. package/esm/services/strategySubService.d.ts +5 -3
  21. package/esm/services/strategySubService.js +10 -6
  22. package/esm/services/strategySubService.test.d.ts +1 -0
  23. package/esm/services/strategySubService.test.js +692 -0
  24. package/esm/services/subDataService.d.ts +8 -1
  25. package/esm/services/subDataService.js +23 -14
  26. package/esm/services/subDataService.test.d.ts +1 -0
  27. package/esm/services/subDataService.test.js +993 -0
  28. package/esm/services/triggerService.d.ts +7 -0
  29. package/esm/services/triggerService.js +14 -1
  30. package/esm/services/triggerService.test.js +119 -17
  31. package/esm/types/enums.d.ts +4 -2
  32. package/esm/types/enums.js +2 -0
  33. package/esm/types/index.d.ts +13 -4
  34. package/package.json +5 -5
  35. package/src/automation/private/LegacyAutomation.ts +14 -4
  36. package/src/automation/private/LegacyProtocol.test.ts +24 -0
  37. package/src/automation/private/Protocol.test.ts +24 -0
  38. package/src/automation/private/StrategiesAutomation.ts +40 -6
  39. package/src/constants/index.ts +5 -0
  40. package/src/services/contractService.ts +17 -4
  41. package/src/services/ethereumService.test.ts +256 -0
  42. package/src/services/ethereumService.ts +2 -1
  43. package/src/services/strategiesService.test.ts +103 -0
  44. package/src/services/strategiesService.ts +27 -3
  45. package/src/services/strategySubService.test.ts +835 -0
  46. package/src/services/strategySubService.ts +28 -15
  47. package/src/services/subDataService.test.ts +1063 -0
  48. package/src/services/subDataService.ts +29 -14
  49. package/src/services/triggerService.test.ts +131 -19
  50. package/src/services/triggerService.ts +14 -0
  51. package/src/services/utils.test.ts +1 -1
  52. package/src/types/enums.ts +2 -0
  53. package/src/types/index.ts +20 -5
  54. package/umd/index.js +919 -523
@@ -1,7 +1,8 @@
1
+ import type { OrderType } from '../types/enums';
1
2
  import { Bundles, ChainId, RatioState, Strategies } from '../types/enums';
2
3
  import type { EthereumAddress, StrategyOrBundleIds } from '../types';
3
4
  export declare const makerEncode: {
4
- repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[])[];
5
+ repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds)[];
5
6
  closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
6
7
  trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
7
8
  leverageManagement(vaultId: number, triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | number | boolean)[];
@@ -13,6 +14,7 @@ export declare const liquityEncode: {
13
14
  leverageManagement(triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | boolean)[];
14
15
  dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
15
16
  dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
17
+ debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
16
18
  };
17
19
  export declare const chickenBondsEncode: {
18
20
  rebond(bondId: number): string[];
@@ -56,8 +58,8 @@ export declare const morphoAaveV2Encode: {
56
58
  leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
57
59
  };
58
60
  export declare const exchangeEncode: {
59
- dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: number): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds)[];
60
- limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string, orderType: number): string[];
61
+ dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds)[];
62
+ limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
61
63
  };
62
64
  export declare const sparkEncode: {
63
65
  leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
@@ -30,6 +30,7 @@ exports.sparkEncode = exports.exchangeEncode = exports.morphoAaveV2Encode = expo
30
30
  const decimal_js_1 = __importDefault(require("decimal.js"));
31
31
  const tokens_1 = require("@defisaver/tokens");
32
32
  const enums_1 = require("../types/enums");
33
+ const constants_1 = require("../constants");
33
34
  const subDataService = __importStar(require("./subDataService"));
34
35
  const triggerService = __importStar(require("./triggerService"));
35
36
  const utils_1 = require("./utils");
@@ -120,6 +121,14 @@ exports.liquityEncode = {
120
121
  const isBundle = false;
121
122
  return [strategyOrBundleId, isBundle, triggerData, subData];
122
123
  },
124
+ debtInFrontRepay(proxyAddress, debtInFrontMin, targetRatioIncrease) {
125
+ (0, utils_1.requireAddress)(proxyAddress);
126
+ const subData = subDataService.liquityDebtInFrontRepaySubData.encode(targetRatioIncrease);
127
+ const triggerData = triggerService.liquityDebtInFrontWithLimitTrigger.encode(proxyAddress, debtInFrontMin);
128
+ const strategyOrBundleId = enums_1.Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY;
129
+ const isBundle = false;
130
+ return [strategyOrBundleId, isBundle, triggerData, subData];
131
+ },
123
132
  };
124
133
  exports.chickenBondsEncode = {
125
134
  rebond(bondId) {
@@ -180,12 +189,7 @@ exports.exchangeEncode = {
180
189
  (0, utils_1.requireAddresses)([fromToken, toToken]);
181
190
  const subData = subDataService.exchangeDcaSubData.encode(fromToken, toToken, amount, interval);
182
191
  const triggerData = triggerService.exchangeTimestampTrigger.encode(timestamp, interval);
183
- const selectedNetwork = network === 1
184
- ? 'MainnetIds'
185
- : network === 10
186
- ? 'OptimismIds'
187
- : 'ArbitrumIds';
188
- const strategyId = enums_1.Strategies[selectedNetwork].EXCHANGE_DCA;
192
+ const strategyId = constants_1.STRATEGY_IDS[network].EXCHANGE_DCA;
189
193
  return [strategyId, false, triggerData, subData];
190
194
  },
191
195
  limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
@@ -0,0 +1 @@
1
+ export {};