@defisaver/automation-sdk 3.3.14 → 3.3.15-liq-prot-1-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 +130 -0
- package/cjs/index.d.ts +4 -3
- package/cjs/index.js +6 -2
- package/cjs/services/strategiesService.js +178 -17
- package/cjs/services/strategySubService.d.ts +14 -13
- package/cjs/services/strategySubService.js +79 -63
- package/cjs/services/strategySubService.test.js +0 -234
- package/cjs/services/subDataService.d.ts +92 -4
- package/cjs/services/subDataService.js +245 -35
- package/cjs/services/subDataService.test.js +0 -110
- package/cjs/services/utils.d.ts +3 -1
- package/cjs/services/utils.js +34 -1
- package/cjs/services/utils.test.js +25 -0
- package/cjs/types/enums.d.ts +36 -6
- package/cjs/types/enums.js +30 -0
- package/esm/constants/index.js +130 -0
- package/esm/index.d.ts +4 -3
- package/esm/index.js +7 -3
- package/esm/services/strategiesService.js +178 -17
- package/esm/services/strategySubService.d.ts +14 -13
- package/esm/services/strategySubService.js +79 -60
- package/esm/services/strategySubService.test.js +2 -236
- package/esm/services/subDataService.d.ts +92 -4
- package/esm/services/subDataService.js +243 -34
- package/esm/services/subDataService.test.js +0 -110
- package/esm/services/utils.d.ts +3 -1
- package/esm/services/utils.js +32 -1
- package/esm/services/utils.test.js +27 -2
- package/esm/types/enums.d.ts +36 -6
- package/esm/types/enums.js +30 -0
- package/package.json +1 -1
- package/src/constants/index.ts +132 -1
- package/src/index.ts +24 -6
- package/src/services/strategiesService.ts +242 -17
- package/src/services/strategySubService.test.ts +0 -279
- package/src/services/strategySubService.ts +209 -116
- package/src/services/subDataService.test.ts +0 -120
- package/src/services/subDataService.ts +335 -49
- package/src/services/utils.test.ts +32 -1
- package/src/services/utils.ts +32 -1
- package/src/types/enums.ts +30 -2
package/cjs/constants/index.js
CHANGED
|
@@ -549,6 +549,61 @@ 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
|
+
},
|
|
552
607
|
};
|
|
553
608
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
554
609
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -606,6 +661,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
606
661
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
607
662
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
608
663
|
},
|
|
664
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
665
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
666
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
667
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
668
|
+
},
|
|
669
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
670
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
671
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
672
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
673
|
+
},
|
|
609
674
|
};
|
|
610
675
|
exports.BASE_BUNDLES_INFO = {
|
|
611
676
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -743,6 +808,36 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
743
808
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
744
809
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
745
810
|
},
|
|
811
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
812
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
813
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
814
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
815
|
+
},
|
|
816
|
+
[enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
817
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
818
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
819
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
820
|
+
},
|
|
821
|
+
[enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
822
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
823
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
824
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
825
|
+
},
|
|
826
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
827
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
828
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
829
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
830
|
+
},
|
|
831
|
+
[enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
832
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
833
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
834
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
835
|
+
},
|
|
836
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
837
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
838
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
839
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
840
|
+
},
|
|
746
841
|
};
|
|
747
842
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
748
843
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -890,6 +985,41 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
890
985
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
891
986
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
892
987
|
},
|
|
988
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
989
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
990
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
991
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
992
|
+
},
|
|
993
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
994
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
995
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
996
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
997
|
+
},
|
|
998
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
999
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1000
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1001
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
1002
|
+
},
|
|
1003
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
1004
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
1005
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1006
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1007
|
+
},
|
|
1008
|
+
[enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
1009
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
1010
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1011
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
1012
|
+
},
|
|
1013
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1014
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1015
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1016
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1017
|
+
},
|
|
1018
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1019
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1020
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1021
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1022
|
+
},
|
|
893
1023
|
};
|
|
894
1024
|
exports.BUNDLES_INFO = {
|
|
895
1025
|
[enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
|
package/cjs/index.d.ts
CHANGED
|
@@ -13,12 +13,13 @@ import * as strategiesService from './services/strategiesService';
|
|
|
13
13
|
import * as constants from './constants';
|
|
14
14
|
import * as enums from './types/enums';
|
|
15
15
|
import type * as types from './types';
|
|
16
|
-
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
|
|
16
|
+
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, getCompoundV3LeverageManagementBundleId } 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
|
+
getCompoundV3LeverageManagementBundleId: typeof getCompoundV3LeverageManagementBundleId;
|
|
22
|
+
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
22
23
|
};
|
|
23
|
-
export {
|
|
24
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
24
25
|
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,10 @@ 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
|
+
getCompoundV3LeverageManagementBundleId: utils_1.getCompoundV3LeverageManagementBundleId,
|
|
67
|
+
getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy,
|
|
64
68
|
};
|
|
65
69
|
exports.utils = utils;
|
|
@@ -92,7 +92,7 @@ function parseMakerTrailingStop(position, parseData) {
|
|
|
92
92
|
}
|
|
93
93
|
function parseMakerLeverageManagement(position, parseData) {
|
|
94
94
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
95
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
95
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
96
96
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
97
97
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
98
98
|
const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -104,9 +104,10 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
104
104
|
_position.specific = {
|
|
105
105
|
triggerRepayRatio: triggerData.ratio,
|
|
106
106
|
targetRepayRatio: subData.targetRatio,
|
|
107
|
-
repayEnabled:
|
|
107
|
+
repayEnabled: isEnabled,
|
|
108
108
|
subId1: Number(subId),
|
|
109
109
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
110
|
+
subHashRepay: subHash,
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
else {
|
|
@@ -116,11 +117,30 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
116
117
|
boostEnabled: isEnabled,
|
|
117
118
|
subId2: Number(subId),
|
|
118
119
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
120
|
+
subHashBoost: subHash,
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
123
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
122
124
|
return _position;
|
|
123
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
|
+
}
|
|
124
144
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
125
145
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
126
146
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -155,7 +175,7 @@ function parseLiquityTrailingStop(position, parseData) {
|
|
|
155
175
|
}
|
|
156
176
|
function parseAaveV2LeverageManagement(position, parseData) {
|
|
157
177
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
158
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
178
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
159
179
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
160
180
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
161
181
|
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -167,9 +187,10 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
167
187
|
_position.specific = {
|
|
168
188
|
triggerRepayRatio: triggerData.ratio,
|
|
169
189
|
targetRepayRatio: subData.targetRatio,
|
|
170
|
-
repayEnabled:
|
|
190
|
+
repayEnabled: isEnabled,
|
|
171
191
|
subId1: Number(subId),
|
|
172
192
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
193
|
+
subHashRepay: subHash,
|
|
173
194
|
};
|
|
174
195
|
}
|
|
175
196
|
else {
|
|
@@ -179,6 +200,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
179
200
|
boostEnabled: isEnabled,
|
|
180
201
|
subId2: Number(subId),
|
|
181
202
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
203
|
+
subHashBoost: subHash,
|
|
182
204
|
};
|
|
183
205
|
}
|
|
184
206
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -229,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
229
251
|
}
|
|
230
252
|
return _position;
|
|
231
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
|
+
}
|
|
232
274
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
233
275
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
234
276
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -358,6 +400,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
358
400
|
}
|
|
359
401
|
return _position;
|
|
360
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
|
+
}
|
|
361
423
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
362
424
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
363
425
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -416,7 +478,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
416
478
|
}
|
|
417
479
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
418
480
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
419
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
481
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
420
482
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
421
483
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
422
484
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -428,9 +490,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
428
490
|
_position.specific = {
|
|
429
491
|
triggerRepayRatio: triggerData.ratio,
|
|
430
492
|
targetRepayRatio: subData.targetRatio,
|
|
431
|
-
repayEnabled:
|
|
493
|
+
repayEnabled: isEnabled,
|
|
432
494
|
subId1: Number(subId),
|
|
433
495
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
496
|
+
subHashRepay: subHash,
|
|
434
497
|
};
|
|
435
498
|
}
|
|
436
499
|
else {
|
|
@@ -440,6 +503,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
440
503
|
boostEnabled: isEnabled,
|
|
441
504
|
subId2: Number(subId),
|
|
442
505
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
506
|
+
subHashBoost: subHash,
|
|
443
507
|
};
|
|
444
508
|
}
|
|
445
509
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -472,7 +536,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
472
536
|
}
|
|
473
537
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
474
538
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
475
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
539
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
476
540
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
477
541
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
478
542
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -485,9 +549,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
485
549
|
_position.specific = {
|
|
486
550
|
triggerRepayRatio: triggerData.ratio,
|
|
487
551
|
targetRepayRatio: subData.targetRatio,
|
|
488
|
-
repayEnabled:
|
|
552
|
+
repayEnabled: isEnabled,
|
|
489
553
|
subId1: Number(subId),
|
|
490
554
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
555
|
+
subHashRepay: subHash,
|
|
491
556
|
};
|
|
492
557
|
}
|
|
493
558
|
else {
|
|
@@ -497,6 +562,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
497
562
|
boostEnabled: isEnabled,
|
|
498
563
|
subId2: Number(subId),
|
|
499
564
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
565
|
+
subHashBoost: subHash,
|
|
500
566
|
};
|
|
501
567
|
}
|
|
502
568
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -505,11 +571,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
505
571
|
}
|
|
506
572
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
507
573
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
508
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
574
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
509
575
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
510
|
-
const subDataDecoder =
|
|
511
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
512
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
576
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
513
577
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
514
578
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
515
579
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -521,9 +585,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
521
585
|
_position.specific = {
|
|
522
586
|
triggerRepayRatio: triggerData.ratio,
|
|
523
587
|
targetRepayRatio: subData.targetRatio,
|
|
524
|
-
repayEnabled:
|
|
588
|
+
repayEnabled: isEnabled,
|
|
525
589
|
subId1: Number(subId),
|
|
526
590
|
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
591
|
+
subHashRepay: subHash,
|
|
527
592
|
};
|
|
528
593
|
}
|
|
529
594
|
else {
|
|
@@ -533,11 +598,33 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
533
598
|
boostEnabled: isEnabled,
|
|
534
599
|
subId2: Number(subId),
|
|
535
600
|
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
601
|
+
subHashBoost: subHash,
|
|
536
602
|
};
|
|
537
603
|
}
|
|
538
604
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
539
605
|
return _position;
|
|
540
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.compoundV3LiquidationProtectionSubDataWithoutSubProxy;
|
|
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
|
+
}
|
|
541
628
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
542
629
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
543
630
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -620,7 +707,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
620
707
|
}
|
|
621
708
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
622
709
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
623
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
710
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
624
711
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
625
712
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
626
713
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -632,9 +719,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
632
719
|
_position.specific = {
|
|
633
720
|
triggerRepayRatio: triggerData.ratio,
|
|
634
721
|
targetRepayRatio: subData.targetRatio,
|
|
635
|
-
repayEnabled:
|
|
722
|
+
repayEnabled: isEnabled,
|
|
636
723
|
subId1: Number(subId),
|
|
637
724
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
725
|
+
subHashRepay: subHash,
|
|
638
726
|
};
|
|
639
727
|
}
|
|
640
728
|
else {
|
|
@@ -644,6 +732,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
644
732
|
boostEnabled: isEnabled,
|
|
645
733
|
subId2: Number(subId),
|
|
646
734
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
735
|
+
subHashBoost: subHash,
|
|
647
736
|
};
|
|
648
737
|
}
|
|
649
738
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -684,7 +773,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
684
773
|
}
|
|
685
774
|
function parseSparkLeverageManagement(position, parseData) {
|
|
686
775
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
687
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
776
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
688
777
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
689
778
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
690
779
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -696,9 +785,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
785
|
_position.specific = {
|
|
697
786
|
triggerRepayRatio: triggerData.ratio,
|
|
698
787
|
targetRepayRatio: subData.targetRatio,
|
|
699
|
-
repayEnabled:
|
|
788
|
+
repayEnabled: isEnabled,
|
|
700
789
|
subId1: Number(subId),
|
|
701
790
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
791
|
+
subHashRepay: subHash,
|
|
702
792
|
};
|
|
703
793
|
}
|
|
704
794
|
else {
|
|
@@ -708,11 +798,31 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
708
798
|
boostEnabled: isEnabled,
|
|
709
799
|
subId2: Number(subId),
|
|
710
800
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
801
|
+
subHashBoost: subHash,
|
|
711
802
|
};
|
|
712
803
|
}
|
|
713
804
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
714
805
|
return _position;
|
|
715
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
|
+
}
|
|
716
826
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
717
827
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
718
828
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -867,6 +977,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
867
977
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
868
978
|
return _position;
|
|
869
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
|
+
}
|
|
870
1000
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
871
1001
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
872
1002
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -890,6 +1020,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
890
1020
|
debtAsset: subData.loanToken,
|
|
891
1021
|
price: triggerData.price,
|
|
892
1022
|
ratio: subData.targetRatio,
|
|
1023
|
+
ratioState: triggerData.priceState,
|
|
893
1024
|
};
|
|
894
1025
|
return _position;
|
|
895
1026
|
}
|
|
@@ -1018,6 +1149,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1018
1149
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1019
1150
|
return _position;
|
|
1020
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
|
+
}
|
|
1021
1171
|
const parsingMethodsMapping = {
|
|
1022
1172
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1023
1173
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1027,6 +1177,7 @@ const parsingMethodsMapping = {
|
|
|
1027
1177
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1028
1178
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1029
1179
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1180
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1030
1181
|
},
|
|
1031
1182
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1032
1183
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1065,6 +1216,8 @@ const parsingMethodsMapping = {
|
|
|
1065
1216
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1066
1217
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1067
1218
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1219
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1220
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1068
1221
|
},
|
|
1069
1222
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1070
1223
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1079,6 +1232,8 @@ const parsingMethodsMapping = {
|
|
|
1079
1232
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1080
1233
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1081
1234
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1235
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1236
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1082
1237
|
},
|
|
1083
1238
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1084
1239
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1095,6 +1250,8 @@ const parsingMethodsMapping = {
|
|
|
1095
1250
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1096
1251
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1097
1252
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1253
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1254
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1098
1255
|
},
|
|
1099
1256
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1100
1257
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1114,6 +1271,7 @@ const parsingMethodsMapping = {
|
|
|
1114
1271
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1115
1272
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1116
1273
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1274
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1117
1275
|
},
|
|
1118
1276
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1119
1277
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1127,10 +1285,13 @@ const parsingMethodsMapping = {
|
|
|
1127
1285
|
[enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1128
1286
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1129
1287
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1288
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1289
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1130
1290
|
},
|
|
1131
1291
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1132
1292
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1133
1293
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1294
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1134
1295
|
},
|
|
1135
1296
|
};
|
|
1136
1297
|
function getParsingMethod(id, strategy) {
|