@defisaver/automation-sdk 2.0.4 → 2.0.6

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/umd/index.js CHANGED
@@ -283,11 +283,21 @@ var MAINNET_BUNDLES_INFO = {
283
283
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToDebt,
284
284
  protocol: PROTOCOLS.AaveV3
285
285
  },
286
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE]: {
287
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE,
288
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToDebtWithGasPrice,
289
+ protocol: PROTOCOLS.AaveV3
290
+ },
286
291
  [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
287
292
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL,
288
293
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToCollateral,
289
294
  protocol: PROTOCOLS.AaveV3
290
295
  },
296
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE]: {
297
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE,
298
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.CloseToCollateralWithGasPrice,
299
+ protocol: PROTOCOLS.AaveV3
300
+ },
291
301
  [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY]: {
292
302
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY,
293
303
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.Repay,
@@ -513,7 +523,9 @@ var Strategies;
513
523
  Identifiers["Boost"] = "boost";
514
524
  Identifiers["EoaBoost"] = "eoa-boost";
515
525
  Identifiers["CloseToDebt"] = "close-to-debt";
526
+ Identifiers["CloseToDebtWithGasPrice"] = "close-to-debt-with-gas-price";
516
527
  Identifiers["CloseToCollateral"] = "close-to-collateral";
528
+ Identifiers["CloseToCollateralWithGasPrice"] = "close-to-collateral-with-gas-price";
517
529
  Identifiers["CloseOnPriceToDebt"] = "close-on-price-to-debt";
518
530
  Identifiers["CloseOnPriceToColl"] = "close-on-price-to-collateral";
519
531
  Identifiers["TrailingStopToColl"] = "trailing-stop-to-collateral";
@@ -528,6 +540,8 @@ var Strategies;
528
540
  (function (IdOverrides) {
529
541
  IdOverrides["TakeProfit"] = "take-profit";
530
542
  IdOverrides["StopLoss"] = "stop-loss";
543
+ IdOverrides["TakeProfitWithGasPrice"] = "take-profit-with-gas-price";
544
+ IdOverrides["StopLossWithGasPrice"] = "stop-loss-with-gas-price";
531
545
  IdOverrides["TrailingStop"] = "trailing-stop";
532
546
  IdOverrides["LeverageManagement"] = "leverage-management";
533
547
  IdOverrides["EoaLeverageManagement"] = "leverage-management-eoa";
@@ -551,7 +565,9 @@ var Bundles;
551
565
  MainnetIds[MainnetIds["MAKER_REPAY"] = 10] = "MAKER_REPAY";
552
566
  MainnetIds[MainnetIds["MAKER_BOOST"] = 11] = "MAKER_BOOST";
553
567
  MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_DEBT"] = 12] = "AAVE_V3_CLOSE_TO_DEBT";
568
+ MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE"] = 24] = "AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE";
554
569
  MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_COLLATERAL"] = 13] = "AAVE_V3_CLOSE_TO_COLLATERAL";
570
+ MainnetIds[MainnetIds["AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE"] = 25] = "AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE";
555
571
  MainnetIds[MainnetIds["MORPHO_AAVE_V2_REPAY"] = 14] = "MORPHO_AAVE_V2_REPAY";
556
572
  MainnetIds[MainnetIds["MORPHO_AAVE_V2_BOOST"] = 15] = "MORPHO_AAVE_V2_BOOST";
557
573
  MainnetIds[MainnetIds["LIQUITY_REPAY"] = 16] = "LIQUITY_REPAY";
@@ -1006,8 +1022,8 @@ __webpack_require__.r(__webpack_exports__);
1006
1022
  /* harmony import */ var _services_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17);
1007
1023
  /* harmony import */ var _Automation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23);
1008
1024
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5);
1009
- 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; }
1010
- 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; }
1025
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1026
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1011
1027
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
1012
1028
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
1013
1029
  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; }
@@ -1142,8 +1158,8 @@ __webpack_require__.r(__webpack_exports__);
1142
1158
  /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(web3_eth_abi__WEBPACK_IMPORTED_MODULE_0__);
1143
1159
  /* harmony import */ var _contractService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
1144
1160
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17);
1145
- 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; }
1146
- 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; }
1161
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1162
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1147
1163
  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; }
1148
1164
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
1149
1165
  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); }
@@ -1313,8 +1329,8 @@ __webpack_require__.r(__webpack_exports__);
1313
1329
  /* harmony export */ });
1314
1330
  /* harmony import */ var _private_StrategiesAutomation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
1315
1331
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
1316
- 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; }
1317
- 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; }
1332
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1333
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1318
1334
  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; }
1319
1335
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
1320
1336
  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); }
@@ -1344,8 +1360,8 @@ __webpack_require__.r(__webpack_exports__);
1344
1360
  /* harmony import */ var _services_ethereumService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
1345
1361
  /* harmony import */ var _services_strategiesService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28);
1346
1362
  /* harmony import */ var _Automation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(23);
1347
- 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; }
1348
- 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; }
1363
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1364
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1349
1365
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
1350
1366
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
1351
1367
  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; }
@@ -1434,7 +1450,7 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_5__["def
1434
1450
  var subscriptions = [];
1435
1451
  if (subscriptionEvents) {
1436
1452
  // @ts-ignore
1437
- var strategiesSubs = yield _this5.getStrategiesSubs(subscriptionEvents.map(e => e.returnValues.subId), _options.fromBlock);
1453
+ var strategiesSubs = yield _this5.getStrategiesSubs(subscriptionEvents.map(e => e.returnValues.subId), _options.toBlock);
1438
1454
  subscriptions = yield Promise.all(strategiesSubs.map( /*#__PURE__*/function () {
1439
1455
  var _ref = _asyncToGenerator(function* (sub, index) {
1440
1456
  var latestUpdate = subscriptionEvents[index].returnValues;
@@ -1445,7 +1461,7 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_5__["def
1445
1461
  subId: latestUpdate.subId
1446
1462
  }
1447
1463
  }));
1448
- latestUpdate = _objectSpread(_objectSpread({}, latestUpdate), updates === null || updates === void 0 ? void 0 : (_updates = updates[updates.length - 1]) === null || _updates === void 0 ? void 0 : _updates.returnValues);
1464
+ latestUpdate = _objectSpread(_objectSpread({}, latestUpdate), updates === null || updates === void 0 || (_updates = updates[updates.length - 1]) === null || _updates === void 0 ? void 0 : _updates.returnValues);
1449
1465
  }
1450
1466
  return _this5.getParsedSubscriptions({
1451
1467
  chainId: _this5.chainId,
@@ -1526,8 +1542,8 @@ __webpack_require__.r(__webpack_exports__);
1526
1542
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17);
1527
1543
  /* harmony import */ var _subDataService__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(30);
1528
1544
  /* harmony import */ var _triggerService__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(313);
1529
- 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; }
1530
- 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; }
1545
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1546
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1531
1547
  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; }
1532
1548
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
1533
1549
  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); }
@@ -1780,6 +1796,32 @@ function parseAaveV3CloseOnPrice(position, parseData) {
1780
1796
  _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
1797
  return _position;
1782
1798
  }
1799
+ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
1800
+ var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
1801
+ var {
1802
+ subStruct
1803
+ } = parseData.subscriptionEventData;
1804
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_6__.aaveV3QuotePriceWithMaximumGasPriceTrigger.decode(subStruct.triggerData);
1805
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_5__.aaveV3QuotePriceSubData.decode(subStruct.subData);
1806
+ _position.strategyData.decoded.triggerData = triggerData;
1807
+ _position.strategyData.decoded.subData = subData;
1808
+ _position.specific = {
1809
+ collAsset: subData.collAsset,
1810
+ collAssetId: subData.collAssetId,
1811
+ debtAsset: subData.debtAsset,
1812
+ debtAssetId: subData.debtAssetId,
1813
+ baseToken: triggerData.baseTokenAddress,
1814
+ quoteToken: triggerData.quoteTokenAddress,
1815
+ price: triggerData.price,
1816
+ maximumGasPrice: triggerData.maximumGasPrice,
1817
+ ratioState: triggerData.ratioState
1818
+ };
1819
+ var {
1820
+ ratioState
1821
+ } = (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);
1822
+ _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;
1823
+ return _position;
1824
+ }
1783
1825
  function parseCompoundV2LeverageManagement(position, parseData) {
1784
1826
  var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
1785
1827
  var {
@@ -2029,7 +2071,9 @@ var parsingMethodsMapping = {
2029
2071
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseAaveV3LeverageManagement,
2030
2072
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost]: parseAaveV3LeverageManagement,
2031
2073
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToDebt]: parseAaveV3CloseOnPrice,
2032
- [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice
2074
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToDebtWithGasPrice]: parseAaveV3CloseOnPriceWithMaximumGasPrice,
2075
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateral]: parseAaveV3CloseOnPrice,
2076
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.CloseToCollateralWithGasPrice]: parseAaveV3CloseOnPriceWithMaximumGasPrice
2033
2077
  },
2034
2078
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
2035
2079
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
@@ -32328,6 +32372,7 @@ __webpack_require__.r(__webpack_exports__);
32328
32372
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32329
32373
  /* harmony export */ aaveV2RatioTrigger: () => (/* binding */ aaveV2RatioTrigger),
32330
32374
  /* harmony export */ aaveV3QuotePriceTrigger: () => (/* binding */ aaveV3QuotePriceTrigger),
32375
+ /* harmony export */ aaveV3QuotePriceWithMaximumGasPriceTrigger: () => (/* binding */ aaveV3QuotePriceWithMaximumGasPriceTrigger),
32331
32376
  /* harmony export */ aaveV3RatioTrigger: () => (/* binding */ aaveV3RatioTrigger),
32332
32377
  /* harmony export */ cBondsRebondTrigger: () => (/* binding */ cBondsRebondTrigger),
32333
32378
  /* harmony export */ chainlinkPriceTrigger: () => (/* binding */ chainlinkPriceTrigger),
@@ -32347,11 +32392,14 @@ __webpack_require__.r(__webpack_exports__);
32347
32392
  /* harmony export */ });
32348
32393
  /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
32349
32394
  /* 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);
32395
+ /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
32396
+ /* harmony import */ var _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__);
32397
+ /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
32398
+ /* harmony import */ var web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(web3_eth_abi__WEBPACK_IMPORTED_MODULE_2__);
32399
+ /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18);
32400
+ /* harmony import */ var web3_utils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(web3_utils__WEBPACK_IMPORTED_MODULE_3__);
32401
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17);
32402
+
32355
32403
 
32356
32404
 
32357
32405
 
@@ -32359,10 +32407,10 @@ __webpack_require__.r(__webpack_exports__);
32359
32407
  var chainlinkPriceTrigger = {
32360
32408
  encode(tokenAddr, price, state) {
32361
32409
  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])];
32410
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [tokenAddr, _price, state])];
32363
32411
  },
32364
32412
  decode(triggerData) {
32365
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32413
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32366
32414
  return {
32367
32415
  tokenAddr: decodedData[0],
32368
32416
  price: new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e8).toString(),
@@ -32373,10 +32421,10 @@ var chainlinkPriceTrigger = {
32373
32421
  var trailingStopTrigger = {
32374
32422
  encode(tokenAddr, percentage, roundId) {
32375
32423
  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])];
32424
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint80'], [tokenAddr, _percentage, roundId])];
32377
32425
  },
32378
32426
  decode(triggerData) {
32379
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint80'], triggerData[0]);
32427
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint80'], triggerData[0]);
32380
32428
  var triggerPercentage = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e8).toNumber();
32381
32429
  return {
32382
32430
  tokenAddr: decodedData[0],
@@ -32387,29 +32435,29 @@ var trailingStopTrigger = {
32387
32435
  };
32388
32436
  var makerRatioTrigger = {
32389
32437
  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])];
32438
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32439
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256', 'uint8'], [vaultId, ratioWei, ratioState])];
32392
32440
  },
32393
32441
  decode(triggerData) {
32394
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32442
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32395
32443
  return {
32396
32444
  vaultId: +decodedData[0],
32397
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32445
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32398
32446
  ratioState: +decodedData[2]
32399
32447
  };
32400
32448
  }
32401
32449
  };
32402
32450
  var aaveV3RatioTrigger = {
32403
32451
  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])];
32452
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32453
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32406
32454
  },
32407
32455
  decode(triggerData) {
32408
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32456
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32409
32457
  return {
32410
32458
  owner: decodedData[0],
32411
32459
  market: decodedData[1],
32412
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32460
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32413
32461
  ratioState: Number(decodedData[3])
32414
32462
  };
32415
32463
  }
@@ -32417,10 +32465,10 @@ var aaveV3RatioTrigger = {
32417
32465
  var morphoAaveV2RatioTrigger = {
32418
32466
  encode(owner, ratioPercentage, ratioState) {
32419
32467
  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])];
32468
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint128', 'uint8'], [owner, ratioWei, ratioState])];
32421
32469
  },
32422
32470
  decode(triggerData) {
32423
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint128', 'uint8'], triggerData[0]);
32471
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint128', 'uint8'], triggerData[0]);
32424
32472
  return {
32425
32473
  owner: decodedData[0],
32426
32474
  ratio: new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[1]).div(1e16).toNumber(),
@@ -32432,10 +32480,10 @@ var aaveV3QuotePriceTrigger = {
32432
32480
  encode(baseTokenAddress, quoteTokenAddress, price, ratioState) {
32433
32481
  // Price is always in 8 decimals
32434
32482
  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])];
32483
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32436
32484
  },
32437
32485
  decode(triggerData) {
32438
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32486
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32439
32487
  // Price is always in 8 decimals
32440
32488
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[2]).div(10 ** 8).toDP(8).toString();
32441
32489
  return {
@@ -32446,40 +32494,64 @@ var aaveV3QuotePriceTrigger = {
32446
32494
  };
32447
32495
  }
32448
32496
  };
32497
+ var aaveV3QuotePriceWithMaximumGasPriceTrigger = {
32498
+ encode(baseTokenAddress, quoteTokenAddress, price, ratioState, maximumGasPriceInGwei) {
32499
+ // Price is always in 8 decimals
32500
+ var _price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(price.toString()).mul(10 ** 8).floor().toString();
32501
+ var _maximumGasPrice = maximumGasPriceInGwei ? new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(maximumGasPriceInGwei.toString()).mul(10 ** 9).floor().toString() // We convert it to WEI
32502
+ : _defisaver_tokens__WEBPACK_IMPORTED_MODULE_1__.MAXUINT; // If undefined than set to MAXUINT
32503
+
32504
+ 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])];
32505
+ },
32506
+ decode(triggerData) {
32507
+ var decodedPriceTrigger = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32508
+ var decodedMaximumGasPriceTrigger = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256'], triggerData[1]);
32509
+ // Price is always in 8 decimals
32510
+ var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedPriceTrigger[2]).div(10 ** 8).toDP(8).toString();
32511
+ var maximumGasPrice = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedMaximumGasPriceTrigger[0]).div(10 ** 9).toDP(9).toString();
32512
+ return {
32513
+ baseTokenAddress: decodedPriceTrigger[0],
32514
+ quoteTokenAddress: decodedPriceTrigger[1],
32515
+ price,
32516
+ ratioState: +decodedPriceTrigger[3],
32517
+ maximumGasPrice
32518
+ };
32519
+ }
32520
+ };
32449
32521
  var compoundV2RatioTrigger = {
32450
32522
  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])];
32523
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32524
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32453
32525
  },
32454
32526
  decode(triggerData) {
32455
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32527
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32456
32528
  return {
32457
32529
  owner: decodedData[0],
32458
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32530
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32459
32531
  ratioState: +decodedData[2]
32460
32532
  };
32461
32533
  }
32462
32534
  };
32463
32535
  var liquityRatioTrigger = {
32464
32536
  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])];
32537
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32538
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [owner, ratioWei, ratioState])];
32467
32539
  },
32468
32540
  decode(triggerData) {
32469
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32541
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32470
32542
  return {
32471
32543
  owner: decodedData[0],
32472
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]),
32544
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[1]),
32473
32545
  ratioState: +decodedData[2]
32474
32546
  };
32475
32547
  }
32476
32548
  };
32477
32549
  var liquityDebtInFrontTrigger = {
32478
32550
  encode(owner, debtInFrontMin) {
32479
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256'], [owner, debtInFrontMin])];
32551
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256'], [owner, debtInFrontMin])];
32480
32552
  },
32481
32553
  decode(triggerData) {
32482
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256'], triggerData[0]);
32554
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256'], triggerData[0]);
32483
32555
  return {
32484
32556
  owner: decodedData[0],
32485
32557
  debtInFrontMin: decodedData[1]
@@ -32488,25 +32560,25 @@ var liquityDebtInFrontTrigger = {
32488
32560
  };
32489
32561
  var aaveV2RatioTrigger = {
32490
32562
  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])];
32563
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32564
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32493
32565
  },
32494
32566
  decode(triggerData) {
32495
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32567
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32496
32568
  return {
32497
32569
  owner: decodedData[0],
32498
32570
  market: decodedData[1],
32499
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32571
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32500
32572
  ratioState: +decodedData[3]
32501
32573
  };
32502
32574
  }
32503
32575
  };
32504
32576
  var cBondsRebondTrigger = {
32505
32577
  encode(bondId) {
32506
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256'], [bondId])];
32578
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256'], [bondId])];
32507
32579
  },
32508
32580
  decode(triggerData) {
32509
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256'], triggerData[0]);
32581
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256'], triggerData[0]);
32510
32582
  return {
32511
32583
  bondId: decodedData[0]
32512
32584
  };
@@ -32514,15 +32586,15 @@ var cBondsRebondTrigger = {
32514
32586
  };
32515
32587
  var compoundV3RatioTrigger = {
32516
32588
  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])];
32589
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32590
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32519
32591
  },
32520
32592
  decode(triggerData) {
32521
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32593
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32522
32594
  return {
32523
32595
  owner: decodedData[0],
32524
32596
  market: decodedData[1],
32525
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32597
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32526
32598
  ratioState: +decodedData[3]
32527
32599
  };
32528
32600
  }
@@ -32531,44 +32603,44 @@ var exchangeTimestampTrigger = {
32531
32603
  encode(timestamp, interval) {
32532
32604
  var timestampWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(timestamp).toString();
32533
32605
  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])];
32606
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256'], [timestampWei, intervalWei])];
32535
32607
  },
32536
32608
  decode(triggerData) {
32537
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256'], triggerData[0]);
32609
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256'], triggerData[0]);
32538
32610
  return {
32539
- timestamp: decodedData[0],
32540
- interval: decodedData[1]
32611
+ timestamp: Number(decodedData[0]),
32612
+ interval: Number(decodedData[1])
32541
32613
  };
32542
32614
  }
32543
32615
  };
32544
32616
  var exchangeOffchainPriceTrigger = {
32545
- encode(targetPrice, goodUntil, orderType, fromTokenDecimals) {
32546
- var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetPrice.toString()).mul(10 ** fromTokenDecimals).floor().toString();
32547
- var goodUntilWei = web3_utils__WEBPACK_IMPORTED_MODULE_2__.toWei(new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(goodUntil).toString(), 'ether');
32548
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['uint256', 'uint256'], [price, goodUntilWei, orderType])];
32617
+ encode(targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals) {
32618
+ var decimals = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(toTokenDecimals).plus(18).minus(fromTokenDecimals).toNumber();
32619
+ var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(targetPrice.toString()).mul(10 ** decimals).floor().toString();
32620
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['uint256', 'uint256', 'uint8'], [price, goodUntil, orderType])];
32549
32621
  },
32550
32622
  decode(triggerData, fromTokenDecimals, toTokenDecimals) {
32551
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32623
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['uint256', 'uint256', 'uint8'], triggerData[0]);
32552
32624
  var decimals = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(toTokenDecimals).plus(18).minus(fromTokenDecimals).toString();
32553
32625
  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
32626
  return {
32555
32627
  targetPrice: price,
32556
- goodUntil: decodedData[1],
32628
+ goodUntil: +decodedData[1],
32557
32629
  orderType: +decodedData[2]
32558
32630
  };
32559
32631
  }
32560
32632
  };
32561
32633
  var sparkRatioTrigger = {
32562
32634
  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])];
32635
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
32636
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [owner, market, ratioWei, ratioState])];
32565
32637
  },
32566
32638
  decode(triggerData) {
32567
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32639
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32568
32640
  return {
32569
32641
  owner: decodedData[0],
32570
32642
  market: decodedData[1],
32571
- ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[2]),
32643
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
32572
32644
  ratioState: Number(decodedData[3])
32573
32645
  };
32574
32646
  }
@@ -32577,10 +32649,10 @@ var sparkQuotePriceTrigger = {
32577
32649
  encode(baseTokenAddress, quoteTokenAddress, price, ratioState) {
32578
32650
  // Price is always in 8 decimals
32579
32651
  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])];
32652
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256', 'uint8'], [baseTokenAddress, quoteTokenAddress, _price, ratioState])];
32581
32653
  },
32582
32654
  decode(triggerData) {
32583
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32655
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256', 'uint8'], triggerData[0]);
32584
32656
  // Price is always in 8 decimals
32585
32657
  var price = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(decodedData[2]).div(10 ** 8).toDP(8).toString();
32586
32658
  return {
@@ -32598,11 +32670,11 @@ var curveUsdBorrowRateTrigger = {
32598
32670
  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
32671
  var rateWei = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(rate).mul(10 ** 18).floor().toString(); // 18 decimals
32600
32672
 
32601
- return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameters(['address', 'uint256', 'uint8'], [market, rateWei, rateState])];
32673
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'uint256', 'uint8'], [market, rateWei, rateState])];
32602
32674
  },
32603
32675
  decode(triggerData) {
32604
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32605
- var rateEth = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.weiToRatioPercentage)(decodedData[1]);
32676
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'uint256', 'uint8'], triggerData[0]);
32677
+ var rateEth = web3_utils__WEBPACK_IMPORTED_MODULE_3__.fromWei(decodedData[1], 'ether');
32606
32678
 
32607
32679
  // the form is x = (e**(rate*365*86400))-1 where x*100 is number in %
32608
32680
  var exponentRate = new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(rateEth).mul(365).mul(86400);
@@ -32618,10 +32690,10 @@ var curveUsdSoftLiquidationTrigger = {
32618
32690
  encode(market, owner, percentage) {
32619
32691
  // 100% = 1e18 => 1% = 1e16
32620
32692
  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])];
32693
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['address', 'address', 'uint256'], [market, owner, _percentage])];
32622
32694
  },
32623
32695
  decode(triggerData) {
32624
- var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameters(['address', 'address', 'uint256'], triggerData[0]);
32696
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['address', 'address', 'uint256'], triggerData[0]);
32625
32697
  return {
32626
32698
  market: decodedData[0],
32627
32699
  owner: decodedData[1],
@@ -32641,8 +32713,8 @@ __webpack_require__.r(__webpack_exports__);
32641
32713
  /* harmony export */ });
32642
32714
  /* harmony import */ var _private_StrategiesAutomation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
32643
32715
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
32644
- 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; }
32645
- 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; }
32716
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32717
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32646
32718
  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; }
32647
32719
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
32648
32720
  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); }
@@ -32667,8 +32739,8 @@ __webpack_require__.r(__webpack_exports__);
32667
32739
  /* harmony export */ });
32668
32740
  /* harmony import */ var _private_StrategiesAutomation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
32669
32741
  /* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
32670
- 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; }
32671
- 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; }
32742
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32743
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32672
32744
  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; }
32673
32745
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
32674
32746
  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); }
@@ -32841,6 +32913,27 @@ var aaveV3Encode = {
32841
32913
  } = triggerData;
32842
32914
  var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_4__.aaveV3QuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState);
32843
32915
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
32916
+ },
32917
+ closeToAssetWithMaximumGasPrice(strategyOrBundleId) {
32918
+ var isBundle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
32919
+ var triggerData = arguments.length > 2 ? arguments[2] : undefined;
32920
+ var subData = arguments.length > 3 ? arguments[3] : undefined;
32921
+ var {
32922
+ collAsset,
32923
+ collAssetId,
32924
+ debtAsset,
32925
+ debtAssetId
32926
+ } = subData;
32927
+ var subDataEncoded = _subDataService__WEBPACK_IMPORTED_MODULE_3__.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
32928
+ var {
32929
+ baseTokenAddress,
32930
+ quoteTokenAddress,
32931
+ price,
32932
+ maximumGasPrice,
32933
+ ratioState
32934
+ } = triggerData;
32935
+ var triggerDataEncoded = _triggerService__WEBPACK_IMPORTED_MODULE_4__.aaveV3QuotePriceWithMaximumGasPriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, ratioState, maximumGasPrice);
32936
+ return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
32844
32937
  }
32845
32938
  };
32846
32939
  var compoundV2Encode = {