@defisaver/automation-sdk 2.0.3 → 2.0.5

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.
@@ -422,8 +422,8 @@ function parseSparkCloseOnPrice(position, parseData) {
422
422
  function parseLiquitySavingsLiqProtection(position, parseData) {
423
423
  const _position = (0, lodash_1.cloneDeep)(position);
424
424
  const { subStruct } = parseData.subscriptionEventData;
425
- const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
426
- const subData = subDataService.makerRepayFromSavingsSubData.decode(subStruct.subData);
425
+ const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
426
+ const subData = subDataService.liquityRepayFromSavingsSubData.decode(subStruct.subData);
427
427
  _position.strategyData.decoded.triggerData = triggerData;
428
428
  _position.strategyData.decoded.subData = subData;
429
429
  _position.specific = {
@@ -9,6 +9,11 @@ export declare const makerRepayFromSavingsSubData: {
9
9
  targetRatio: number;
10
10
  };
11
11
  };
12
+ export declare const liquityRepayFromSavingsSubData: {
13
+ decode(subData: string[]): {
14
+ targetRatio: number;
15
+ };
16
+ };
12
17
  export declare const makerCloseSubData: {
13
18
  encode(vaultId: number, closeToAssetAddr: EthereumAddress, chainId: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): string[];
14
19
  decode(subData: string[]): {
@@ -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.makerRepayFromSavingsSubData = void 0;
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;
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");
@@ -34,6 +34,13 @@ exports.makerRepayFromSavingsSubData = {
34
34
  };
35
35
  },
36
36
  };
37
+ exports.liquityRepayFromSavingsSubData = {
38
+ decode(subData) {
39
+ const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
40
+ const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
41
+ return { targetRatio };
42
+ },
43
+ };
37
44
  exports.makerCloseSubData = {
38
45
  encode(vaultId, closeToAssetAddr, chainId, daiAddr, mcdCdpManagerAddr) {
39
46
  const _daiAddr = daiAddr || (0, tokens_1.getAssetInfo)('DAI', chainId).address;
@@ -105,7 +105,7 @@ export declare const exchangeTimestampTrigger: {
105
105
  };
106
106
  };
107
107
  export declare const exchangeOffchainPriceTrigger: {
108
- encode(targetPrice: string, goodUntil: number, orderType: OrderType, fromTokenDecimals: number): string[];
108
+ encode(targetPrice: string, goodUntil: number, orderType: OrderType, fromTokenDecimals: number, toTokenDecimals: number): string[];
109
109
  decode(triggerData: string[], fromTokenDecimals: number, toTokenDecimals: number): {
110
110
  orderType: OrderType;
111
111
  targetPrice: string;
@@ -159,7 +159,7 @@ exports.aaveV2RatioTrigger = {
159
159
  return {
160
160
  owner: decodedData[0],
161
161
  market: decodedData[1],
162
- ratio: (0, utils_1.weiToRatioPercentage)(decodedData[1]),
162
+ ratio: (0, utils_1.weiToRatioPercentage)(decodedData[2]),
163
163
  ratioState: +decodedData[3],
164
164
  };
165
165
  },
@@ -183,7 +183,7 @@ exports.compoundV3RatioTrigger = {
183
183
  return {
184
184
  owner: decodedData[0],
185
185
  market: decodedData[1],
186
- ratio: (0, utils_1.weiToRatioPercentage)(decodedData[1]),
186
+ ratio: (0, utils_1.weiToRatioPercentage)(decodedData[2]),
187
187
  ratioState: +decodedData[3],
188
188
  };
189
189
  },
@@ -197,16 +197,16 @@ exports.exchangeTimestampTrigger = {
197
197
  decode(triggerData) {
198
198
  const decodedData = web3_eth_abi_1.default.decodeParameters(['uint256', 'uint256'], triggerData[0]);
199
199
  return {
200
- timestamp: decodedData[0],
201
- interval: decodedData[1],
200
+ timestamp: Number(decodedData[0]),
201
+ interval: Number(decodedData[1]),
202
202
  };
203
203
  },
204
204
  };
205
205
  exports.exchangeOffchainPriceTrigger = {
206
- encode(targetPrice, goodUntil, orderType, fromTokenDecimals) {
207
- const price = new decimal_js_1.default(targetPrice.toString()).mul(Math.pow(10, fromTokenDecimals)).floor().toString();
208
- const goodUntilWei = web3Utils.toWei(new decimal_js_1.default(goodUntil).toString(), 'ether');
209
- return [web3_eth_abi_1.default.encodeParameters(['uint256', 'uint256'], [price, goodUntilWei, orderType])];
206
+ encode(targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals) {
207
+ const decimals = new decimal_js_1.default(toTokenDecimals).plus(18).minus(fromTokenDecimals).toNumber();
208
+ const price = new decimal_js_1.default(targetPrice.toString()).mul(Math.pow(10, decimals)).floor().toString();
209
+ return [web3_eth_abi_1.default.encodeParameters(['uint256', 'uint256', 'uint8'], [price, goodUntil, orderType])];
210
210
  },
211
211
  decode(triggerData, fromTokenDecimals, toTokenDecimals) {
212
212
  const decodedData = web3_eth_abi_1.default.decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
@@ -214,7 +214,7 @@ exports.exchangeOffchainPriceTrigger = {
214
214
  const price = new decimal_js_1.default(decodedData[0]).div(new decimal_js_1.default(10).pow(decimals)).toDP(fromTokenDecimals).toString();
215
215
  return {
216
216
  targetPrice: price,
217
- goodUntil: decodedData[1],
217
+ goodUntil: +decodedData[1],
218
218
  orderType: +decodedData[2],
219
219
  };
220
220
  },
@@ -263,7 +263,7 @@ exports.curveUsdBorrowRateTrigger = {
263
263
  },
264
264
  decode(triggerData) {
265
265
  const decodedData = web3_eth_abi_1.default.decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
266
- const rateEth = (0, utils_1.weiToRatioPercentage)(decodedData[1]);
266
+ const rateEth = web3Utils.fromWei(decodedData[1], 'ether');
267
267
  // the form is x = (e**(rate*365*86400))-1 where x*100 is number in %
268
268
  const exponentRate = new decimal_js_1.default(rateEth).mul(365).mul(86400);
269
269
  const targetRate = new decimal_js_1.default(new decimal_js_1.default(2.718281828459).pow(exponentRate).minus(1)).mul(100)
@@ -0,0 +1 @@
1
+ export {};