@defisaver/automation-sdk 3.3.15 → 3.3.16-liq-prot-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/cjs/constants/index.js +145 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +158 -9
- package/cjs/services/strategySubService.d.ts +17 -16
- package/cjs/services/strategySubService.js +69 -28
- package/cjs/services/strategySubService.test.js +69 -40
- package/cjs/services/subDataService.d.ts +70 -20
- package/cjs/services/subDataService.js +23 -79
- package/cjs/services/subDataService.test.js +117 -202
- package/cjs/services/triggerService.test.js +60 -0
- package/cjs/services/utils.d.ts +2 -1
- package/cjs/services/utils.js +14 -1
- package/cjs/types/enums.d.ts +39 -6
- package/cjs/types/enums.js +33 -0
- package/esm/constants/index.js +145 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +158 -9
- package/esm/services/strategySubService.d.ts +17 -16
- package/esm/services/strategySubService.js +69 -28
- package/esm/services/strategySubService.test.js +70 -38
- package/esm/services/subDataService.d.ts +70 -20
- package/esm/services/subDataService.js +21 -77
- package/esm/services/subDataService.test.js +118 -200
- package/esm/services/triggerService.test.js +61 -1
- package/esm/services/utils.d.ts +2 -1
- package/esm/services/utils.js +13 -1
- package/esm/types/enums.d.ts +39 -6
- package/esm/types/enums.js +33 -0
- package/package.json +1 -1
- package/src/constants/index.ts +147 -1
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +222 -9
- package/src/services/strategySubService.test.ts +86 -46
- package/src/services/strategySubService.ts +166 -39
- package/src/services/subDataService.test.ts +128 -214
- package/src/services/subDataService.ts +42 -106
- package/src/services/triggerService.test.ts +69 -0
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +15 -1
- package/src/types/enums.ts +33 -2
package/cjs/constants/index.js
CHANGED
|
@@ -549,6 +549,66 @@ exports.MAINNET_BUNDLES_INFO = {
|
|
|
549
549
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
550
550
|
protocol: exports.PROTOCOLS.AaveV4,
|
|
551
551
|
},
|
|
552
|
+
[enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
|
|
553
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
|
|
554
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
555
|
+
protocol: exports.PROTOCOLS.MakerDAO,
|
|
556
|
+
},
|
|
557
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
558
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
559
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
560
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
561
|
+
},
|
|
562
|
+
[enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
|
|
563
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
|
|
564
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
565
|
+
protocol: exports.PROTOCOLS.AaveV4,
|
|
566
|
+
},
|
|
567
|
+
[enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
|
|
568
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
|
|
569
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
570
|
+
protocol: exports.PROTOCOLS.Spark,
|
|
571
|
+
},
|
|
572
|
+
[enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
573
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
574
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
575
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
576
|
+
},
|
|
577
|
+
[enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
578
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
579
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
580
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
581
|
+
},
|
|
582
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
583
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
584
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
585
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
586
|
+
},
|
|
587
|
+
[enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
588
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
589
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
590
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
591
|
+
},
|
|
592
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
593
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
594
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
595
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
596
|
+
},
|
|
597
|
+
[enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION]: {
|
|
598
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION,
|
|
599
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
600
|
+
protocol: exports.PROTOCOLS.AaveV4,
|
|
601
|
+
},
|
|
602
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
603
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
604
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
605
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
606
|
+
},
|
|
607
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
608
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
609
|
+
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
610
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
611
|
+
},
|
|
552
612
|
};
|
|
553
613
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
554
614
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -606,6 +666,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
606
666
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
607
667
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
608
668
|
},
|
|
669
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
670
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
671
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
672
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
673
|
+
},
|
|
674
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
675
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
676
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
677
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
678
|
+
},
|
|
609
679
|
};
|
|
610
680
|
exports.BASE_BUNDLES_INFO = {
|
|
611
681
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -743,6 +813,41 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
743
813
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
744
814
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
745
815
|
},
|
|
816
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
817
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
818
|
+
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
819
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
820
|
+
},
|
|
821
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
822
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
823
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
824
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
825
|
+
},
|
|
826
|
+
[enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
827
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
828
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
829
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
830
|
+
},
|
|
831
|
+
[enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
832
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
833
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
834
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
835
|
+
},
|
|
836
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
837
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
838
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
839
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
840
|
+
},
|
|
841
|
+
[enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
842
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
843
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
844
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
845
|
+
},
|
|
846
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
847
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
848
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
849
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
850
|
+
},
|
|
746
851
|
};
|
|
747
852
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
748
853
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -890,6 +995,46 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
890
995
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
891
996
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
892
997
|
},
|
|
998
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
999
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
1000
|
+
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
1001
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1002
|
+
},
|
|
1003
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
1004
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
1005
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1006
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1007
|
+
},
|
|
1008
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
1009
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
1010
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1011
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
1012
|
+
},
|
|
1013
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1014
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1015
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1016
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
1017
|
+
},
|
|
1018
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
1019
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
1020
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1021
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1022
|
+
},
|
|
1023
|
+
[enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
1024
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
1025
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1026
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
1027
|
+
},
|
|
1028
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1029
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1030
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1031
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1032
|
+
},
|
|
1033
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1034
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1035
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1036
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1037
|
+
},
|
|
893
1038
|
};
|
|
894
1039
|
exports.BUNDLES_INFO = {
|
|
895
1040
|
[enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
|
package/cjs/index.d.ts
CHANGED
|
@@ -15,10 +15,10 @@ import * as enums from './types/enums';
|
|
|
15
15
|
import type * as types from './types';
|
|
16
16
|
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
|
|
17
17
|
declare const utils: {
|
|
18
|
-
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
19
18
|
compareSubHashes: typeof compareSubHashes;
|
|
20
19
|
encodeSubId: typeof encodeSubId;
|
|
21
20
|
getCloseStrategyType: typeof getCloseStrategyType;
|
|
21
|
+
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
22
22
|
};
|
|
23
|
-
export {
|
|
23
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
24
24
|
export type { types };
|
package/cjs/index.js
CHANGED
|
@@ -30,7 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
31
|
};
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.
|
|
33
|
+
exports.utils = exports.triggerService = exports.subDataService = exports.strategySubService = exports.strategiesService = exports.enums = exports.constants = exports.OptimismStrategies = exports.LegacyMakerAutomation = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.EthereumStrategies = exports.BaseStrategies = exports.ArbitrumStrategies = void 0;
|
|
34
34
|
require("./configuration");
|
|
35
35
|
const LegacyMakerAutomation_1 = __importDefault(require("./automation/public/legacy/LegacyMakerAutomation"));
|
|
36
36
|
exports.LegacyMakerAutomation = LegacyMakerAutomation_1.default;
|
|
@@ -60,6 +60,9 @@ const enums = __importStar(require("./types/enums"));
|
|
|
60
60
|
exports.enums = enums;
|
|
61
61
|
const utils_1 = require("./services/utils");
|
|
62
62
|
const utils = {
|
|
63
|
-
|
|
63
|
+
compareSubHashes: utils_1.compareSubHashes,
|
|
64
|
+
encodeSubId: utils_1.encodeSubId,
|
|
65
|
+
getCloseStrategyType: utils_1.getCloseStrategyType,
|
|
66
|
+
getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy,
|
|
64
67
|
};
|
|
65
68
|
exports.utils = utils;
|
|
@@ -95,7 +95,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
95
95
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
96
96
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
97
97
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
98
|
-
const subData = subDataService.
|
|
98
|
+
const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
|
|
99
99
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
100
100
|
_position.strategyData.decoded.subData = subData;
|
|
101
101
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
@@ -123,6 +123,24 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
123
123
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
124
124
|
return _position;
|
|
125
125
|
}
|
|
126
|
+
function parseMakerLiquidationProtection(position, parseData) {
|
|
127
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
|
+
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
129
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
130
|
+
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
131
|
+
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
132
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
133
|
+
_position.strategyData.decoded.subData = subData;
|
|
134
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
135
|
+
_position.specific = {
|
|
136
|
+
triggerRepayRatio: triggerData.ratio,
|
|
137
|
+
targetRepayRatio: subData.targetRatio,
|
|
138
|
+
repayEnabled: isEnabled,
|
|
139
|
+
subId1: Number(subId),
|
|
140
|
+
};
|
|
141
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
142
|
+
return _position;
|
|
143
|
+
}
|
|
126
144
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
127
145
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
146
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -160,7 +178,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
160
178
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
161
179
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
162
180
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
163
|
-
const subData = subDataService.
|
|
181
|
+
const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
164
182
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
165
183
|
_position.strategyData.decoded.subData = subData;
|
|
166
184
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -196,10 +214,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
196
214
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
197
215
|
let subData;
|
|
198
216
|
if (isEOA) {
|
|
199
|
-
subData = subDataService.
|
|
217
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
200
218
|
}
|
|
201
219
|
else {
|
|
202
|
-
subData = subDataService.
|
|
220
|
+
subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
203
221
|
}
|
|
204
222
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
205
223
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -233,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
233
251
|
}
|
|
234
252
|
return _position;
|
|
235
253
|
}
|
|
254
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
255
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
256
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
257
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
258
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
259
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
260
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
261
|
+
_position.strategyData.decoded.subData = subData;
|
|
262
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
263
|
+
_position.specific = {
|
|
264
|
+
triggerRepayRatio: triggerData.ratio,
|
|
265
|
+
targetRepayRatio: subData.targetRatio,
|
|
266
|
+
repayEnabled: isEnabled,
|
|
267
|
+
subId1: Number(subId),
|
|
268
|
+
subHashRepay: subHash,
|
|
269
|
+
};
|
|
270
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
271
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
272
|
+
return _position;
|
|
273
|
+
}
|
|
236
274
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
237
275
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
238
276
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -362,6 +400,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
362
400
|
}
|
|
363
401
|
return _position;
|
|
364
402
|
}
|
|
403
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
404
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
405
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
406
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
407
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
408
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
409
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
410
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
411
|
+
_position.strategyData.decoded.subData = subData;
|
|
412
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
413
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
414
|
+
_position.specific = {
|
|
415
|
+
triggerRepayRatio: triggerData.ratio,
|
|
416
|
+
targetRepayRatio: subData.targetRatio,
|
|
417
|
+
repayEnabled: isEnabled,
|
|
418
|
+
subId1: Number(subId),
|
|
419
|
+
subHashRepay: subHash,
|
|
420
|
+
};
|
|
421
|
+
return _position;
|
|
422
|
+
}
|
|
365
423
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
366
424
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
367
425
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -481,7 +539,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
481
539
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
482
540
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
483
541
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
484
|
-
const subData = subDataService.
|
|
542
|
+
const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
485
543
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
486
544
|
_position.strategyData.decoded.subData = subData;
|
|
487
545
|
_position.owner = triggerData.owner.toLowerCase();
|
|
@@ -515,7 +573,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
515
573
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
516
574
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
517
575
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
518
|
-
const subDataDecoder = subDataService.
|
|
576
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
|
|
519
577
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
520
578
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
521
579
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -546,6 +604,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
546
604
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
547
605
|
return _position;
|
|
548
606
|
}
|
|
607
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
608
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
609
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
610
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
611
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
612
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
613
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
614
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
615
|
+
_position.strategyData.decoded.subData = subData;
|
|
616
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
617
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
618
|
+
_position.specific = {
|
|
619
|
+
triggerRepayRatio: triggerData.ratio,
|
|
620
|
+
targetRepayRatio: subData.targetRatio,
|
|
621
|
+
repayEnabled: isEnabled,
|
|
622
|
+
subId1: Number(subId),
|
|
623
|
+
subHashRepay: subHash,
|
|
624
|
+
};
|
|
625
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
626
|
+
return _position;
|
|
627
|
+
}
|
|
549
628
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
550
629
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
551
630
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -619,7 +698,7 @@ function parseExchangeDca(position, parseData, chainId) {
|
|
|
619
698
|
function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
620
699
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
621
700
|
const { subStruct } = parseData.subscriptionEventData;
|
|
622
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
701
|
+
_position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
623
702
|
const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
624
703
|
const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
625
704
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -631,7 +710,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
631
710
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
632
711
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
633
712
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
634
|
-
const subData = subDataService.
|
|
713
|
+
const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
|
|
635
714
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
636
715
|
_position.strategyData.decoded.subData = subData;
|
|
637
716
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner);
|
|
@@ -697,7 +776,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
697
776
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
698
777
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
699
778
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
700
|
-
const subData = subDataService.
|
|
779
|
+
const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
701
780
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
702
781
|
_position.strategyData.decoded.subData = subData;
|
|
703
782
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -725,6 +804,25 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
725
804
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
726
805
|
return _position;
|
|
727
806
|
}
|
|
807
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
808
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
809
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
810
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
811
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
812
|
+
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
813
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
814
|
+
_position.strategyData.decoded.subData = subData;
|
|
815
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
816
|
+
_position.specific = {
|
|
817
|
+
triggerRepayRatio: triggerData.ratio,
|
|
818
|
+
targetRepayRatio: subData.targetRatio,
|
|
819
|
+
repayEnabled: isEnabled,
|
|
820
|
+
subId1: Number(subId),
|
|
821
|
+
subHashRepay: subHash,
|
|
822
|
+
};
|
|
823
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
824
|
+
return _position;
|
|
825
|
+
}
|
|
728
826
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
729
827
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
730
828
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -879,6 +977,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
879
977
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
880
978
|
return _position;
|
|
881
979
|
}
|
|
980
|
+
function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
981
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
982
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
983
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
984
|
+
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
985
|
+
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
986
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
987
|
+
_position.strategyData.decoded.subData = subData;
|
|
988
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
989
|
+
_position.specific = {
|
|
990
|
+
triggerRepayRatio: triggerData.ratio,
|
|
991
|
+
targetRepayRatio: subData.targetRatio,
|
|
992
|
+
repayEnabled: isEnabled,
|
|
993
|
+
subId1: Number(subId),
|
|
994
|
+
subHashRepay: subHash,
|
|
995
|
+
};
|
|
996
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
997
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
998
|
+
return _position;
|
|
999
|
+
}
|
|
882
1000
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
883
1001
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
884
1002
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -1031,6 +1149,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1031
1149
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1032
1150
|
return _position;
|
|
1033
1151
|
}
|
|
1152
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1153
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
1154
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1155
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1156
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1157
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1158
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1159
|
+
_position.strategyData.decoded.subData = subData;
|
|
1160
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1161
|
+
_position.specific = {
|
|
1162
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1163
|
+
targetRepayRatio: subData.targetRatio,
|
|
1164
|
+
repayEnabled: isEnabled,
|
|
1165
|
+
subId1: Number(subId),
|
|
1166
|
+
subHashRepay: subHash,
|
|
1167
|
+
};
|
|
1168
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1169
|
+
return _position;
|
|
1170
|
+
}
|
|
1034
1171
|
const parsingMethodsMapping = {
|
|
1035
1172
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1036
1173
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1040,6 +1177,7 @@ const parsingMethodsMapping = {
|
|
|
1040
1177
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1041
1178
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1042
1179
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1180
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1043
1181
|
},
|
|
1044
1182
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1045
1183
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1078,6 +1216,8 @@ const parsingMethodsMapping = {
|
|
|
1078
1216
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1079
1217
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1080
1218
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1219
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1220
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1081
1221
|
},
|
|
1082
1222
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1083
1223
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1092,6 +1232,8 @@ const parsingMethodsMapping = {
|
|
|
1092
1232
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1093
1233
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1094
1234
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1235
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1236
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1095
1237
|
},
|
|
1096
1238
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1097
1239
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1108,6 +1250,8 @@ const parsingMethodsMapping = {
|
|
|
1108
1250
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1109
1251
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1110
1252
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1253
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1254
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1111
1255
|
},
|
|
1112
1256
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1113
1257
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1127,6 +1271,7 @@ const parsingMethodsMapping = {
|
|
|
1127
1271
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1128
1272
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1129
1273
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1274
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1130
1275
|
},
|
|
1131
1276
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1132
1277
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1139,11 +1284,15 @@ const parsingMethodsMapping = {
|
|
|
1139
1284
|
[enums_1.Strategies.Identifiers.EoaRepay]: parseMorphoBlueLeverageManagement,
|
|
1140
1285
|
[enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1141
1286
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1287
|
+
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1142
1288
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1289
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1290
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1143
1291
|
},
|
|
1144
1292
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1145
1293
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1146
1294
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1295
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1147
1296
|
},
|
|
1148
1297
|
};
|
|
1149
1298
|
function getParsingMethod(id, strategy) {
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CloseToAssetType, Bundles, ChainId, RatioState, Strategies } from '../types/enums';
|
|
1
|
+
import { Bundles, ChainId, CloseToAssetType, RatioState, Strategies } from '../types/enums';
|
|
3
2
|
import type { EthereumAddress, StrategyOrBundleIds } from '../types';
|
|
3
|
+
import type { OrderType } from '../types/enums';
|
|
4
4
|
export declare const makerEncode: {
|
|
5
5
|
repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds | Bundles.BaseIds)[];
|
|
6
6
|
closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
7
7
|
trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
8
|
-
|
|
8
|
+
leverageManagement(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, isBoost: boolean, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
9
|
+
liquidationProtection(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
9
10
|
};
|
|
10
11
|
export declare const liquityEncode: {
|
|
11
12
|
closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
12
13
|
trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
13
14
|
paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
|
|
14
|
-
|
|
15
|
+
leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
15
16
|
dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
16
17
|
dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
17
18
|
debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
18
19
|
};
|
|
19
|
-
export declare const chickenBondsEncode: {
|
|
20
|
-
rebond(bondId: number): string[];
|
|
21
|
-
};
|
|
22
20
|
export declare const aaveV2Encode: {
|
|
23
|
-
|
|
21
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
24
22
|
};
|
|
25
23
|
export declare const aaveV3Encode: {
|
|
26
24
|
closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
@@ -59,25 +57,24 @@ export declare const aaveV3Encode: {
|
|
|
59
57
|
marketAddr: EthereumAddress;
|
|
60
58
|
targetRatio: number;
|
|
61
59
|
}): (number | boolean | string[])[];
|
|
62
|
-
|
|
60
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
|
|
61
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
63
62
|
leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
|
|
64
63
|
closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
65
64
|
collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
|
|
66
65
|
};
|
|
67
66
|
export declare const compoundV2Encode: {
|
|
68
|
-
|
|
67
|
+
leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
69
68
|
};
|
|
70
69
|
export declare const compoundV3Encode: {
|
|
71
|
-
|
|
70
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
71
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
72
72
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
73
73
|
closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, stopLossPrice: number | undefined, stopLossType: CloseToAssetType | undefined, takeProfitPrice: number | undefined, takeProfitType: CloseToAssetType | undefined, user: EthereumAddress): (number | boolean | string[])[];
|
|
74
74
|
};
|
|
75
|
-
export declare const morphoAaveV2Encode: {
|
|
76
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
77
|
-
};
|
|
78
75
|
export declare const exchangeEncode: {
|
|
79
76
|
dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
80
|
-
|
|
77
|
+
limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType, fromTokenDecimals: number, toTokenDecimals: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
81
78
|
};
|
|
82
79
|
export declare const sparkEncode: {
|
|
83
80
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
@@ -94,7 +91,8 @@ export declare const sparkEncode: {
|
|
|
94
91
|
targetRatio: number;
|
|
95
92
|
}): (number | boolean | string[])[];
|
|
96
93
|
closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
97
|
-
|
|
94
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
95
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
98
96
|
collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
|
|
99
97
|
};
|
|
100
98
|
export declare const crvUSDEncode: {
|
|
@@ -103,6 +101,7 @@ export declare const crvUSDEncode: {
|
|
|
103
101
|
};
|
|
104
102
|
export declare const morphoBlueEncode: {
|
|
105
103
|
leverageManagement(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.BaseIds)[] | (boolean | string[] | Bundles.MainnetIds | Bundles.ArbitrumIds)[];
|
|
104
|
+
liquidationProtection(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.MainnetIds)[];
|
|
106
105
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, targetRatio: number, price: number, priceState: RatioState): (number | boolean | string[])[];
|
|
107
106
|
closeOnPrice(strategyOrBundleId: number, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
108
107
|
};
|
|
@@ -114,9 +113,11 @@ export declare const liquityV2Encode: {
|
|
|
114
113
|
};
|
|
115
114
|
export declare const fluidEncode: {
|
|
116
115
|
leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
116
|
+
liquidationProtection(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
117
117
|
};
|
|
118
118
|
export declare const aaveV4Encode: {
|
|
119
119
|
leverageManagement(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
120
|
+
liquidationProtection(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
120
121
|
leverageManagementOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, targetRatio: number, price: string, priceState: RatioState, ratioState: RatioState): (number | boolean | string[])[];
|
|
121
122
|
closeOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, stopLossPrice?: string, stopLossType?: CloseToAssetType, takeProfitPrice?: string, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
122
123
|
collateralSwitch(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, amountToSwitch: string, price: string, ratioState: RatioState): (number | boolean | string[])[];
|