@defisaver/automation-sdk 3.3.14 → 3.3.15-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 +95 -0
- package/cjs/index.d.ts +4 -3
- package/cjs/index.js +6 -2
- package/cjs/services/strategiesService.js +181 -17
- package/cjs/services/strategySubService.d.ts +14 -13
- package/cjs/services/strategySubService.js +74 -63
- package/cjs/services/strategySubService.test.js +0 -234
- package/cjs/services/subDataService.d.ts +98 -1
- package/cjs/services/subDataService.js +264 -6
- package/cjs/services/subDataService.test.js +0 -42
- 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 +29 -6
- package/cjs/types/enums.js +23 -0
- package/esm/constants/index.js +95 -0
- package/esm/index.d.ts +4 -3
- package/esm/index.js +7 -3
- package/esm/services/strategiesService.js +181 -17
- package/esm/services/strategySubService.d.ts +14 -13
- package/esm/services/strategySubService.js +74 -60
- package/esm/services/strategySubService.test.js +2 -236
- package/esm/services/subDataService.d.ts +98 -1
- package/esm/services/subDataService.js +262 -5
- package/esm/services/subDataService.test.js +0 -42
- 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 +29 -6
- package/esm/types/enums.js +23 -0
- package/package.json +1 -1
- package/src/constants/index.ts +96 -0
- package/src/index.ts +24 -6
- package/src/services/strategiesService.ts +246 -17
- package/src/services/strategySubService.test.ts +0 -279
- package/src/services/strategySubService.ts +196 -110
- package/src/services/subDataService.test.ts +0 -48
- package/src/services/subDataService.ts +363 -4
- package/src/services/utils.test.ts +32 -1
- package/src/services/utils.ts +32 -1
- package/src/types/enums.ts +23 -0
package/cjs/constants/index.js
CHANGED
|
@@ -549,6 +549,46 @@ 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_LIQUIDATION_PROTECTION]: {
|
|
553
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MAKER_LIQUIDATION_PROTECTION,
|
|
554
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
555
|
+
protocol: exports.PROTOCOLS.MakerDAO,
|
|
556
|
+
},
|
|
557
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
|
|
558
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_LIQUIDATION_PROTECTION,
|
|
559
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
560
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
561
|
+
},
|
|
562
|
+
[enums_1.Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION]: {
|
|
563
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_LIQUIDATION_PROTECTION,
|
|
564
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
565
|
+
protocol: exports.PROTOCOLS.AaveV4,
|
|
566
|
+
},
|
|
567
|
+
[enums_1.Bundles.MainnetIds.SPARK_LIQUIDATION_PROTECTION]: {
|
|
568
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.SPARK_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.LiquidationProtection,
|
|
580
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
581
|
+
},
|
|
582
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
|
|
583
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
|
|
584
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
585
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
586
|
+
},
|
|
587
|
+
[enums_1.Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
|
|
588
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.FLUID_T1_LIQUIDATION_PROTECTION,
|
|
589
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
590
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
591
|
+
},
|
|
552
592
|
};
|
|
553
593
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
554
594
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -606,6 +646,11 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
606
646
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
607
647
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
608
648
|
},
|
|
649
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
|
|
650
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_LIQUIDATION_PROTECTION,
|
|
651
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
652
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
653
|
+
},
|
|
609
654
|
};
|
|
610
655
|
exports.BASE_BUNDLES_INFO = {
|
|
611
656
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -743,6 +788,31 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
743
788
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
744
789
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
745
790
|
},
|
|
791
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
|
|
792
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_LIQUIDATION_PROTECTION,
|
|
793
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
794
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
795
|
+
},
|
|
796
|
+
[enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
797
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
798
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
799
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
800
|
+
},
|
|
801
|
+
[enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
802
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
803
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
804
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
805
|
+
},
|
|
806
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
|
|
807
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
|
|
808
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
809
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
810
|
+
},
|
|
811
|
+
[enums_1.Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
|
|
812
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_LIQUIDATION_PROTECTION,
|
|
813
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
814
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
815
|
+
},
|
|
746
816
|
};
|
|
747
817
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
748
818
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -890,6 +960,31 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
890
960
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
891
961
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
892
962
|
},
|
|
963
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION]: {
|
|
964
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_LIQUIDATION_PROTECTION,
|
|
965
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
966
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
967
|
+
},
|
|
968
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
969
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
970
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
971
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
972
|
+
},
|
|
973
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
974
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
975
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
976
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
977
|
+
},
|
|
978
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION]: {
|
|
979
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_LIQUIDATION_PROTECTION,
|
|
980
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
981
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
982
|
+
},
|
|
983
|
+
[enums_1.Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION]: {
|
|
984
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_LIQUIDATION_PROTECTION,
|
|
985
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
986
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
987
|
+
},
|
|
893
988
|
};
|
|
894
989
|
exports.BUNDLES_INFO = {
|
|
895
990
|
[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,31 @@ 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
|
+
// TODO -> Is this ok?
|
|
142
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
143
|
+
return _position;
|
|
144
|
+
}
|
|
124
145
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
125
146
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
126
147
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -155,7 +176,7 @@ function parseLiquityTrailingStop(position, parseData) {
|
|
|
155
176
|
}
|
|
156
177
|
function parseAaveV2LeverageManagement(position, parseData) {
|
|
157
178
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
158
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
179
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
159
180
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
160
181
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
161
182
|
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -167,9 +188,10 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
167
188
|
_position.specific = {
|
|
168
189
|
triggerRepayRatio: triggerData.ratio,
|
|
169
190
|
targetRepayRatio: subData.targetRatio,
|
|
170
|
-
repayEnabled:
|
|
191
|
+
repayEnabled: isEnabled,
|
|
171
192
|
subId1: Number(subId),
|
|
172
193
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
194
|
+
subHashRepay: subHash,
|
|
173
195
|
};
|
|
174
196
|
}
|
|
175
197
|
else {
|
|
@@ -179,6 +201,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
179
201
|
boostEnabled: isEnabled,
|
|
180
202
|
subId2: Number(subId),
|
|
181
203
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
204
|
+
subHashBoost: subHash,
|
|
182
205
|
};
|
|
183
206
|
}
|
|
184
207
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -229,6 +252,27 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
229
252
|
}
|
|
230
253
|
return _position;
|
|
231
254
|
}
|
|
255
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
256
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
257
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
258
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
259
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
260
|
+
// const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
261
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
262
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
263
|
+
_position.strategyData.decoded.subData = subData;
|
|
264
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
265
|
+
_position.specific = {
|
|
266
|
+
triggerRepayRatio: triggerData.ratio,
|
|
267
|
+
targetRepayRatio: subData.targetRatio,
|
|
268
|
+
repayEnabled: isEnabled,
|
|
269
|
+
subId1: Number(subId),
|
|
270
|
+
subHashRepay: subHash,
|
|
271
|
+
};
|
|
272
|
+
// TODO -> Should split for EOA or not? Prob not as they will use same encoding and decoding
|
|
273
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
274
|
+
return _position;
|
|
275
|
+
}
|
|
232
276
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
233
277
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
234
278
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -358,6 +402,27 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
358
402
|
}
|
|
359
403
|
return _position;
|
|
360
404
|
}
|
|
405
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
406
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
407
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
408
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
409
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
410
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
411
|
+
// const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
412
|
+
// const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
|
|
413
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
414
|
+
_position.strategyData.decoded.subData = subData;
|
|
415
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
416
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
417
|
+
_position.specific = {
|
|
418
|
+
triggerRepayRatio: triggerData.ratio,
|
|
419
|
+
targetRepayRatio: subData.targetRatio,
|
|
420
|
+
repayEnabled: isEnabled,
|
|
421
|
+
subId1: Number(subId),
|
|
422
|
+
subHashRepay: subHash,
|
|
423
|
+
};
|
|
424
|
+
return _position;
|
|
425
|
+
}
|
|
361
426
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
362
427
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
363
428
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -416,7 +481,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
416
481
|
}
|
|
417
482
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
418
483
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
419
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
484
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
420
485
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
421
486
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
422
487
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -428,9 +493,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
428
493
|
_position.specific = {
|
|
429
494
|
triggerRepayRatio: triggerData.ratio,
|
|
430
495
|
targetRepayRatio: subData.targetRatio,
|
|
431
|
-
repayEnabled:
|
|
496
|
+
repayEnabled: isEnabled,
|
|
432
497
|
subId1: Number(subId),
|
|
433
498
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
499
|
+
subHashRepay: subHash,
|
|
434
500
|
};
|
|
435
501
|
}
|
|
436
502
|
else {
|
|
@@ -440,6 +506,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
440
506
|
boostEnabled: isEnabled,
|
|
441
507
|
subId2: Number(subId),
|
|
442
508
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
509
|
+
subHashBoost: subHash,
|
|
443
510
|
};
|
|
444
511
|
}
|
|
445
512
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -472,7 +539,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
472
539
|
}
|
|
473
540
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
474
541
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
475
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
542
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
476
543
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
477
544
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
478
545
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -485,9 +552,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
485
552
|
_position.specific = {
|
|
486
553
|
triggerRepayRatio: triggerData.ratio,
|
|
487
554
|
targetRepayRatio: subData.targetRatio,
|
|
488
|
-
repayEnabled:
|
|
555
|
+
repayEnabled: isEnabled,
|
|
489
556
|
subId1: Number(subId),
|
|
490
557
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
558
|
+
subHashRepay: subHash,
|
|
491
559
|
};
|
|
492
560
|
}
|
|
493
561
|
else {
|
|
@@ -497,6 +565,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
497
565
|
boostEnabled: isEnabled,
|
|
498
566
|
subId2: Number(subId),
|
|
499
567
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
568
|
+
subHashBoost: subHash,
|
|
500
569
|
};
|
|
501
570
|
}
|
|
502
571
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -505,11 +574,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
505
574
|
}
|
|
506
575
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
507
576
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
508
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
577
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
509
578
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
510
|
-
const subDataDecoder =
|
|
511
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
512
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
579
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
513
580
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
514
581
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
515
582
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -521,9 +588,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
521
588
|
_position.specific = {
|
|
522
589
|
triggerRepayRatio: triggerData.ratio,
|
|
523
590
|
targetRepayRatio: subData.targetRatio,
|
|
524
|
-
repayEnabled:
|
|
591
|
+
repayEnabled: isEnabled,
|
|
525
592
|
subId1: Number(subId),
|
|
526
593
|
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
594
|
+
subHashRepay: subHash,
|
|
527
595
|
};
|
|
528
596
|
}
|
|
529
597
|
else {
|
|
@@ -533,11 +601,34 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
533
601
|
boostEnabled: isEnabled,
|
|
534
602
|
subId2: Number(subId),
|
|
535
603
|
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
604
|
+
subHashBoost: subHash,
|
|
536
605
|
};
|
|
537
606
|
}
|
|
538
607
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
539
608
|
return _position;
|
|
540
609
|
}
|
|
610
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
611
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
612
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
613
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
614
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
615
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
616
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
617
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
618
|
+
_position.strategyData.decoded.subData = subData;
|
|
619
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
620
|
+
// const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
|
|
621
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
622
|
+
_position.specific = {
|
|
623
|
+
triggerRepayRatio: triggerData.ratio,
|
|
624
|
+
targetRepayRatio: subData.targetRatio,
|
|
625
|
+
repayEnabled: isEnabled,
|
|
626
|
+
subId1: Number(subId),
|
|
627
|
+
subHashRepay: subHash,
|
|
628
|
+
};
|
|
629
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
630
|
+
return _position;
|
|
631
|
+
}
|
|
541
632
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
542
633
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
543
634
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -620,7 +711,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
620
711
|
}
|
|
621
712
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
622
713
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
623
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
714
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
624
715
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
625
716
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
626
717
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -632,9 +723,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
632
723
|
_position.specific = {
|
|
633
724
|
triggerRepayRatio: triggerData.ratio,
|
|
634
725
|
targetRepayRatio: subData.targetRatio,
|
|
635
|
-
repayEnabled:
|
|
726
|
+
repayEnabled: isEnabled,
|
|
636
727
|
subId1: Number(subId),
|
|
637
728
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
729
|
+
subHashRepay: subHash,
|
|
638
730
|
};
|
|
639
731
|
}
|
|
640
732
|
else {
|
|
@@ -644,6 +736,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
644
736
|
boostEnabled: isEnabled,
|
|
645
737
|
subId2: Number(subId),
|
|
646
738
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
739
|
+
subHashBoost: subHash,
|
|
647
740
|
};
|
|
648
741
|
}
|
|
649
742
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -684,7 +777,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
684
777
|
}
|
|
685
778
|
function parseSparkLeverageManagement(position, parseData) {
|
|
686
779
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
687
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
780
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
688
781
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
689
782
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
690
783
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -696,9 +789,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
789
|
_position.specific = {
|
|
697
790
|
triggerRepayRatio: triggerData.ratio,
|
|
698
791
|
targetRepayRatio: subData.targetRatio,
|
|
699
|
-
repayEnabled:
|
|
792
|
+
repayEnabled: isEnabled,
|
|
700
793
|
subId1: Number(subId),
|
|
701
794
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
795
|
+
subHashRepay: subHash,
|
|
702
796
|
};
|
|
703
797
|
}
|
|
704
798
|
else {
|
|
@@ -708,11 +802,31 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
708
802
|
boostEnabled: isEnabled,
|
|
709
803
|
subId2: Number(subId),
|
|
710
804
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
805
|
+
subHashBoost: subHash,
|
|
711
806
|
};
|
|
712
807
|
}
|
|
713
808
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
714
809
|
return _position;
|
|
715
810
|
}
|
|
811
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
812
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
813
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
814
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
815
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
816
|
+
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
817
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
818
|
+
_position.strategyData.decoded.subData = subData;
|
|
819
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
820
|
+
_position.specific = {
|
|
821
|
+
triggerRepayRatio: triggerData.ratio,
|
|
822
|
+
targetRepayRatio: subData.targetRatio,
|
|
823
|
+
repayEnabled: isEnabled,
|
|
824
|
+
subId1: Number(subId),
|
|
825
|
+
subHashRepay: subHash,
|
|
826
|
+
};
|
|
827
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
828
|
+
return _position;
|
|
829
|
+
}
|
|
716
830
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
717
831
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
718
832
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -867,6 +981,27 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
867
981
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
868
982
|
return _position;
|
|
869
983
|
}
|
|
984
|
+
function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
985
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
986
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
987
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
988
|
+
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
989
|
+
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
990
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
991
|
+
_position.strategyData.decoded.subData = subData;
|
|
992
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
993
|
+
_position.specific = {
|
|
994
|
+
triggerRepayRatio: triggerData.ratio,
|
|
995
|
+
targetRepayRatio: subData.targetRatio,
|
|
996
|
+
repayEnabled: isEnabled,
|
|
997
|
+
subId1: Number(subId),
|
|
998
|
+
subHashRepay: subHash,
|
|
999
|
+
};
|
|
1000
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1001
|
+
// TODO -> Should be separate for EOA ?
|
|
1002
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1003
|
+
return _position;
|
|
1004
|
+
}
|
|
870
1005
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
871
1006
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
872
1007
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -890,6 +1025,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
890
1025
|
debtAsset: subData.loanToken,
|
|
891
1026
|
price: triggerData.price,
|
|
892
1027
|
ratio: subData.targetRatio,
|
|
1028
|
+
ratioState: triggerData.priceState,
|
|
893
1029
|
};
|
|
894
1030
|
return _position;
|
|
895
1031
|
}
|
|
@@ -1018,6 +1154,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1018
1154
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1019
1155
|
return _position;
|
|
1020
1156
|
}
|
|
1157
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1158
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
1159
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1160
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1161
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1162
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1163
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1164
|
+
_position.strategyData.decoded.subData = subData;
|
|
1165
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1166
|
+
_position.specific = {
|
|
1167
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1168
|
+
targetRepayRatio: subData.targetRatio,
|
|
1169
|
+
repayEnabled: isEnabled,
|
|
1170
|
+
subId1: Number(subId),
|
|
1171
|
+
subHashRepay: subHash,
|
|
1172
|
+
};
|
|
1173
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1174
|
+
return _position;
|
|
1175
|
+
}
|
|
1021
1176
|
const parsingMethodsMapping = {
|
|
1022
1177
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1023
1178
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1027,6 +1182,7 @@ const parsingMethodsMapping = {
|
|
|
1027
1182
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1028
1183
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1029
1184
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1185
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1030
1186
|
},
|
|
1031
1187
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1032
1188
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1065,6 +1221,7 @@ const parsingMethodsMapping = {
|
|
|
1065
1221
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1066
1222
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1067
1223
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1224
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1068
1225
|
},
|
|
1069
1226
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1070
1227
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1079,6 +1236,7 @@ const parsingMethodsMapping = {
|
|
|
1079
1236
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1080
1237
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1081
1238
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1239
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1082
1240
|
},
|
|
1083
1241
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1084
1242
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1095,6 +1253,9 @@ const parsingMethodsMapping = {
|
|
|
1095
1253
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1096
1254
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1097
1255
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1256
|
+
// TODO -> here should prob separate EOA from SW
|
|
1257
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1258
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1098
1259
|
},
|
|
1099
1260
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1100
1261
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1114,6 +1275,7 @@ const parsingMethodsMapping = {
|
|
|
1114
1275
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1115
1276
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1116
1277
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1278
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1117
1279
|
},
|
|
1118
1280
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1119
1281
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1127,10 +1289,12 @@ const parsingMethodsMapping = {
|
|
|
1127
1289
|
[enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1128
1290
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1129
1291
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1292
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1130
1293
|
},
|
|
1131
1294
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1132
1295
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1133
1296
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1297
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1134
1298
|
},
|
|
1135
1299
|
};
|
|
1136
1300
|
function getParsingMethod(id, strategy) {
|