@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.
- package/.env.dev +1 -1
- package/README.md +3 -3
- package/esm/automation/private/LegacyAutomation.js +2 -2
- package/esm/automation/private/StrategiesAutomation.d.ts +1 -0
- package/esm/automation/private/StrategiesAutomation.js +34 -24
- package/esm/automation/private/StrategiesAutomation.test.d.ts +1 -0
- package/esm/automation/private/StrategiesAutomation.test.js +671 -0
- package/esm/constants/index.js +10 -0
- package/esm/services/ethereumService.test.d.ts +1 -1
- package/esm/services/ethereumService.test.js +1 -0
- package/esm/services/strategiesService.js +37 -0
- package/esm/services/strategiesService.test.d.ts +1 -1
- package/esm/services/strategiesService.test.js +1 -0
- package/esm/services/strategySubService.d.ts +3 -0
- package/esm/services/strategySubService.js +11 -1
- package/esm/services/strategySubService.test.d.ts +1 -1
- package/esm/services/strategySubService.test.js +74 -0
- package/esm/services/subDataService.d.ts +12 -0
- package/esm/services/subDataService.js +33 -1
- package/esm/services/subDataService.test.d.ts +1 -1
- package/esm/services/subDataService.test.js +89 -0
- package/esm/services/triggerService.d.ts +9 -0
- package/esm/services/triggerService.js +17 -1
- package/esm/services/triggerService.test.d.ts +1 -1
- package/esm/services/triggerService.test.js +37 -0
- package/esm/services/utils.test.d.ts +1 -1
- package/esm/services/utils.test.js +1 -0
- package/esm/types/enums.d.ts +5 -2
- package/esm/types/enums.js +3 -0
- package/esm/types/index.d.ts +1 -1
- package/package.json +2 -2
- package/scripts/generateContractTypes.js +1 -1
- package/src/automation/private/LegacyAutomation.ts +2 -2
- package/src/automation/private/StrategiesAutomation.test.ts +663 -0
- package/src/automation/private/StrategiesAutomation.ts +56 -41
- package/src/constants/index.ts +10 -0
- package/src/services/ethereumService.test.ts +1 -0
- package/src/services/strategiesService.test.ts +1 -0
- package/src/services/strategiesService.ts +42 -0
- package/src/services/strategySubService.test.ts +90 -1
- package/src/services/strategySubService.ts +25 -0
- package/src/services/subDataService.test.ts +97 -1
- package/src/services/subDataService.ts +43 -0
- package/src/services/triggerService.test.ts +40 -0
- package/src/services/triggerService.ts +23 -0
- package/src/services/utils.test.ts +1 -0
- package/src/types/enums.ts +3 -0
- package/src/types/index.ts +1 -1
- package/umd/index.js +162 -33
- package/.env +0 -4
- package/.yarn/releases/yarn-1.22.1.cjs +0 -147386
- 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
|
-
|
|
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()).
|
|
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.
|
|
1570
|
-
|
|
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