@defisaver/automation-sdk 3.0.0 → 3.0.2-dev

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 (52) hide show
  1. package/.env.dev +1 -1
  2. package/README.md +3 -3
  3. package/esm/automation/private/LegacyAutomation.js +2 -2
  4. package/esm/automation/private/StrategiesAutomation.d.ts +1 -0
  5. package/esm/automation/private/StrategiesAutomation.js +34 -24
  6. package/esm/automation/private/StrategiesAutomation.test.d.ts +1 -0
  7. package/esm/automation/private/StrategiesAutomation.test.js +671 -0
  8. package/esm/constants/index.js +10 -0
  9. package/esm/services/ethereumService.test.d.ts +1 -1
  10. package/esm/services/ethereumService.test.js +1 -0
  11. package/esm/services/strategiesService.js +37 -0
  12. package/esm/services/strategiesService.test.d.ts +1 -1
  13. package/esm/services/strategiesService.test.js +1 -0
  14. package/esm/services/strategySubService.d.ts +3 -0
  15. package/esm/services/strategySubService.js +11 -1
  16. package/esm/services/strategySubService.test.d.ts +1 -1
  17. package/esm/services/strategySubService.test.js +74 -0
  18. package/esm/services/subDataService.d.ts +12 -0
  19. package/esm/services/subDataService.js +33 -1
  20. package/esm/services/subDataService.test.d.ts +1 -1
  21. package/esm/services/subDataService.test.js +89 -0
  22. package/esm/services/triggerService.d.ts +9 -0
  23. package/esm/services/triggerService.js +17 -1
  24. package/esm/services/triggerService.test.d.ts +1 -1
  25. package/esm/services/triggerService.test.js +37 -0
  26. package/esm/services/utils.test.d.ts +1 -1
  27. package/esm/services/utils.test.js +1 -0
  28. package/esm/types/enums.d.ts +5 -2
  29. package/esm/types/enums.js +3 -0
  30. package/esm/types/index.d.ts +1 -1
  31. package/package.json +2 -2
  32. package/scripts/generateContractTypes.js +1 -1
  33. package/src/automation/private/LegacyAutomation.ts +2 -2
  34. package/src/automation/private/StrategiesAutomation.test.ts +663 -0
  35. package/src/automation/private/StrategiesAutomation.ts +56 -41
  36. package/src/constants/index.ts +10 -0
  37. package/src/services/ethereumService.test.ts +1 -0
  38. package/src/services/strategiesService.test.ts +1 -0
  39. package/src/services/strategiesService.ts +42 -0
  40. package/src/services/strategySubService.test.ts +90 -1
  41. package/src/services/strategySubService.ts +25 -0
  42. package/src/services/subDataService.test.ts +97 -1
  43. package/src/services/subDataService.ts +43 -0
  44. package/src/services/triggerService.test.ts +40 -0
  45. package/src/services/triggerService.ts +23 -0
  46. package/src/services/utils.test.ts +1 -0
  47. package/src/types/enums.ts +3 -0
  48. package/src/types/index.ts +1 -1
  49. package/umd/index.js +162 -33
  50. package/.env +0 -4
  51. package/.yarn/releases/yarn-1.22.1.cjs +0 -147386
  52. package/.yarnrc.yml +0 -3
package/umd/index.js CHANGED
@@ -372,6 +372,16 @@ var MAINNET_BUNDLES_INFO = {
372
372
  strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.CRVUSD_BOOST,
373
373
  strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.Boost,
374
374
  protocol: PROTOCOLS.CrvUSD
375
+ },
376
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_BLUE_REPAY]: {
377
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_BLUE_REPAY,
378
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.Repay,
379
+ protocol: PROTOCOLS.MorphoBlue
380
+ },
381
+ [_types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_BLUE_BOOST]: {
382
+ strategyOrBundleId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Bundles.MainnetIds.MORPHO_BLUE_BOOST,
383
+ strategyId: _types_enums__WEBPACK_IMPORTED_MODULE_0__.Strategies.Identifiers.Boost,
384
+ protocol: PROTOCOLS.MorphoBlue
375
385
  }
376
386
  };
377
387
  var OPTIMISM_BUNDLES_INFO = {
@@ -499,6 +509,7 @@ var ProtocolIdentifiers;
499
509
  StrategiesAutomation["Exchange"] = "Exchange";
500
510
  StrategiesAutomation["Spark"] = "Spark";
501
511
  StrategiesAutomation["CrvUSD"] = "CurveUSD";
512
+ StrategiesAutomation["MorphoBlue"] = "MorphoBlue";
502
513
  })(StrategiesAutomation || (StrategiesAutomation = {}));
503
514
  _ProtocolIdentifiers.StrategiesAutomation = StrategiesAutomation;
504
515
  var LegacyAutomation;
@@ -610,6 +621,8 @@ var Bundles;
610
621
  MainnetIds[MainnetIds["COMP_V2_BOOST"] = 21] = "COMP_V2_BOOST";
611
622
  MainnetIds[MainnetIds["CRVUSD_REPAY"] = 26] = "CRVUSD_REPAY";
612
623
  MainnetIds[MainnetIds["CRVUSD_BOOST"] = 27] = "CRVUSD_BOOST";
624
+ MainnetIds[MainnetIds["MORPHO_BLUE_REPAY"] = 32] = "MORPHO_BLUE_REPAY";
625
+ MainnetIds[MainnetIds["MORPHO_BLUE_BOOST"] = 33] = "MORPHO_BLUE_BOOST";
613
626
  })(MainnetIds || (MainnetIds = {}));
614
627
  _Bundles.MainnetIds = MainnetIds;
615
628
  var OptimismIds;
@@ -1170,8 +1183,8 @@ class LegacyAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_4__["default
1170
1183
  getParsedSubscriptions(addresses, options) {
1171
1184
  var _this4 = this;
1172
1185
  return _asyncToGenerator(function* () {
1173
- // Legacy automation was disabled on block 18213086
1174
- if (!(options !== null && options !== void 0 && options.fromBlock) || (options === null || options === void 0 ? void 0 : options.fromBlock) === 'latest' || (options === null || options === void 0 ? void 0 : options.fromBlock) === 'pending' || options !== null && options !== void 0 && options.fromBlock && new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(options === null || options === void 0 ? void 0 : options.fromBlock.toString()).lt(18213086)) {
1186
+ var legacyAutomationSunset = 18213086;
1187
+ if (!(options !== null && options !== void 0 && options.fromBlock) || (options === null || options === void 0 ? void 0 : options.fromBlock) === 'latest' || (options === null || options === void 0 ? void 0 : options.fromBlock) === 'pending' || options !== null && options !== void 0 && options.fromBlock && new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(options === null || options === void 0 ? void 0 : options.fromBlock.toString()).gte(legacyAutomationSunset)) {
1175
1188
  return [];
1176
1189
  }
1177
1190
  var subscriptions = yield _this4._getSubscriptions(addresses, options);
@@ -1451,6 +1464,10 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_6__["def
1451
1464
  getEventFromSubStorage(event, options) {
1452
1465
  var _this = this;
1453
1466
  return _asyncToGenerator(function* () {
1467
+ var _options$fromBlock;
1468
+ if (new (decimal_js__WEBPACK_IMPORTED_MODULE_0___default())(_this.subStorageContract.createdBlock.toString()).gt((options === null || options === void 0 ? void 0 : (_options$fromBlock = options.fromBlock) === null || _options$fromBlock === void 0 ? void 0 : _options$fromBlock.toString()) || 0)) {
1469
+ return [];
1470
+ }
1454
1471
  return (0,_services_ethereumService__WEBPACK_IMPORTED_MODULE_4__.getEventsFromContract)(_this.subStorageContract, _this.subStorageContractFork, event, options);
1455
1472
  })();
1456
1473
  }
@@ -1520,7 +1537,42 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_6__["def
1520
1537
  _mergeCheck(s, current) {
1521
1538
  return s.owner === current.owner && s.strategy.strategyId === current.strategy.strategyId && s.protocol.id === current.protocol.id && s.specific.mergeId === current.specific.mergeWithId && (s.protocol.id !== _types_enums__WEBPACK_IMPORTED_MODULE_1__.ProtocolIdentifiers.StrategiesAutomation.MakerDAO // reflexer needs to get added if we have it
1522
1539
  || s.strategyData.decoded.subData.vaultId === current.strategyData.decoded.triggerData.vaultId) && (s.protocol.id !== _types_enums__WEBPACK_IMPORTED_MODULE_1__.ProtocolIdentifiers.StrategiesAutomation.CrvUSD // merge only crvUSD leverage management for the same market
1523
- || s.strategyData.decoded.subData.controller.toLowerCase() === current.strategyData.decoded.triggerData.controller.toLowerCase());
1540
+ || s.strategyData.decoded.subData.controller.toLowerCase() === current.strategyData.decoded.triggerData.controller.toLowerCase()) && (s.protocol.id !== _types_enums__WEBPACK_IMPORTED_MODULE_1__.ProtocolIdentifiers.StrategiesAutomation.MorphoBlue // merge morpho blue with the same marketId
1541
+ || s.strategyData.decoded.triggerData.marketId.toLowerCase() === current.strategyData.decoded.triggerData.marketId.toLowerCase());
1542
+ }
1543
+ mergeSubs(_subscriptions) {
1544
+ var mergeBase = _subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s.specific.mergeWithId));
1545
+ var mergeExtension = _subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s.specific.mergeId));
1546
+ var subscriptions = _subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(s.specific.mergeWithId) && (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isUndefined)(s.specific.mergeId)).map(s => _objectSpread(_objectSpread({}, s), {}, {
1547
+ subIds: [s.subId]
1548
+ }));
1549
+ mergeBase.forEach(current => {
1550
+ var mergePairIndexSubEnabled = mergeExtension.findIndex(s => this._mergeCheck(s, current) && s.isEnabled === current.isEnabled);
1551
+ var mergePairIndexSubDisabled = mergeExtension.findIndex(s => this._mergeCheck(s, current));
1552
+ var mergePairIndex = mergePairIndexSubEnabled !== -1 ? mergePairIndexSubEnabled : mergePairIndexSubDisabled;
1553
+ if (mergePairIndex !== -1) {
1554
+ var mergePair = mergeExtension[mergePairIndex];
1555
+ mergeExtension.splice(mergePairIndex, 1);
1556
+ subscriptions.push(_objectSpread(_objectSpread(_objectSpread({}, mergePair), current), {}, {
1557
+ // @ts-ignore
1558
+ blockNumber: decimal_js__WEBPACK_IMPORTED_MODULE_0___default().max(mergePair.blockNumber, current.blockNumber).toNumber(),
1559
+ subIds: [current.subId, mergePair.subId],
1560
+ isEnabled: mergePair.isEnabled || current.isEnabled,
1561
+ specific: _objectSpread(_objectSpread({}, mergePair.specific), current.specific)
1562
+ }));
1563
+ } else {
1564
+ subscriptions.push(_objectSpread(_objectSpread({}, current), {}, {
1565
+ subIds: [current.subId]
1566
+ }));
1567
+ }
1568
+ });
1569
+ if (mergeExtension.length > 0) {
1570
+ console.error('Not all merge-able extensions were used', mergeExtension);
1571
+ subscriptions = [...subscriptions, ...mergeExtension.map(s => _objectSpread(_objectSpread({}, s), {}, {
1572
+ subIds: [s.subId]
1573
+ }))];
1574
+ }
1575
+ return subscriptions;
1524
1576
  }
1525
1577
  _getSubscriptions(addresses, options) {
1526
1578
  var _this5 = this;
@@ -1566,36 +1618,8 @@ class StrategiesAutomation extends _Automation__WEBPACK_IMPORTED_MODULE_6__["def
1566
1618
  return _ref.apply(this, arguments);
1567
1619
  };
1568
1620
  }()));
1569
- if (options !== null && options !== void 0 && options.mergeWithSameId) {
1570
- var mergeBase = subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && s.specific.mergeWithId);
1571
- var mergeExtension = subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && s.specific.mergeId);
1572
- subscriptions = subscriptions.filter(s => (0,_services_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined)(s) && !(s !== null && s !== void 0 && s.specific.mergeWithId) && !(s !== null && s !== void 0 && s.specific.mergeId)).map(s => _objectSpread(_objectSpread({}, s), {}, {
1573
- subIds: [s.subId]
1574
- }));
1575
- mergeBase.forEach(current => {
1576
- var mergePairIndexWithEnabledCheck = mergeExtension.findIndex(s => _this5._mergeCheck(s, current) && s.isEnabled === current.isEnabled);
1577
- var mergePairIndexWithoutEnabledCheck = mergeExtension.findIndex(s => _this5._mergeCheck(s, current));
1578
- var mergePairIndex = mergePairIndexWithEnabledCheck !== -1 ? mergePairIndexWithEnabledCheck : mergePairIndexWithoutEnabledCheck;
1579
- if (mergePairIndex !== -1) {
1580
- var mergePair = mergeExtension[mergePairIndex];
1581
- mergeExtension.splice(mergePairIndex, 1);
1582
- subscriptions.push(_objectSpread(_objectSpread(_objectSpread({}, mergePair), current), {}, {
1583
- // @ts-ignore
1584
- blockNumber: decimal_js__WEBPACK_IMPORTED_MODULE_0___default().max(mergePair.blockNumber, current.blockNumber).toNumber(),
1585
- subIds: [current.subId, mergePair.subId],
1586
- isEnabled: mergePair.isEnabled || current.isEnabled,
1587
- specific: _objectSpread(_objectSpread({}, mergePair.specific), current.specific)
1588
- }));
1589
- } else {
1590
- subscriptions.push(current);
1591
- }
1592
- });
1593
- if (mergeExtension.length > 0) {
1594
- console.error('Not all merge-able extensions were used', mergeExtension);
1595
- subscriptions = [...subscriptions, ...mergeExtension.map(s => _objectSpread(_objectSpread({}, s), {}, {
1596
- subIds: [s.subId]
1597
- }))];
1598
- }
1621
+ if (options !== null && options !== void 0 && options.mergeSubs) {
1622
+ subscriptions = _this5.mergeSubs(subscriptions);
1599
1623
  }
1600
1624
  }
1601
1625
  return _options.unexpiredOnly ? _this5.removeExpiredSubscriptions(subscriptions) : subscriptions;
@@ -2227,6 +2251,44 @@ function parseCrvUSDLeverageManagement(position, parseData) {
2227
2251
  _position.strategy.strategyId = _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.LeverageManagement;
2228
2252
  return _position;
2229
2253
  }
2254
+ function parseMorphoBlueLeverageManagement(position, parseData) {
2255
+ var _position = (0,lodash__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(position);
2256
+ var {
2257
+ subStruct,
2258
+ subId,
2259
+ subHash
2260
+ } = parseData.subscriptionEventData;
2261
+ var {
2262
+ isEnabled
2263
+ } = parseData.strategiesSubsData;
2264
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_6__.morphoBlueRatioTrigger.decode(subStruct.triggerData);
2265
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_5__.morphoBlueLeverageManagementSubData.decode(subStruct.subData);
2266
+ _position.strategyData.decoded.triggerData = triggerData;
2267
+ _position.strategyData.decoded.subData = subData;
2268
+ var isRepay = _position.strategy.strategyId === _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay;
2269
+ if (isRepay) {
2270
+ _position.specific = {
2271
+ triggerRepayRatio: triggerData.ratio,
2272
+ targetRepayRatio: subData.targetRatio,
2273
+ repayEnabled: isEnabled,
2274
+ subId1: Number(subId),
2275
+ subHashRepay: subHash,
2276
+ mergeWithId: _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost
2277
+ };
2278
+ } else {
2279
+ _position.specific = {
2280
+ triggerBoostRatio: triggerData.ratio,
2281
+ targetBoostRatio: subData.targetRatio,
2282
+ boostEnabled: isEnabled,
2283
+ subId2: Number(subId),
2284
+ subHashBoost: subHash,
2285
+ mergeId: _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost
2286
+ };
2287
+ }
2288
+ _position.positionId = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.marketId);
2289
+ _position.strategy.strategyId = _types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.IdOverrides.LeverageManagement;
2290
+ return _position;
2291
+ }
2230
2292
  var parsingMethodsMapping = {
2231
2293
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
2232
2294
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
@@ -2289,6 +2351,10 @@ var parsingMethodsMapping = {
2289
2351
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
2290
2352
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
2291
2353
  [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost]: parseCrvUSDLeverageManagement
2354
+ },
2355
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.ProtocolIdentifiers.StrategiesAutomation.MorphoBlue]: {
2356
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Repay]: parseMorphoBlueLeverageManagement,
2357
+ [_types_enums__WEBPACK_IMPORTED_MODULE_3__.Strategies.Identifiers.Boost]: parseMorphoBlueLeverageManagement
2292
2358
  }
2293
2359
  };
2294
2360
  function getParsingMethod(id, strategy) {
@@ -19576,6 +19642,7 @@ __webpack_require__.r(__webpack_exports__);
19576
19642
  /* harmony export */ makerLeverageManagementSubData: () => (/* binding */ makerLeverageManagementSubData),
19577
19643
  /* harmony export */ makerRepayFromSavingsSubData: () => (/* binding */ makerRepayFromSavingsSubData),
19578
19644
  /* harmony export */ morphoAaveV2LeverageManagementSubData: () => (/* binding */ morphoAaveV2LeverageManagementSubData),
19645
+ /* harmony export */ morphoBlueLeverageManagementSubData: () => (/* binding */ morphoBlueLeverageManagementSubData),
19579
19646
  /* harmony export */ sparkLeverageManagementSubData: () => (/* binding */ sparkLeverageManagementSubData),
19580
19647
  /* harmony export */ sparkQuotePriceSubData: () => (/* binding */ sparkQuotePriceSubData)
19581
19648
  /* harmony export */ });
@@ -19991,6 +20058,38 @@ var crvUSDLeverageManagementSubData = {
19991
20058
  };
19992
20059
  }
19993
20060
  };
20061
+ var morphoBlueLeverageManagementSubData = {
20062
+ encode: (loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user) => {
20063
+ var loanTokenEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', loanToken);
20064
+ var collTokenEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', collToken);
20065
+ var oracleEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', oracle);
20066
+ var irmEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', irm);
20067
+ var lltvEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint256', lltv);
20068
+ var ratioStateEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint8', ratioState);
20069
+ var targetRatioEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('uint256', (0,_utils__WEBPACK_IMPORTED_MODULE_6__.ratioPercentageToWei)(targetRatio));
20070
+ var userEncoded = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().encodeParameter('address', user);
20071
+ return [loanTokenEncoded, collTokenEncoded, oracleEncoded, irmEncoded, lltvEncoded, ratioStateEncoded, targetRatioEncoded, userEncoded];
20072
+ },
20073
+ decode: subData => {
20074
+ var loanToken = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[0]);
20075
+ var collToken = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[1]);
20076
+ var oracle = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[2]);
20077
+ var irm = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[3]);
20078
+ var lltv = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[4]);
20079
+ var weiRatio = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('uint256', subData[6]);
20080
+ var user = web3_eth_abi__WEBPACK_IMPORTED_MODULE_1___default().decodeParameter('address', subData[7]);
20081
+ var targetRatio = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.weiToRatioPercentage)(weiRatio);
20082
+ return {
20083
+ loanToken,
20084
+ collToken,
20085
+ oracle,
20086
+ irm,
20087
+ lltv,
20088
+ user,
20089
+ targetRatio
20090
+ };
20091
+ }
20092
+ };
19994
20093
 
19995
20094
  /***/ }),
19996
20095
  /* 31 */
@@ -33059,6 +33158,7 @@ __webpack_require__.r(__webpack_exports__);
33059
33158
  /* harmony export */ liquityRatioTrigger: () => (/* binding */ liquityRatioTrigger),
33060
33159
  /* harmony export */ makerRatioTrigger: () => (/* binding */ makerRatioTrigger),
33061
33160
  /* harmony export */ morphoAaveV2RatioTrigger: () => (/* binding */ morphoAaveV2RatioTrigger),
33161
+ /* harmony export */ morphoBlueRatioTrigger: () => (/* binding */ morphoBlueRatioTrigger),
33062
33162
  /* harmony export */ sparkQuotePriceTrigger: () => (/* binding */ sparkQuotePriceTrigger),
33063
33163
  /* harmony export */ sparkRatioTrigger: () => (/* binding */ sparkRatioTrigger),
33064
33164
  /* harmony export */ trailingStopTrigger: () => (/* binding */ trailingStopTrigger)
@@ -33391,6 +33491,23 @@ var crvUSDRatioTrigger = {
33391
33491
  };
33392
33492
  }
33393
33493
  };
33494
+ var morphoBlueRatioTrigger = {
33495
+ encode(marketId,
33496
+ // bytes32
33497
+ owner, ratioPercentage, ratioState) {
33498
+ var ratioWei = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.ratioPercentageToWei)(ratioPercentage);
33499
+ return [web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().encodeParameters(['bytes32', 'address', 'uint256', 'uint8'], [marketId, owner, ratioWei, ratioState])];
33500
+ },
33501
+ decode(triggerData) {
33502
+ var decodedData = web3_eth_abi__WEBPACK_IMPORTED_MODULE_2___default().decodeParameters(['bytes32', 'address', 'uint256', 'uint8'], triggerData[0]);
33503
+ return {
33504
+ marketId: decodedData[0],
33505
+ owner: decodedData[1],
33506
+ ratio: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.weiToRatioPercentage)(decodedData[2]),
33507
+ ratioState: Number(decodedData[3])
33508
+ };
33509
+ }
33510
+ };
33394
33511
 
33395
33512
  /***/ }),
33396
33513
  /* 322 */
@@ -33462,6 +33579,7 @@ __webpack_require__.r(__webpack_exports__);
33462
33579
  /* harmony export */ liquityEncode: () => (/* binding */ liquityEncode),
33463
33580
  /* harmony export */ makerEncode: () => (/* binding */ makerEncode),
33464
33581
  /* harmony export */ morphoAaveV2Encode: () => (/* binding */ morphoAaveV2Encode),
33582
+ /* harmony export */ morphoBlueEncode: () => (/* binding */ morphoBlueEncode),
33465
33583
  /* harmony export */ sparkEncode: () => (/* binding */ sparkEncode)
33466
33584
  /* harmony export */ });
33467
33585
  /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
@@ -33712,6 +33830,17 @@ var crvUSDEncode = {
33712
33830
  return [strategyOrBundleId, isBundle, triggerData, subData];
33713
33831
  }
33714
33832
  };
33833
+ var morphoBlueEncode = {
33834
+ leverageManagement(marketId, loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, triggerRatio, user) {
33835
+ var subData = _subDataService__WEBPACK_IMPORTED_MODULE_4__.morphoBlueLeverageManagementSubData.encode(loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user);
33836
+ var triggerData = _triggerService__WEBPACK_IMPORTED_MODULE_5__.morphoBlueRatioTrigger.encode(marketId, user, triggerRatio, ratioState);
33837
+
33838
+ // over is boost, under is repay
33839
+ var strategyOrBundleId = ratioState === _types_enums__WEBPACK_IMPORTED_MODULE_2__.RatioState.OVER ? _types_enums__WEBPACK_IMPORTED_MODULE_2__.Bundles.MainnetIds.MORPHO_BLUE_BOOST : _types_enums__WEBPACK_IMPORTED_MODULE_2__.Bundles.MainnetIds.MORPHO_BLUE_REPAY;
33840
+ var isBundle = true;
33841
+ return [strategyOrBundleId, isBundle, triggerData, subData];
33842
+ }
33843
+ };
33715
33844
 
33716
33845
  /***/ })
33717
33846
  /******/ ]);
package/.env DELETED
@@ -1,4 +0,0 @@
1
- RPC_1=
2
- RPC_10=
3
- RPC_8453=
4
- RPC_42161=