@defisaver/automation-sdk 2.0.5 → 2.0.8

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 (50) hide show
  1. package/.env.dev +5 -0
  2. package/.tests.sh +3 -0
  3. package/README.md +3 -1
  4. package/esm/automation/private/LegacyProtocol.test.d.ts +1 -0
  5. package/esm/automation/private/LegacyProtocol.test.js +25 -0
  6. package/esm/automation/private/Protocol.test.d.ts +1 -0
  7. package/esm/automation/private/Protocol.test.js +25 -0
  8. package/esm/automation/private/StrategiesAutomation.js +1 -1
  9. package/esm/constants/index.js +15 -0
  10. package/esm/services/contractService.d.ts +3 -2
  11. package/esm/services/contractService.js +7 -1
  12. package/esm/services/ethereumService.test.d.ts +1 -0
  13. package/esm/services/ethereumService.test.js +241 -0
  14. package/esm/services/strategiesService.js +40 -0
  15. package/esm/services/strategiesService.test.d.ts +1 -0
  16. package/esm/services/strategiesService.test.js +108 -0
  17. package/esm/services/strategySubService.d.ts +17 -3
  18. package/esm/services/strategySubService.js +17 -6
  19. package/esm/services/strategySubService.test.d.ts +1 -0
  20. package/esm/services/strategySubService.test.js +692 -0
  21. package/esm/services/subDataService.d.ts +8 -1
  22. package/esm/services/subDataService.js +23 -14
  23. package/esm/services/subDataService.test.d.ts +1 -0
  24. package/esm/services/subDataService.test.js +993 -0
  25. package/esm/services/triggerService.d.ts +17 -0
  26. package/esm/services/triggerService.js +42 -1
  27. package/esm/services/triggerService.test.js +119 -17
  28. package/esm/types/enums.d.ts +10 -2
  29. package/esm/types/enums.js +8 -0
  30. package/esm/types/index.d.ts +19 -2
  31. package/package.json +3 -3
  32. package/src/automation/private/LegacyProtocol.test.ts +24 -0
  33. package/src/automation/private/Protocol.test.ts +24 -0
  34. package/src/automation/private/StrategiesAutomation.ts +1 -1
  35. package/src/constants/index.ts +15 -0
  36. package/src/services/contractService.ts +17 -4
  37. package/src/services/ethereumService.test.ts +256 -0
  38. package/src/services/ethereumService.ts +2 -1
  39. package/src/services/strategiesService.test.ts +103 -0
  40. package/src/services/strategiesService.ts +66 -3
  41. package/src/services/strategySubService.test.ts +835 -0
  42. package/src/services/strategySubService.ts +50 -15
  43. package/src/services/subDataService.test.ts +1063 -0
  44. package/src/services/subDataService.ts +29 -14
  45. package/src/services/triggerService.test.ts +133 -20
  46. package/src/services/triggerService.ts +55 -0
  47. package/src/services/utils.test.ts +1 -1
  48. package/src/types/enums.ts +8 -0
  49. package/src/types/index.ts +27 -3
  50. package/umd/index.js +282 -115
package/umd/index.js CHANGED
@@ -173,6 +173,11 @@ var MAINNET_STRATEGIES_INFO = {
173
173
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.MainnetIds.LIQUITY_DSR_SUPPLY,
174
174
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.SavingsDsrSupply,
175
175
  protocol: PROTOCOLS.Liquity
176
+ },
177
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY]: {
178
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY,
179
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.DebtInFrontRepay,
180
+ protocol: PROTOCOLS.Liquity
176
181
  }
177
182
  };
178
183
  var OPTIMISM_STRATEGIES_INFO = {
@@ -283,11 +288,21 @@ var MAINNET_BUNDLES_INFO = {
283
288
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToDebt,
284
289
  protocol: PROTOCOLS.AaveV3
285
290
  },
291
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE]: {
292
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE,
293
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToDebtWithGasPrice,
294
+ protocol: PROTOCOLS.AaveV3
295
+ },
286
296
  [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
287
297
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL,
288
298
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToCollateral,
289
299
  protocol: PROTOCOLS.AaveV3
290
300
  },
301
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE]: {
302
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE,
303
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToCollateralWithGasPrice,
304
+ protocol: PROTOCOLS.AaveV3
305
+ },
291
306
  [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY]: {
292
307
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY,
293
308
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.Repay,
@@ -489,6 +504,7 @@ var Strategies;
489
504
  MainnetIds[MainnetIds["EXCHANGE_LIMIT_ORDER"] = 51] = "EXCHANGE_LIMIT_ORDER";
490
505
  MainnetIds[MainnetIds["LIQUITY_DSR_PAYBACK"] = 69] = "LIQUITY_DSR_PAYBACK";
491
506
  MainnetIds[MainnetIds["LIQUITY_DSR_SUPPLY"] = 70] = "LIQUITY_DSR_SUPPLY";
507
+ MainnetIds[MainnetIds["LIQUITY_DEBT_IN_FRONT_REPAY"] = 75] = "LIQUITY_DEBT_IN_FRONT_REPAY";
492
508
  })(MainnetIds || (MainnetIds = {}));
493
509
  _Strategies.MainnetIds = MainnetIds;
494
510
  var OptimismIds;
@@ -513,7 +529,9 @@ var Strategies;
513
529
  Identifiers["Boost"] = "boost";
514
530
  Identifiers["EoaBoost"] = "eoa-boost";
515
531
  Identifiers["CloseToDebt"] = "close-to-debt";
532
+ Identifiers["CloseToDebtWithGasPrice"] = "close-to-debt-with-gas-price";
516
533
  Identifiers["CloseToCollateral"] = "close-to-collateral";
534
+ Identifiers["CloseToCollateralWithGasPrice"] = "close-to-collateral-with-gas-price";
517
535
  Identifiers["CloseOnPriceToDebt"] = "close-on-price-to-debt";
518
536
  Identifiers["CloseOnPriceToColl"] = "close-on-price-to-collateral";
519
537
  Identifiers["TrailingStopToColl"] = "trailing-stop-to-collateral";
@@ -522,12 +540,15 @@ var Strategies;
522
540
  Identifiers["BondProtection"] = "bond-protection";
523
541
  Identifiers["Dca"] = "dca";
524
542
  Identifiers["LimitOrder"] = "limit-order";
543
+ Identifiers["DebtInFrontRepay"] = "debt-in-front-repay";
525
544
  })(Identifiers || (Identifiers = {}));
526
545
  _Strategies.Identifiers = Identifiers;
527
546
  var IdOverrides;
528
547
  (function (IdOverrides) {
529
548
  IdOverrides["TakeProfit"] = "take-profit";
530
549
  IdOverrides["StopLoss"] = "stop-loss";
550
+ IdOverrides["TakeProfitWithGasPrice"] = "take-profit-with-gas-price";
551
+ IdOverrides["StopLossWithGasPrice"] = "stop-loss-with-gas-price";
531
552
  IdOverrides["TrailingStop"] = "trailing-stop";
532
553
  IdOverrides["LeverageManagement"] = "leverage-management";
533
554
  IdOverrides["EoaLeverageManagement"] = "leverage-management-eoa";
@@ -551,7 +572,9 @@ var Bundles;
551
572
  MainnetIds[MainnetIds["MAKER_REPAY"] = 10] = "MAKER_REPAY";
552
573
  MainnetIds[MainnetIds["MAKER_BOOST"] = 11] = "MAKER_BOOST";
553
574
  MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_DEBT"] = 12] = "AAVE_V3_CLOSE_TO_DEBT";
575
+ MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE"] = 24] = "AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE";
554
576
  MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_COLLATERAL"] = 13] = "AAVE_V3_CLOSE_TO_COLLATERAL";
577
+ MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE"] = 25] = "AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE";
555
578
  MainnetIds[MainnetIds["MORPHO_AAVE_V2_REPAY"] = 14] = "MORPHO_AAVE_V2_REPAY";
556
579
  MainnetIds[MainnetIds["MORPHO_AAVE_V2_BOOST"] = 15] = "MORPHO_AAVE_V2_BOOST";
557
580
  MainnetIds[MainnetIds["LIQUITY_REPAY"] = 16] = "LIQUITY_REPAY";
@@ -801,6 +824,7 @@ __webpack_require__.r(__webpack_exports__);
801
824
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
802
825
  /* harmony export */ getAbiItem: () => (/* binding */ getAbiItem),
803
826
  /* harmony export */ makeAuthCheckerContract: () => (/* binding */ makeAuthCheckerContract),
827
+ /* harmony export */ makeErc20Contract: () => (/* binding */ makeErc20Contract),
804
828
  /* harmony export */ makeLegacySubscriptionContract: () => (/* binding */ makeLegacySubscriptionContract),
805
829
  /* harmony export */ makeSubStorageContract: () => (/* binding */ makeSubStorageContract),
806
830
  /* harmony export */ makeUniMulticallContract: () => (/* binding */ makeUniMulticallContract)
@@ -808,6 +832,11 @@ __webpack_require__.r(__webpack_exports__);
808
832
  /* harmony import */ var _abis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
809
833
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17);
810
834
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
835
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
836
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
837
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
838
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
839
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
811
840
 
812
841
 
813
842
 
@@ -853,6 +882,15 @@ function makeAuthCheckerContract(web3, chainId) {
853
882
  function makeLegacySubscriptionContract(web3, contractJson) {
854
883
  return makeContract(web3, contractJson, _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum);
855
884
  }
885
+ function makeErc20Contract(web3, tokenAddress, chainId) {
886
+ return makeContract(web3, _objectSpread(_objectSpread({}, _abis__WEBPACK_IMPORTED_MODULE_0__.Erc20Json), {}, {
887
+ networks: {
888
+ [chainId]: {
889
+ address: tokenAddress
890
+ }
891
+ }
892
+ }), chainId);
893
+ }
856
894
 
857
895
  /***/ }),
858
896
  /* 17 */
@@ -1434,7 +1472,7 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_5__["def
1434
1472
  var subscriptions = [];
1435
1473
  if (subscriptionEvents) {
1436
1474
  // @ts-ignore
1437
- var strategiesSubs = yield _this5.getStrategiesSubs(subscriptionEvents.map(e => e.returnValues.subId), _options.fromBlock);
1475
+ var strategiesSubs = yield _this5.getStrategiesSubs(subscriptionEvents.map(e => e.returnValues.subId), _options.toBlock);
1438
1476
  subscriptions = yield Promise.all(strategiesSubs.map( /*#__PURE__*/function () {
1439
1477
  var _ref = _asyncToGenerator(function* (sub, index) {
1440
1478
  var latestUpdate = subscriptionEvents[index].returnValues;
@@ -1780,6 +1818,32 @@ function parseAaveV3CloseOnPrice(position, parseData) {
1780
1818
  _position.strategy.strategyId = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isRatioStateOver)(ratioState) ? _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.TakeProfit : _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.StopLoss;
1781
1819
  return _position;
1782
1820
  }
1821
+ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
1822
+ var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
1823
+ var {
1824
+ subStruct
1825
+ } = parseData.subscriptionEventData;
1826
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_6__.aaveV3QuotePriceWithMaximumGasPriceTrigger.decode(subStruct.triggerData);
1827
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_5__.aaveV3QuotePriceSubData.decode(subStruct.subData);
1828
+ _position.strategyData.decoded.triggerData = triggerData;
1829
+ _position.strategyData.decoded.subData = subData;
1830
+ _position.specific = {
1831
+ collAsset: subData.collAsset,
1832
+ collAssetId: subData.collAssetId,
1833
+ debtAsset: subData.debtAsset,
1834
+ debtAssetId: subData.debtAssetId,
1835
+ baseToken: triggerData.baseTokenAddress,
1836
+ quoteToken: triggerData.quoteTokenAddress,
1837
+ price: triggerData.price,
1838
+ maximumGasPrice: triggerData.maximumGasPrice,
1839
+ ratioState: triggerData.ratioState
1840
+ };
1841
+ var {
1842
+ ratioState
1843
+ } = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getRatioStateInfoForAaveCloseStrategy)(_position.specific.ratioState, (0,_utils__WEBPACK_IMPORTED_MODULE_4__.wethToEthByAddress)(_position.specific.collAsset, parseData.chainId), (0,_utils__WEBPACK_IMPORTED_MODULE_4__.wethToEthByAddress)(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
1844
+ _position.strategy.strategyId = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.isRatioStateOver)(ratioState) ? _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.TakeProfitWithGasPrice : _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.StopLossWithGasPrice;
1845
+ return _position;
1846
+ }
1783
1847
  function parseCompoundV2LeverageManagement(position, parseData) {
1784
1848
  var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
1785
1849
  var {
@@ -2002,6 +2066,21 @@ function parseLiquitySavingsLiqProtection(position, parseData) {
2002
2066
  };
2003
2067
  return _position;
2004
2068
  }
2069
+ function parseDebtInFrontRepay(position, parseData) {
2070
+ var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
2071
+ var {
2072
+ subStruct
2073
+ } = parseData.subscriptionEventData;
2074
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_6__.liquityDebtInFrontWithLimitTrigger.decode(subStruct.triggerData);
2075
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_5__.liquityDebtInFrontRepaySubData.decode(subStruct.subData);
2076
+ _position.strategyData.decoded.triggerData = triggerData;
2077
+ _position.strategyData.decoded.subData = subData;
2078
+ _position.specific = {
2079
+ debtInFrontMin: triggerData.debtInFrontMin,
2080
+ targetRepayRatioIncrease: subData.targetRatioIncrease
2081
+ };
2082
+ return _position;
2083
+ }
2005
2084
  var parsingMethodsMapping = {
2006
2085
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
2007
2086
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
@@ -2019,7 +2098,8 @@ var parsingMethodsMapping = {
2019
2098
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseLiquityLeverageManagement,
2020
2099
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost]: parseLiquityLeverageManagement,
2021
2100
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.SavingsDsrPayback]: parseLiquitySavingsLiqProtection,
2022
- [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.SavingsDsrSupply]: parseLiquitySavingsLiqProtection
2101
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.SavingsDsrSupply]: parseLiquitySavingsLiqProtection,
2102
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.DebtInFrontRepay]: parseDebtInFrontRepay
2023
2103
  },
2024
2104
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
2025
2105
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
@@ -2029,7 +2109,9 @@ var parsingMethodsMapping = {
2029
2109
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseAaveV3LeverageManagement,
2030
2110
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost]: parseAaveV3LeverageManagement,
2031
2111
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToDebt]: parseAaveV3CloseOnPrice,
2032
- [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice
2112
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToDebtWithGasPrice]: parseAaveV3CloseOnPriceWithMaximumGasPrice,
2113
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice,
2114
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateralWithGasPrice]: parseAaveV3CloseOnPriceWithMaximumGasPrice
2033
2115
  },
2034
2116
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
2035
2117
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -19331,6 +19413,7 @@ __webpack_require__.r(__webpack_exports__);
19331
19413
  /* harmony export */ exchangeDcaSubData: () => (/* binding */ exchangeDcaSubData),
19332
19414
  /* harmony export */ exchangeLimitOrderSubData: () => (/* binding */ exchangeLimitOrderSubData),
19333
19415
  /* harmony export */ liquityCloseSubData: () => (/* binding */ liquityCloseSubData),
19416
+ /* harmony export */ liquityDebtInFrontRepaySubData: () => (/* binding */ liquityDebtInFrontRepaySubData),
19334
19417
  /* harmony export */ liquityDsrPaybackSubData: () => (/* binding */ liquityDsrPaybackSubData),
19335
19418
  /* harmony export */ liquityDsrSupplySubData: () => (/* binding */ liquityDsrSupplySubData),
19336
19419
  /* harmony export */ liquityLeverageManagementSubData: () => (/* binding */ liquityLeverageManagementSubData),
@@ -19415,7 +19498,7 @@ var makerCloseSubData = {
19415
19498
  var vaultId = +web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[0]);
19416
19499
  // if closing to collateral, asset addr will be 2nd param out of 4
19417
19500
  // if closing to DAI, will return 2nd param out of 3, which will be DAI addr
19418
- var closeToAssetAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[1]).toString().toLowerCase();
19501
+ var closeToAssetAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[1]).toString();
19419
19502
  return {
19420
19503
  vaultId,
19421
19504
  closeToAssetAddr
@@ -19423,14 +19506,6 @@ var makerCloseSubData = {
19423
19506
  }
19424
19507
  };
19425
19508
  var makerLeverageManagementSubData = {
19426
- // encode: (vaultId:number, repayFrom, boostFrom, boostTo, repayTo, boostEnabled) => [
19427
- // vaultId,
19428
- // new Dec(repayFrom).mul(1e16).toString(),
19429
- // new Dec(boostFrom).mul(1e16).toString(),
19430
- // new Dec(boostTo).mul(1e16).toString(),
19431
- // new Dec(repayTo).mul(1e16).toString(),
19432
- // boostEnabled,
19433
- // ],
19434
19509
  decode: subData => {
19435
19510
  var vaultId = +web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[0]).toString();
19436
19511
  var weiRatio = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[1]);
@@ -19459,16 +19534,16 @@ var liquityCloseSubData = {
19459
19534
  var _debtAddr = debtAddr || (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_2__.getAssetInfo)('LUSD', chainId).address;
19460
19535
  var collAddrEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', _collAddr);
19461
19536
  var debtAddrEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', _debtAddr);
19462
- // if (compareAddresses(closeToAssetAddr, daiAddr)) { // TODO - Uhm, wth?
19537
+ // if (compareAddresses(closeToAssetAddr, _debtAddr)) { // Closing to debt strategy was not implemented, but it should be in the future
19463
19538
  // // close to LUSD strategy
19464
- // return [daiAddrEncoded, mcdManagerAddrEncoded];
19539
+ // return [debtAddrEncoded, collAddrEncoded];
19465
19540
  // }
19466
19541
  // close to collateral strategy
19467
19542
  return [collAddrEncoded, debtAddrEncoded];
19468
19543
  },
19469
19544
  decode(subData) {
19470
- var closeToAssetAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[0]).toString().toLowerCase();
19471
- var debtAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[1]).toString().toLowerCase();
19545
+ var closeToAssetAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[0]).toString();
19546
+ var debtAddr = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[1]).toString();
19472
19547
  return {
19473
19548
  closeToAssetAddr,
19474
19549
  debtAddr
@@ -19704,6 +19779,26 @@ var liquityDsrSupplySubData = {
19704
19779
  };
19705
19780
  }
19706
19781
  };
19782
+ var liquityDebtInFrontRepaySubData = {
19783
+ encode: targetRatioIncrease => {
19784
+ var wethAddress = (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_2__.getAssetInfo)('WETH').address;
19785
+ var lusdAddress = (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_2__.getAssetInfo)('LUSD').address;
19786
+ var wethAddressEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', wethAddress);
19787
+ var lusdAddressEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', lusdAddress);
19788
+ var targetRatioIncreaseEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint256', (0,_utils__WEBPACK_IMPORTED_MODULE_6__.ratioPercentageToWei)(targetRatioIncrease));
19789
+ var withdrawIdEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint8', 1); // withdraw - 1
19790
+ var paybackIdEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint8', 0); // payback - 0
19791
+
19792
+ return [wethAddressEncoded, lusdAddressEncoded, targetRatioIncreaseEncoded, withdrawIdEncoded, paybackIdEncoded];
19793
+ },
19794
+ decode: subData => {
19795
+ var weiRatio = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[2]);
19796
+ var targetRatioIncrease = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.weiToRatioPercentage)(weiRatio);
19797
+ return {
19798
+ targetRatioIncrease
19799
+ };
19800
+ }
19801
+ };
19707
19802
 
19708
19803
  /***/ }),
19709
19804
  /* 31 */
@@ -32328,6 +32423,7 @@ __webpack_require__.r(__webpack_exports__);
32328
32423
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32329
32424
  /* harmony export */ aaveV2RatioTrigger: () => (/* binding */ aaveV2RatioTrigger),
32330
32425
  /* harmony export */ aaveV3QuotePriceTrigger: () => (/* binding */ aaveV3QuotePriceTrigger),
32426
+ /* harmony export */ aaveV3QuotePriceWithMaximumGasPriceTrigger: () => (/* binding */ aaveV3QuotePriceWithMaximumGasPriceTrigger),
32331
32427
  /* harmony export */ aaveV3RatioTrigger: () => (/* binding */ aaveV3RatioTrigger),
32332
32428
  /* harmony export */ cBondsRebondTrigger: () => (/* binding */ cBondsRebondTrigger),
32333
32429
  /* harmony export */ chainlinkPriceTrigger: () => (/* binding */ chainlinkPriceTrigger),
@@ -32338,6 +32434,7 @@ __webpack_require__.r(__webpack_exports__);
32338
32434
  /* harmony export */ exchangeOffchainPriceTrigger: () => (/* binding */ exchangeOffchainPriceTrigger),
32339
32435
  /* harmony export */ exchangeTimestampTrigger: () => (/* binding */ exchangeTimestampTrigger),
32340
32436
  /* harmony export */ liquityDebtInFrontTrigger: () => (/* binding */ liquityDebtInFrontTrigger),
32437
+ /* harmony export */ liquityDebtInFrontWithLimitTrigger: () => (/* binding */ liquityDebtInFrontWithLimitTrigger),
32341
32438
  /* harmony export */ liquityRatioTrigger: () => (/* binding */ liquityRatioTrigger),
32342
32439
  /* harmony export */ makerRatioTrigger: () => (/* binding */ makerRatioTrigger),
32343
32440
  /* harmony export */ morphoAaveV2RatioTrigger: () => (/* binding */ morphoAaveV2RatioTrigger),
@@ -32347,11 +32444,14 @@ __webpack_require__.r(__webpack_exports__);
32347
32444
  /* harmony export */ });
32348
32445
  /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
32349
32446
  /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(decimal_js__WEBPACK_IMPORTED_MODULE_0__);
32350
- /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
32351
- /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(web3_eth_abi__WEBPACK_IMPORTED_MODULE_1__);
32352
- /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18);
32353
- /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(web3_utils__WEBPACK_IMPORTED_MODULE_2__);
32354
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17);
32447
+ /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
32448
+ /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__);
32449
+ /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
32450
+ /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(web3_eth_abi__WEBPACK_IMPORTED_MODULE_2__);
32451
+ /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18);
32452
+ /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(web3_utils__WEBPACK_IMPORTED_MODULE_3__);
32453
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17);
32454
+
32355
32455
 
32356
32456
 
32357
32457
 
@@ -32359,10 +32459,10 @@ __webpack_require__.r(__webpack_exports__);
32359
32459
  var chainlinkPriceTrigger = {
32360
32460
  encode(tokenAddr, price, state) {
32361
32461
  var _price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(price).mul(1e8).floor().toString();
32362
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint8'], [tokenAddr, _price, state])];
32462
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [tokenAddr, _price, state])];
32363
32463
  },
32364
32464
  decode(triggerData) {
32365
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32465
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32366
32466
  return {
32367
32467
  tokenAddr: decodedData[0],
32368
32468
  price: new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e8).toString(),
@@ -32373,10 +32473,10 @@ var chainlinkPriceTrigger = {
32373
32473
  var trailingStopTrigger = {
32374
32474
  encode(tokenAddr, percentage, roundId) {
32375
32475
  var _percentage = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(percentage).mul(1e8).toString();
32376
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint80'], [tokenAddr, _percentage, roundId])];
32476
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint80'], [tokenAddr, _percentage, roundId])];
32377
32477
  },
32378
32478
  decode(triggerData) {
32379
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint80'], triggerData[0]);
32479
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint80'], triggerData[0]);
32380
32480
  var triggerPercentage = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e8).toNumber();
32381
32481
  return {
32382
32482
  tokenAddr: decodedData[0],
@@ -32387,29 +32487,29 @@ var trailingStopTrigger = {
32387
32487
  };
32388
32488
  var makerRatioTrigger = {
32389
32489
  encode(vaultId, ratioPercentage, ratioState) {
32390
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32391
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256', 'uint256', 'uint8'], [vaultId, ratioWei, ratioState])];
32490
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32491
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256', 'uint8'], [vaultId, ratioWei, ratioState])];
32392
32492
  },
32393
32493
  decode(triggerData) {
32394
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32494
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32395
32495
  return {
32396
32496
  vaultId: +decodedData[0],
32397
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32497
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32398
32498
  ratioState: +decodedData[2]
32399
32499
  };
32400
32500
  }
32401
32501
  };
32402
32502
  var aaveV3RatioTrigger = {
32403
32503
  encode(owner, market, ratioPercentage, ratioState) {
32404
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32405
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32504
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32505
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32406
32506
  },
32407
32507
  decode(triggerData) {
32408
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32508
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32409
32509
  return {
32410
32510
  owner: decodedData[0],
32411
32511
  market: decodedData[1],
32412
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32512
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32413
32513
  ratioState: Number(decodedData[3])
32414
32514
  };
32415
32515
  }
@@ -32417,10 +32517,10 @@ var aaveV3RatioTrigger = {
32417
32517
  var morphoAaveV2RatioTrigger = {
32418
32518
  encode(owner, ratioPercentage, ratioState) {
32419
32519
  var ratioWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(ratioPercentage).mul(1e16).toString();
32420
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint128', 'uint8'], [owner, ratioWei, ratioState])];
32520
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint128', 'uint8'], [owner, ratioWei, ratioState])];
32421
32521
  },
32422
32522
  decode(triggerData) {
32423
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint128', 'uint8'], triggerData[0]);
32523
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint128', 'uint8'], triggerData[0]);
32424
32524
  return {
32425
32525
  owner: decodedData[0],
32426
32526
  ratio: new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e16).toNumber(),
@@ -32432,10 +32532,10 @@ var aaveV3QuotePriceTrigger = {
32432
32532
  encode(baseTokenAddress, quoteTokenAddress, price, ratioState) {
32433
32533
  // Price is always in 8 decimals
32434
32534
  var _price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(price.toString()).mul(10 ** 8).floor().toString();
32435
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32535
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32436
32536
  },
32437
32537
  decode(triggerData) {
32438
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32538
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32439
32539
  // Price is always in 8 decimals
32440
32540
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[2]).div(10 ** 8).toDP(8).toString();
32441
32541
  return {
@@ -32446,67 +32546,104 @@ var aaveV3QuotePriceTrigger = {
32446
32546
  };
32447
32547
  }
32448
32548
  };
32549
+ var aaveV3QuotePriceWithMaximumGasPriceTrigger = {
32550
+ encode(baseTokenAddress, quoteTokenAddress, price, ratioState, maximumGasPriceInGwei) {
32551
+ // Price is always in 8 decimals
32552
+ var _price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(price.toString()).mul(10 ** 8).floor().toString();
32553
+ var _maximumGasPrice = maximumGasPriceInGwei ? new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(maximumGasPriceInGwei.toString()).mul(10 ** 9).floor().toString() // We convert it to WEI
32554
+ : _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.MAXUINT; // If undefined than set to MAXUINT
32555
+
32556
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState]), web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256'], [_maximumGasPrice])];
32557
+ },
32558
+ decode(triggerData) {
32559
+ var decodedPriceTrigger = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32560
+ var decodedMaximumGasPriceTrigger = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256'], triggerData[1]);
32561
+ // Price is always in 8 decimals
32562
+ var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedPriceTrigger[2]).div(10 ** 8).toDP(8).toString();
32563
+ var maximumGasPrice = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedMaximumGasPriceTrigger[0]).div(10 ** 9).toDP(9).toString();
32564
+ return {
32565
+ baseTokenAddress: decodedPriceTrigger[0],
32566
+ quoteTokenAddress: decodedPriceTrigger[1],
32567
+ price,
32568
+ ratioState: +decodedPriceTrigger[3],
32569
+ maximumGasPrice
32570
+ };
32571
+ }
32572
+ };
32449
32573
  var compoundV2RatioTrigger = {
32450
32574
  encode(owner, ratioPercentage, ratioState) {
32451
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32452
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32575
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32576
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32453
32577
  },
32454
32578
  decode(triggerData) {
32455
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32579
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32456
32580
  return {
32457
32581
  owner: decodedData[0],
32458
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32582
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32459
32583
  ratioState: +decodedData[2]
32460
32584
  };
32461
32585
  }
32462
32586
  };
32463
32587
  var liquityRatioTrigger = {
32464
32588
  encode(owner, ratioPercentage, ratioState) {
32465
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32466
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32589
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32590
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32467
32591
  },
32468
32592
  decode(triggerData) {
32469
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32593
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32470
32594
  return {
32471
32595
  owner: decodedData[0],
32472
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32596
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32473
32597
  ratioState: +decodedData[2]
32474
32598
  };
32475
32599
  }
32476
32600
  };
32477
32601
  var liquityDebtInFrontTrigger = {
32478
32602
  encode(owner, debtInFrontMin) {
32479
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256'], [owner, debtInFrontMin])];
32603
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256'], [owner, debtInFrontMin])];
32480
32604
  },
32481
32605
  decode(triggerData) {
32482
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256'], triggerData[0]);
32606
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256'], triggerData[0]);
32483
32607
  return {
32484
32608
  owner: decodedData[0],
32485
32609
  debtInFrontMin: decodedData[1]
32486
32610
  };
32487
32611
  }
32488
32612
  };
32613
+ var liquityDebtInFrontWithLimitTrigger = {
32614
+ encode(owner, debtInFrontMin) {
32615
+ var debtInFrontMinWei = web3_utils__WEBPACK_IMPORTED_MODULE_3__.toWei(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(debtInFrontMin).toString(), 'ether');
32616
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256'], [owner, debtInFrontMinWei])];
32617
+ },
32618
+ decode(triggerData) {
32619
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256'], triggerData[0]);
32620
+ return {
32621
+ owner: decodedData[0],
32622
+ debtInFrontMin: new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(10 ** 18).toString()
32623
+ };
32624
+ }
32625
+ };
32489
32626
  var aaveV2RatioTrigger = {
32490
32627
  encode(owner, market, ratioPercentage, ratioState) {
32491
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32492
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32628
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32629
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32493
32630
  },
32494
32631
  decode(triggerData) {
32495
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32632
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32496
32633
  return {
32497
32634
  owner: decodedData[0],
32498
32635
  market: decodedData[1],
32499
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32636
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32500
32637
  ratioState: +decodedData[3]
32501
32638
  };
32502
32639
  }
32503
32640
  };
32504
32641
  var cBondsRebondTrigger = {
32505
32642
  encode(bondId) {
32506
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256'], [bondId])];
32643
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256'], [bondId])];
32507
32644
  },
32508
32645
  decode(triggerData) {
32509
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256'], triggerData[0]);
32646
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256'], triggerData[0]);
32510
32647
  return {
32511
32648
  bondId: decodedData[0]
32512
32649
  };
@@ -32514,15 +32651,15 @@ var cBondsRebondTrigger = {
32514
32651
  };
32515
32652
  var compoundV3RatioTrigger = {
32516
32653
  encode(owner, market, ratioPercentage, ratioState) {
32517
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32518
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32654
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32655
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32519
32656
  },
32520
32657
  decode(triggerData) {
32521
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32658
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32522
32659
  return {
32523
32660
  owner: decodedData[0],
32524
32661
  market: decodedData[1],
32525
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32662
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32526
32663
  ratioState: +decodedData[3]
32527
32664
  };
32528
32665
  }
@@ -32531,10 +32668,10 @@ var exchangeTimestampTrigger = {
32531
32668
  encode(timestamp, interval) {
32532
32669
  var timestampWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(timestamp).toString();
32533
32670
  var intervalWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(interval).toString();
32534
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256', 'uint256'], [timestampWei, intervalWei])];
32671
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256'], [timestampWei, intervalWei])];
32535
32672
  },
32536
32673
  decode(triggerData) {
32537
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256'], triggerData[0]);
32674
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256'], triggerData[0]);
32538
32675
  return {
32539
32676
  timestamp: Number(decodedData[0]),
32540
32677
  interval: Number(decodedData[1])
@@ -32545,10 +32682,10 @@ var exchangeOffchainPriceTrigger = {
32545
32682
  encode(targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals) {
32546
32683
  var decimals = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(toTokenDecimals).plus(18).minus(fromTokenDecimals).toNumber();
32547
32684
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetPrice.toString()).mul(10 ** decimals).floor().toString();
32548
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256', 'uint256', 'uint8'], [price, goodUntil, orderType])];
32685
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256', 'uint8'], [price, goodUntil, orderType])];
32549
32686
  },
32550
32687
  decode(triggerData, fromTokenDecimals, toTokenDecimals) {
32551
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32688
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32552
32689
  var decimals = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(toTokenDecimals).plus(18).minus(fromTokenDecimals).toString();
32553
32690
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[0]).div(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(10).pow(decimals)).toDP(fromTokenDecimals).toString();
32554
32691
  return {
@@ -32560,15 +32697,15 @@ var exchangeOffchainPriceTrigger = {
32560
32697
  };
32561
32698
  var sparkRatioTrigger = {
32562
32699
  encode(owner, market, ratioPercentage, ratioState) {
32563
- var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.ratioPercentageToWei)(ratioPercentage);
32564
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32700
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32701
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32565
32702
  },
32566
32703
  decode(triggerData) {
32567
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32704
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32568
32705
  return {
32569
32706
  owner: decodedData[0],
32570
32707
  market: decodedData[1],
32571
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32708
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32572
32709
  ratioState: Number(decodedData[3])
32573
32710
  };
32574
32711
  }
@@ -32577,10 +32714,10 @@ var sparkQuotePriceTrigger = {
32577
32714
  encode(baseTokenAddress, quoteTokenAddress, price, ratioState) {
32578
32715
  // Price is always in 8 decimals
32579
32716
  var _price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(price.toString()).mul(10 ** 8).floor().toString();
32580
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32717
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32581
32718
  },
32582
32719
  decode(triggerData) {
32583
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32720
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32584
32721
  // Price is always in 8 decimals
32585
32722
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[2]).div(10 ** 8).toDP(8).toString();
32586
32723
  return {
@@ -32598,11 +32735,11 @@ var curveUsdBorrowRateTrigger = {
32598
32735
  var rate = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetRate).div(100)).plus(1)).ln().div(365).div(86400).toString();
32599
32736
  var rateWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(rate).mul(10 ** 18).floor().toString(); // 18 decimals
32600
32737
 
32601
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint8'], [market, rateWei, rateState])];
32738
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [market, rateWei, rateState])];
32602
32739
  },
32603
32740
  decode(triggerData) {
32604
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32605
- var rateEth = web3_utils__WEBPACK_IMPORTED_MODULE_2__.fromWei(decodedData[1], 'ether');
32741
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32742
+ var rateEth = web3_utils__WEBPACK_IMPORTED_MODULE_3__.fromWei(decodedData[1], 'ether');
32606
32743
 
32607
32744
  // the form is x = (e**(rate*365*86400))-1 where x*100 is number in %
32608
32745
  var exponentRate = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(rateEth).mul(365).mul(86400);
@@ -32618,10 +32755,10 @@ var curveUsdSoftLiquidationTrigger = {
32618
32755
  encode(market, owner, percentage) {
32619
32756
  // 100% = 1e18 => 1% = 1e16
32620
32757
  var _percentage = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(percentage).mul(10 ** 16).floor().toString();
32621
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'address', 'uint256'], [market, owner, _percentage])];
32758
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256'], [market, owner, _percentage])];
32622
32759
  },
32623
32760
  decode(triggerData) {
32624
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256'], triggerData[0]);
32761
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256'], triggerData[0]);
32625
32762
  return {
32626
32763
  market: decodedData[0],
32627
32764
  owner: decodedData[1],
@@ -32705,9 +32842,11 @@ __webpack_require__.r(__webpack_exports__);
32705
32842
  /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
32706
32843
  /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__);
32707
32844
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
32708
- /* harmony import */ var _subDataService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(30);
32709
- /* harmony import */ var _triggerService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(313);
32710
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(17);
32845
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4);
32846
+ /* harmony import */ var _subDataService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30);
32847
+ /* harmony import */ var _triggerService__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(313);
32848
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17);
32849
+
32711
32850
 
32712
32851
 
32713
32852
 
@@ -32720,18 +32859,18 @@ var makerEncode = {
32720
32859
  var chainId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum;
32721
32860
  var daiAddr = arguments.length > 6 ? arguments[6] : undefined;
32722
32861
  var mcdCdpManagerAddr = arguments.length > 7 ? arguments[7] : undefined;
32723
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.makerRepayFromSavingsSubData.encode(vaultId, targetRepayRatio, chainId, daiAddr, mcdCdpManagerAddr);
32724
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.makerRatioTrigger.encode(vaultId, triggerRepayRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32862
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.makerRepayFromSavingsSubData.encode(vaultId, targetRepayRatio, chainId, daiAddr, mcdCdpManagerAddr);
32863
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.makerRatioTrigger.encode(vaultId, triggerRepayRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32725
32864
  return [bundleId, isBundle, triggerData, subData];
32726
32865
  },
32727
32866
  closeOnPrice(vaultId, ratioState, price, closeToAssetAddr, chainlinkCollAddress) {
32728
32867
  var chainId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum;
32729
32868
  var daiAddr = arguments.length > 6 ? arguments[6] : undefined;
32730
32869
  var mcdCdpManagerAddr = arguments.length > 7 ? arguments[7] : undefined;
32731
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32732
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.makerCloseSubData.encode(vaultId, closeToAssetAddr, chainId, daiAddr, mcdCdpManagerAddr);
32733
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.chainlinkPriceTrigger.encode(chainlinkCollAddress, price, ratioState);
32734
- var strategyOrBundleId = (0,_utils__WEBPACK_IMPORTED_MODULE_5__.compareAddresses)(closeToAssetAddr, (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfo)('DAI', chainId).address) ? _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI : _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL;
32870
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32871
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.makerCloseSubData.encode(vaultId, closeToAssetAddr, chainId, daiAddr, mcdCdpManagerAddr);
32872
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.chainlinkPriceTrigger.encode(chainlinkCollAddress, price, ratioState);
32873
+ var strategyOrBundleId = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.compareAddresses)(closeToAssetAddr, (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfo)('DAI', chainId).address) ? _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI : _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL;
32735
32874
  var isBundle = false;
32736
32875
  return [strategyOrBundleId, isBundle, triggerData, subData];
32737
32876
  },
@@ -32739,10 +32878,10 @@ var makerEncode = {
32739
32878
  var chainId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum;
32740
32879
  var daiAddr = arguments.length > 6 ? arguments[6] : undefined;
32741
32880
  var mcdCdpManagerAddr = arguments.length > 7 ? arguments[7] : undefined;
32742
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32743
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.makerCloseSubData.encode(vaultId, closeToAssetAddr, chainId, daiAddr, mcdCdpManagerAddr);
32744
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.trailingStopTrigger.encode(chainlinkCollAddress, triggerPercentage, roundId);
32745
- var strategyOrBundleId = (0,_utils__WEBPACK_IMPORTED_MODULE_5__.compareAddresses)(closeToAssetAddr, (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfo)('DAI', chainId).address) ? _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI : _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL;
32881
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32882
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.makerCloseSubData.encode(vaultId, closeToAssetAddr, chainId, daiAddr, mcdCdpManagerAddr);
32883
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.trailingStopTrigger.encode(chainlinkCollAddress, triggerPercentage, roundId);
32884
+ var strategyOrBundleId = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.compareAddresses)(closeToAssetAddr, (0,_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.getAssetInfo)('DAI', chainId).address) ? _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI : _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL;
32746
32885
  var isBundle = false;
32747
32886
  return [strategyOrBundleId, isBundle, triggerData, subData];
32748
32887
  },
@@ -32755,9 +32894,9 @@ var liquityEncode = {
32755
32894
  var chainId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum;
32756
32895
  var collAddr = arguments.length > 5 ? arguments[5] : undefined;
32757
32896
  var debtAddr = arguments.length > 6 ? arguments[6] : undefined;
32758
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32759
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.liquityCloseSubData.encode(closeToAssetAddr, chainId, collAddr, debtAddr);
32760
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.chainlinkPriceTrigger.encode(chainlinkCollAddress, price, priceOverOrUnder);
32897
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32898
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityCloseSubData.encode(closeToAssetAddr, chainId, collAddr, debtAddr);
32899
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.chainlinkPriceTrigger.encode(chainlinkCollAddress, price, priceOverOrUnder);
32761
32900
  var strategyOrBundleId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL;
32762
32901
  var isBundle = false;
32763
32902
  return [strategyOrBundleId, isBundle, triggerData, subData];
@@ -32766,18 +32905,18 @@ var liquityEncode = {
32766
32905
  var chainId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.ChainId.Ethereum;
32767
32906
  var collAddr = arguments.length > 5 ? arguments[5] : undefined;
32768
32907
  var debtAddr = arguments.length > 6 ? arguments[6] : undefined;
32769
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32770
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.liquityCloseSubData.encode(closeToAssetAddr, chainId, collAddr, debtAddr);
32771
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.trailingStopTrigger.encode(chainlinkCollAddress, triggerPercentage, roundId);
32908
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddresses)([closeToAssetAddr, chainlinkCollAddress]);
32909
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityCloseSubData.encode(closeToAssetAddr, chainId, collAddr, debtAddr);
32910
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.trailingStopTrigger.encode(chainlinkCollAddress, triggerPercentage, roundId);
32772
32911
  var strategyOrBundleId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.LIQUITY_TRAILING_STOP_LOSS_TO_COLL;
32773
32912
  var isBundle = false;
32774
32913
  return [strategyOrBundleId, isBundle, triggerData, subData];
32775
32914
  },
32776
32915
  paybackFromChickenBondStrategySub(proxyAddress, ratio, sourceId, sourceType) {
32777
32916
  var ratioState = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER;
32778
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddress)(proxyAddress);
32779
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.liquityPaybackUsingChickenBondSubData.encode(sourceId, sourceType);
32780
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.liquityRatioTrigger.encode(proxyAddress, ratio, ratioState);
32917
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddress)(proxyAddress);
32918
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityPaybackUsingChickenBondSubData.encode(sourceId, sourceType);
32919
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.liquityRatioTrigger.encode(proxyAddress, ratio, ratioState);
32781
32920
  var strategyId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Bundles.MainnetIds.LIQUITY_PAYBACK_USING_CHICKEN_BOND;
32782
32921
  var isBundle = true;
32783
32922
  return [strategyId, isBundle, triggerData, subData];
@@ -32786,30 +32925,38 @@ var liquityEncode = {
32786
32925
  return [new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(triggerRepayRatio).mul(1e16).toString(), new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(triggerBoostRatio).mul(1e16).toString(), new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetBoostRatio).mul(1e16).toString(), new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetRepayRatio).mul(1e16).toString(), boostEnabled];
32787
32926
  },
32788
32927
  dsrPayback(proxyAddress, triggerRatio, targetRatio) {
32789
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddress)(proxyAddress);
32790
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.liquityDsrPaybackSubData.encode(targetRatio);
32791
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.liquityRatioTrigger.encode(proxyAddress, triggerRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32928
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddress)(proxyAddress);
32929
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityDsrPaybackSubData.encode(targetRatio);
32930
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.liquityRatioTrigger.encode(proxyAddress, triggerRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32792
32931
  var strategyOrBundleId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.LIQUITY_DSR_PAYBACK;
32793
32932
  var isBundle = false;
32794
32933
  return [strategyOrBundleId, isBundle, triggerData, subData];
32795
32934
  },
32796
32935
  dsrSupply(proxyAddress, triggerRatio, targetRatio) {
32797
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddress)(proxyAddress);
32798
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.liquityDsrSupplySubData.encode(targetRatio);
32799
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.liquityRatioTrigger.encode(proxyAddress, triggerRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32936
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddress)(proxyAddress);
32937
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityDsrSupplySubData.encode(targetRatio);
32938
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.liquityRatioTrigger.encode(proxyAddress, triggerRatio, _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.UNDER);
32800
32939
  var strategyOrBundleId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.LIQUITY_DSR_SUPPLY;
32801
32940
  var isBundle = false;
32802
32941
  return [strategyOrBundleId, isBundle, triggerData, subData];
32942
+ },
32943
+ debtInFrontRepay(proxyAddress, debtInFrontMin, targetRatioIncrease) {
32944
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddress)(proxyAddress);
32945
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.liquityDebtInFrontRepaySubData.encode(targetRatioIncrease);
32946
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.liquityDebtInFrontWithLimitTrigger.encode(proxyAddress, debtInFrontMin);
32947
+ var strategyOrBundleId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY;
32948
+ var isBundle = false;
32949
+ return [strategyOrBundleId, isBundle, triggerData, subData];
32803
32950
  }
32804
32951
  };
32805
32952
  var chickenBondsEncode = {
32806
32953
  rebond(bondId) {
32807
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.cBondsRebondSubData.encode(bondId);
32954
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.cBondsRebondSubData.encode(bondId);
32808
32955
  }
32809
32956
  };
32810
32957
  var aaveV2Encode = {
32811
32958
  leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
32812
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.aaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
32959
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.aaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
32813
32960
  }
32814
32961
  };
32815
32962
  var aaveV3Encode = {
@@ -32832,43 +32979,63 @@ var aaveV3Encode = {
32832
32979
  debtAsset,
32833
32980
  debtAssetId
32834
32981
  } = subData;
32835
- var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_3__.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
32982
+ var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_4__.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
32983
+ var {
32984
+ baseTokenAddress,
32985
+ quoteTokenAddress,
32986
+ price,
32987
+ ratioState
32988
+ } = triggerData;
32989
+ var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_5__.aaveV3QuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState);
32990
+ return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
32991
+ },
32992
+ closeToAssetWithMaximumGasPrice(strategyOrBundleId) {
32993
+ var isBundle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
32994
+ var triggerData = arguments.length > 2 ? arguments[2] : undefined;
32995
+ var subData = arguments.length > 3 ? arguments[3] : undefined;
32996
+ var {
32997
+ collAsset,
32998
+ collAssetId,
32999
+ debtAsset,
33000
+ debtAssetId
33001
+ } = subData;
33002
+ var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_4__.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
32836
33003
  var {
32837
33004
  baseTokenAddress,
32838
33005
  quoteTokenAddress,
32839
33006
  price,
33007
+ maximumGasPrice,
32840
33008
  ratioState
32841
33009
  } = triggerData;
32842
- var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_4__.aaveV3QuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState);
33010
+ var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_5__.aaveV3QuotePriceWithMaximumGasPriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState, maximumGasPrice);
32843
33011
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
32844
33012
  }
32845
33013
  };
32846
33014
  var compoundV2Encode = {
32847
33015
  leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
32848
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.compoundV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
33016
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.compoundV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
32849
33017
  }
32850
33018
  };
32851
33019
  var compoundV3Encode = {
32852
33020
  leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
32853
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.compoundV3LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
33021
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.compoundV3LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
32854
33022
  }
32855
33023
  };
32856
33024
  var morphoAaveV2Encode = {
32857
33025
  leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
32858
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
33026
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
32859
33027
  }
32860
33028
  };
32861
33029
  var exchangeEncode = {
32862
33030
  dca(fromToken, toToken, amount, timestamp, interval, network) {
32863
- (0,_utils__WEBPACK_IMPORTED_MODULE_5__.requireAddresses)([fromToken, toToken]);
32864
- var subData = _subDataService__WEBPACK_IMPORTED_MODULE_3__.exchangeDcaSubData.encode(fromToken, toToken, amount, interval);
32865
- var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_4__.exchangeTimestampTrigger.encode(timestamp, interval);
32866
- var selectedNetwork = network === 1 ? 'MainnetIds' : network === 10 ? 'OptimismIds' : 'ArbitrumIds';
32867
- var strategyId = _types_enums__WEBPACK_IMPORTED_MODULE_2__.Strategies[selectedNetwork].EXCHANGE_DCA;
33031
+ (0,_utils__WEBPACK_IMPORTED_MODULE_6__.requireAddresses)([fromToken, toToken]);
33032
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.exchangeDcaSubData.encode(fromToken, toToken, amount, interval);
33033
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.exchangeTimestampTrigger.encode(timestamp, interval);
33034
+ var strategyId = _constants__WEBPACK_IMPORTED_MODULE_3__.STRATEGY_IDS[network].EXCHANGE_DCA;
32868
33035
  return [strategyId, false, triggerData, subData];
32869
33036
  },
32870
33037
  limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
32871
- return _subDataService__WEBPACK_IMPORTED_MODULE_3__.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
33038
+ return _subDataService__WEBPACK_IMPORTED_MODULE_4__.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
32872
33039
  }
32873
33040
  };
32874
33041
  var sparkEncode = {
@@ -32891,14 +33058,14 @@ var sparkEncode = {
32891
33058
  debtAsset,
32892
33059
  debtAssetId
32893
33060
  } = subData;
32894
- var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_3__.sparkQuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
33061
+ var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_4__.sparkQuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
32895
33062
  var {
32896
33063
  baseTokenAddress,
32897
33064
  quoteTokenAddress,
32898
33065
  price,
32899
33066
  ratioState
32900
33067
  } = triggerData;
32901
- var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_4__.sparkQuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState);
33068
+ var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_5__.sparkQuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState);
32902
33069
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
32903
33070
  }
32904
33071
  };