@defisaver/automation-sdk 3.3.17 → 3.3.18
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 +135 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +157 -9
- package/cjs/services/strategySubService.d.ts +18 -17
- package/cjs/services/strategySubService.js +68 -28
- package/cjs/services/strategySubService.test.js +2 -40
- package/cjs/services/subDataService.d.ts +70 -20
- package/cjs/services/subDataService.js +23 -79
- package/cjs/services/subDataService.test.js +17 -202
- package/cjs/types/enums.d.ts +35 -4
- package/cjs/types/enums.js +31 -0
- package/esm/constants/index.js +135 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +157 -9
- package/esm/services/strategySubService.d.ts +18 -17
- package/esm/services/strategySubService.js +67 -27
- package/esm/services/strategySubService.test.js +3 -38
- package/esm/services/subDataService.d.ts +70 -20
- package/esm/services/subDataService.js +21 -77
- package/esm/services/subDataService.test.js +18 -200
- package/esm/types/enums.d.ts +35 -4
- package/esm/types/enums.js +31 -0
- package/package.json +1 -1
- package/src/constants/index.ts +137 -1
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +221 -9
- package/src/services/strategySubService.test.ts +2 -46
- package/src/services/strategySubService.ts +164 -40
- package/src/services/subDataService.test.ts +18 -214
- package/src/services/subDataService.ts +42 -106
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +3 -1
- package/src/types/enums.ts +31 -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
|
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
553
608
|
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
554
609
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
@@ -626,6 +681,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
626
681
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
627
682
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
628
683
|
},
|
|
684
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
685
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
686
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
687
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
688
|
+
},
|
|
689
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
690
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
691
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
692
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
693
|
+
},
|
|
629
694
|
};
|
|
630
695
|
exports.BASE_BUNDLES_INFO = {
|
|
631
696
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -768,6 +833,41 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
768
833
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
769
834
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
770
835
|
},
|
|
836
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
837
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
838
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
839
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
840
|
+
},
|
|
841
|
+
[enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
842
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
843
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
844
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
845
|
+
},
|
|
846
|
+
[enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
847
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
848
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
849
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
850
|
+
},
|
|
851
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
852
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
853
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
854
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
855
|
+
},
|
|
856
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
857
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
858
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
859
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
860
|
+
},
|
|
861
|
+
[enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
862
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
863
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
864
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
865
|
+
},
|
|
866
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
867
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
868
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
869
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
870
|
+
},
|
|
771
871
|
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY]: {
|
|
772
872
|
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY,
|
|
773
873
|
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
@@ -945,6 +1045,41 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
945
1045
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
946
1046
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
947
1047
|
},
|
|
1048
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
1049
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
1050
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1051
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1052
|
+
},
|
|
1053
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
1054
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
1055
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1056
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
1057
|
+
},
|
|
1058
|
+
[enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1059
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1060
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1061
|
+
protocol: exports.PROTOCOLS.CompoundV3,
|
|
1062
|
+
},
|
|
1063
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
1064
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
1065
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1066
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1067
|
+
},
|
|
1068
|
+
[enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
1069
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
1070
|
+
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
1071
|
+
protocol: exports.PROTOCOLS.FluidT1,
|
|
1072
|
+
},
|
|
1073
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1074
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1075
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1076
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1077
|
+
},
|
|
1078
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1079
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1080
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1081
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1082
|
+
},
|
|
948
1083
|
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
|
|
949
1084
|
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
|
|
950
1085
|
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
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;
|
|
@@ -1037,6 +1155,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1037
1155
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1038
1156
|
return _position;
|
|
1039
1157
|
}
|
|
1158
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1159
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
1160
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1161
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1162
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1163
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1164
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1165
|
+
_position.strategyData.decoded.subData = subData;
|
|
1166
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1167
|
+
_position.specific = {
|
|
1168
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1169
|
+
targetRepayRatio: subData.targetRatio,
|
|
1170
|
+
repayEnabled: isEnabled,
|
|
1171
|
+
subId1: Number(subId),
|
|
1172
|
+
subHashRepay: subHash,
|
|
1173
|
+
};
|
|
1174
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1175
|
+
return _position;
|
|
1176
|
+
}
|
|
1040
1177
|
const parsingMethodsMapping = {
|
|
1041
1178
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1042
1179
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1046,6 +1183,7 @@ const parsingMethodsMapping = {
|
|
|
1046
1183
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1047
1184
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1048
1185
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1186
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1049
1187
|
},
|
|
1050
1188
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1051
1189
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1084,6 +1222,8 @@ const parsingMethodsMapping = {
|
|
|
1084
1222
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1085
1223
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1086
1224
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1225
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1226
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1087
1227
|
},
|
|
1088
1228
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1089
1229
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1098,6 +1238,8 @@ const parsingMethodsMapping = {
|
|
|
1098
1238
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1099
1239
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1100
1240
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1241
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1242
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1101
1243
|
},
|
|
1102
1244
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1103
1245
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1114,6 +1256,8 @@ const parsingMethodsMapping = {
|
|
|
1114
1256
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1115
1257
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1116
1258
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1259
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1260
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1117
1261
|
},
|
|
1118
1262
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1119
1263
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1133,6 +1277,7 @@ const parsingMethodsMapping = {
|
|
|
1133
1277
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1134
1278
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1135
1279
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1280
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1136
1281
|
},
|
|
1137
1282
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1138
1283
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1149,11 +1294,14 @@ const parsingMethodsMapping = {
|
|
|
1149
1294
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1150
1295
|
[enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1151
1296
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1297
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1298
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1152
1299
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1153
1300
|
},
|
|
1154
1301
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1155
1302
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1156
1303
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1304
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1157
1305
|
},
|
|
1158
1306
|
};
|
|
1159
1307
|
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,17 +91,19 @@ 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: {
|
|
101
99
|
leverageManagement(owner: EthereumAddress, controllerAddr: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, collTokenAddr: EthereumAddress, crvUSDAddr: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
102
100
|
payback(proxyAddress: EthereumAddress, addressToPullTokensFrom: EthereumAddress, positionOwner: EthereumAddress, paybackAmount: string, crvUSDAddr: EthereumAddress, controllerAddr: EthereumAddress, minHealthRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
103
101
|
};
|
|
104
|
-
export type MorphoBlueBundleStrategy = 'repay' | 'boost' | 'repayOnPrice' | 'boostOnPrice' | 'close';
|
|
102
|
+
export type MorphoBlueBundleStrategy = 'repay' | 'boost' | 'repayOnPrice' | 'boostOnPrice' | 'close' | 'liquidationProtection';
|
|
105
103
|
export declare function getMorphoBlueBundleId(network: ChainId, strategy: MorphoBlueBundleStrategy, isEOA: boolean): number;
|
|
106
104
|
export declare const morphoBlueEncode: {
|
|
107
105
|
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): (number | boolean | string[])[];
|
|
106
|
+
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): (number | boolean | string[])[];
|
|
108
107
|
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[])[];
|
|
109
108
|
leverageManagementOnPriceGeneric(loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, isBoost: boolean, isEOA: boolean, network: ChainId): (number | boolean | string[])[];
|
|
110
109
|
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[])[];
|
|
@@ -118,9 +117,11 @@ export declare const liquityV2Encode: {
|
|
|
118
117
|
};
|
|
119
118
|
export declare const fluidEncode: {
|
|
120
119
|
leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
120
|
+
liquidationProtection(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
121
121
|
};
|
|
122
122
|
export declare const aaveV4Encode: {
|
|
123
123
|
leverageManagement(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
124
|
+
liquidationProtection(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
124
125
|
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[])[];
|
|
125
126
|
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[])[];
|
|
126
127
|
collateralSwitch(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, amountToSwitch: string, price: string, ratioState: RatioState): (number | boolean | string[])[];
|