@defisaver/automation-sdk 3.3.16-dev-13082-morpho-eoa-dev → 3.3.16-liq-prot-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/constants/index.js +117 -42
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +157 -12
- package/cjs/services/strategySubService.d.ts +18 -21
- package/cjs/services/strategySubService.js +78 -74
- package/cjs/services/strategySubService.test.js +3 -149
- 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/services/utils.d.ts +2 -1
- package/cjs/services/utils.js +14 -1
- package/cjs/types/enums.d.ts +36 -17
- package/cjs/types/enums.js +30 -11
- package/esm/constants/index.js +117 -42
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +157 -12
- package/esm/services/strategySubService.d.ts +18 -21
- package/esm/services/strategySubService.js +78 -73
- package/esm/services/strategySubService.test.js +4 -147
- 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/services/utils.d.ts +2 -1
- package/esm/services/utils.js +13 -1
- package/esm/types/enums.d.ts +36 -17
- package/esm/types/enums.js +30 -11
- package/package.json +1 -1
- package/src/constants/index.ts +119 -43
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +221 -12
- package/src/services/strategySubService.test.ts +3 -191
- package/src/services/strategySubService.ts +173 -121
- 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 +15 -1
- package/src/types/enums.ts +30 -13
package/esm/constants/index.js
CHANGED
|
@@ -543,24 +543,64 @@ export const MAINNET_BUNDLES_INFO = {
|
|
|
543
543
|
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
544
544
|
protocol: PROTOCOLS.AaveV4,
|
|
545
545
|
},
|
|
546
|
-
[Bundles.MainnetIds.
|
|
547
|
-
strategyOrBundleId: Bundles.MainnetIds.
|
|
548
|
-
strategyId: Strategies.Identifiers.
|
|
549
|
-
protocol: PROTOCOLS.
|
|
546
|
+
[Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
|
|
547
|
+
strategyOrBundleId: Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
|
|
548
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
549
|
+
protocol: PROTOCOLS.MakerDAO,
|
|
550
550
|
},
|
|
551
|
-
[Bundles.MainnetIds.
|
|
552
|
-
strategyOrBundleId: Bundles.MainnetIds.
|
|
553
|
-
strategyId: Strategies.Identifiers.
|
|
551
|
+
[Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
552
|
+
strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
553
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
554
|
+
protocol: PROTOCOLS.AaveV3,
|
|
555
|
+
},
|
|
556
|
+
[Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
|
|
557
|
+
strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
|
|
558
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
559
|
+
protocol: PROTOCOLS.AaveV4,
|
|
560
|
+
},
|
|
561
|
+
[Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
|
|
562
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
|
|
563
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
564
|
+
protocol: PROTOCOLS.Spark,
|
|
565
|
+
},
|
|
566
|
+
[Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
567
|
+
strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
568
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
569
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
570
|
+
},
|
|
571
|
+
[Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
572
|
+
strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
573
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
574
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
575
|
+
},
|
|
576
|
+
[Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
577
|
+
strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
578
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
554
579
|
protocol: PROTOCOLS.MorphoBlue,
|
|
555
580
|
},
|
|
556
|
-
[Bundles.MainnetIds.
|
|
557
|
-
strategyOrBundleId: Bundles.MainnetIds.
|
|
558
|
-
strategyId: Strategies.Identifiers.
|
|
581
|
+
[Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
582
|
+
strategyOrBundleId: Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
583
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
584
|
+
protocol: PROTOCOLS.FluidT1,
|
|
585
|
+
},
|
|
586
|
+
[Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
587
|
+
strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
588
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
589
|
+
protocol: PROTOCOLS.AaveV3,
|
|
590
|
+
},
|
|
591
|
+
[Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION]: {
|
|
592
|
+
strategyOrBundleId: Bundles.MainnetIds.AAVE_V4_EOA_LIQUIDATION_PROTECTION,
|
|
593
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
594
|
+
protocol: PROTOCOLS.AaveV4,
|
|
595
|
+
},
|
|
596
|
+
[Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
597
|
+
strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
598
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
559
599
|
protocol: PROTOCOLS.MorphoBlue,
|
|
560
600
|
},
|
|
561
|
-
[Bundles.MainnetIds.
|
|
562
|
-
strategyOrBundleId: Bundles.MainnetIds.
|
|
563
|
-
strategyId: Strategies.Identifiers.
|
|
601
|
+
[Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE]: {
|
|
602
|
+
strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
|
|
603
|
+
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
564
604
|
protocol: PROTOCOLS.MorphoBlue,
|
|
565
605
|
},
|
|
566
606
|
};
|
|
@@ -620,6 +660,16 @@ export const OPTIMISM_BUNDLES_INFO = {
|
|
|
620
660
|
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
621
661
|
protocol: PROTOCOLS.AaveV3,
|
|
622
662
|
},
|
|
663
|
+
[Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
664
|
+
strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
665
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
666
|
+
protocol: PROTOCOLS.AaveV3,
|
|
667
|
+
},
|
|
668
|
+
[Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
669
|
+
strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
670
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
671
|
+
protocol: PROTOCOLS.AaveV3,
|
|
672
|
+
},
|
|
623
673
|
};
|
|
624
674
|
export const BASE_BUNDLES_INFO = {
|
|
625
675
|
[Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -762,30 +812,35 @@ export const BASE_BUNDLES_INFO = {
|
|
|
762
812
|
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
763
813
|
protocol: PROTOCOLS.MorphoBlue,
|
|
764
814
|
},
|
|
765
|
-
[Bundles.BaseIds.
|
|
766
|
-
strategyOrBundleId: Bundles.BaseIds.
|
|
767
|
-
strategyId: Strategies.Identifiers.
|
|
768
|
-
protocol: PROTOCOLS.
|
|
815
|
+
[Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
816
|
+
strategyOrBundleId: Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
817
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
818
|
+
protocol: PROTOCOLS.AaveV3,
|
|
769
819
|
},
|
|
770
|
-
[Bundles.BaseIds.
|
|
771
|
-
strategyOrBundleId: Bundles.BaseIds.
|
|
772
|
-
strategyId: Strategies.Identifiers.
|
|
773
|
-
protocol: PROTOCOLS.
|
|
820
|
+
[Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
821
|
+
strategyOrBundleId: Bundles.BaseIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
822
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
823
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
774
824
|
},
|
|
775
|
-
[Bundles.BaseIds.
|
|
776
|
-
strategyOrBundleId: Bundles.BaseIds.
|
|
777
|
-
strategyId: Strategies.Identifiers.
|
|
778
|
-
protocol: PROTOCOLS.
|
|
825
|
+
[Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
826
|
+
strategyOrBundleId: Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
827
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
828
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
779
829
|
},
|
|
780
|
-
[Bundles.BaseIds.
|
|
781
|
-
strategyOrBundleId: Bundles.BaseIds.
|
|
782
|
-
strategyId: Strategies.Identifiers.
|
|
830
|
+
[Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
831
|
+
strategyOrBundleId: Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
832
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
783
833
|
protocol: PROTOCOLS.MorphoBlue,
|
|
784
834
|
},
|
|
785
|
-
[Bundles.BaseIds.
|
|
786
|
-
strategyOrBundleId: Bundles.BaseIds.
|
|
787
|
-
strategyId: Strategies.Identifiers.
|
|
788
|
-
protocol: PROTOCOLS.
|
|
835
|
+
[Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
836
|
+
strategyOrBundleId: Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
837
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
838
|
+
protocol: PROTOCOLS.FluidT1,
|
|
839
|
+
},
|
|
840
|
+
[Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
841
|
+
strategyOrBundleId: Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
842
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
843
|
+
protocol: PROTOCOLS.AaveV3,
|
|
789
844
|
},
|
|
790
845
|
};
|
|
791
846
|
export const ARBITRUM_BUNDLES_INFO = {
|
|
@@ -939,19 +994,39 @@ export const ARBITRUM_BUNDLES_INFO = {
|
|
|
939
994
|
strategyId: Strategies.Identifiers.RepayOnPrice,
|
|
940
995
|
protocol: PROTOCOLS.MorphoBlue,
|
|
941
996
|
},
|
|
942
|
-
[Bundles.ArbitrumIds.
|
|
943
|
-
strategyOrBundleId: Bundles.ArbitrumIds.
|
|
944
|
-
strategyId: Strategies.Identifiers.
|
|
945
|
-
protocol: PROTOCOLS.
|
|
997
|
+
[Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
998
|
+
strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
999
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
1000
|
+
protocol: PROTOCOLS.AaveV3,
|
|
946
1001
|
},
|
|
947
|
-
[Bundles.ArbitrumIds.
|
|
948
|
-
strategyOrBundleId: Bundles.ArbitrumIds.
|
|
949
|
-
strategyId: Strategies.Identifiers.
|
|
1002
|
+
[Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
1003
|
+
strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_LIQUIDATION_PROTECTION,
|
|
1004
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
1005
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
1006
|
+
},
|
|
1007
|
+
[Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1008
|
+
strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1009
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
1010
|
+
protocol: PROTOCOLS.CompoundV3,
|
|
1011
|
+
},
|
|
1012
|
+
[Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
1013
|
+
strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
1014
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
950
1015
|
protocol: PROTOCOLS.MorphoBlue,
|
|
951
1016
|
},
|
|
952
|
-
[Bundles.ArbitrumIds.
|
|
953
|
-
strategyOrBundleId: Bundles.ArbitrumIds.
|
|
954
|
-
strategyId: Strategies.Identifiers.
|
|
1017
|
+
[Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
1018
|
+
strategyOrBundleId: Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
1019
|
+
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
1020
|
+
protocol: PROTOCOLS.FluidT1,
|
|
1021
|
+
},
|
|
1022
|
+
[Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1023
|
+
strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1024
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
1025
|
+
protocol: PROTOCOLS.AaveV3,
|
|
1026
|
+
},
|
|
1027
|
+
[Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1028
|
+
strategyOrBundleId: Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1029
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
955
1030
|
protocol: PROTOCOLS.MorphoBlue,
|
|
956
1031
|
},
|
|
957
1032
|
};
|
package/esm/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/esm/index.js
CHANGED
|
@@ -18,6 +18,9 @@ import * as constants from './constants';
|
|
|
18
18
|
import * as enums from './types/enums';
|
|
19
19
|
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType, } from './services/utils';
|
|
20
20
|
const utils = {
|
|
21
|
-
|
|
21
|
+
compareSubHashes,
|
|
22
|
+
encodeSubId,
|
|
23
|
+
getCloseStrategyType,
|
|
24
|
+
getRatioStateInfoForAaveCloseStrategy,
|
|
22
25
|
};
|
|
23
|
-
export {
|
|
26
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
@@ -66,7 +66,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
66
66
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
67
67
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
68
68
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
69
|
-
const subData = subDataService.
|
|
69
|
+
const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
|
|
70
70
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
71
71
|
_position.strategyData.decoded.subData = subData;
|
|
72
72
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
@@ -94,6 +94,24 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
94
94
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
95
95
|
return _position;
|
|
96
96
|
}
|
|
97
|
+
function parseMakerLiquidationProtection(position, parseData) {
|
|
98
|
+
const _position = cloneDeep(position);
|
|
99
|
+
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
100
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
101
|
+
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
102
|
+
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
103
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
104
|
+
_position.strategyData.decoded.subData = subData;
|
|
105
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
106
|
+
_position.specific = {
|
|
107
|
+
triggerRepayRatio: triggerData.ratio,
|
|
108
|
+
targetRepayRatio: subData.targetRatio,
|
|
109
|
+
repayEnabled: isEnabled,
|
|
110
|
+
subId1: Number(subId),
|
|
111
|
+
};
|
|
112
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
113
|
+
return _position;
|
|
114
|
+
}
|
|
97
115
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
98
116
|
const _position = cloneDeep(position);
|
|
99
117
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -131,7 +149,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
131
149
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
132
150
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
133
151
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
134
|
-
const subData = subDataService.
|
|
152
|
+
const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
135
153
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
136
154
|
_position.strategyData.decoded.subData = subData;
|
|
137
155
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -167,10 +185,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
167
185
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
168
186
|
let subData;
|
|
169
187
|
if (isEOA) {
|
|
170
|
-
subData = subDataService.
|
|
188
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
171
189
|
}
|
|
172
190
|
else {
|
|
173
|
-
subData = subDataService.
|
|
191
|
+
subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
174
192
|
}
|
|
175
193
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
176
194
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -204,6 +222,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
204
222
|
}
|
|
205
223
|
return _position;
|
|
206
224
|
}
|
|
225
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
226
|
+
const _position = cloneDeep(position);
|
|
227
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
228
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
229
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
230
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
231
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
232
|
+
_position.strategyData.decoded.subData = subData;
|
|
233
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
234
|
+
_position.specific = {
|
|
235
|
+
triggerRepayRatio: triggerData.ratio,
|
|
236
|
+
targetRepayRatio: subData.targetRatio,
|
|
237
|
+
repayEnabled: isEnabled,
|
|
238
|
+
subId1: Number(subId),
|
|
239
|
+
subHashRepay: subHash,
|
|
240
|
+
};
|
|
241
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
242
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
243
|
+
return _position;
|
|
244
|
+
}
|
|
207
245
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
208
246
|
const _position = cloneDeep(position);
|
|
209
247
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -333,6 +371,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
333
371
|
}
|
|
334
372
|
return _position;
|
|
335
373
|
}
|
|
374
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
375
|
+
const _position = cloneDeep(position);
|
|
376
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
377
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
378
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
379
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
380
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
381
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
382
|
+
_position.strategyData.decoded.subData = subData;
|
|
383
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
384
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
385
|
+
_position.specific = {
|
|
386
|
+
triggerRepayRatio: triggerData.ratio,
|
|
387
|
+
targetRepayRatio: subData.targetRatio,
|
|
388
|
+
repayEnabled: isEnabled,
|
|
389
|
+
subId1: Number(subId),
|
|
390
|
+
subHashRepay: subHash,
|
|
391
|
+
};
|
|
392
|
+
return _position;
|
|
393
|
+
}
|
|
336
394
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
337
395
|
const _position = cloneDeep(position);
|
|
338
396
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -452,7 +510,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
452
510
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
453
511
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
454
512
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
455
|
-
const subData = subDataService.
|
|
513
|
+
const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
456
514
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
457
515
|
_position.strategyData.decoded.subData = subData;
|
|
458
516
|
_position.owner = triggerData.owner.toLowerCase();
|
|
@@ -486,7 +544,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
486
544
|
const _position = cloneDeep(position);
|
|
487
545
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
488
546
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
489
|
-
const subDataDecoder = subDataService.
|
|
547
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
|
|
490
548
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
491
549
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
492
550
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -517,6 +575,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
517
575
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
518
576
|
return _position;
|
|
519
577
|
}
|
|
578
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
579
|
+
const _position = cloneDeep(position);
|
|
580
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
581
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
582
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
583
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
584
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
585
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
586
|
+
_position.strategyData.decoded.subData = subData;
|
|
587
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
588
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
589
|
+
_position.specific = {
|
|
590
|
+
triggerRepayRatio: triggerData.ratio,
|
|
591
|
+
targetRepayRatio: subData.targetRatio,
|
|
592
|
+
repayEnabled: isEnabled,
|
|
593
|
+
subId1: Number(subId),
|
|
594
|
+
subHashRepay: subHash,
|
|
595
|
+
};
|
|
596
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
597
|
+
return _position;
|
|
598
|
+
}
|
|
520
599
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
521
600
|
const _position = cloneDeep(position);
|
|
522
601
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -590,7 +669,7 @@ function parseExchangeDca(position, parseData, chainId) {
|
|
|
590
669
|
function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
591
670
|
const _position = cloneDeep(position);
|
|
592
671
|
const { subStruct } = parseData.subscriptionEventData;
|
|
593
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
672
|
+
_position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
594
673
|
const fromTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
595
674
|
const toTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
596
675
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -602,7 +681,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
602
681
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
603
682
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
604
683
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
605
|
-
const subData = subDataService.
|
|
684
|
+
const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
|
|
606
685
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
607
686
|
_position.strategyData.decoded.subData = subData;
|
|
608
687
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner);
|
|
@@ -668,7 +747,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
668
747
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
669
748
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
670
749
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
671
|
-
const subData = subDataService.
|
|
750
|
+
const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
672
751
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
673
752
|
_position.strategyData.decoded.subData = subData;
|
|
674
753
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -696,6 +775,25 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
775
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
697
776
|
return _position;
|
|
698
777
|
}
|
|
778
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
779
|
+
const _position = cloneDeep(position);
|
|
780
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
781
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
782
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
783
|
+
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
784
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
785
|
+
_position.strategyData.decoded.subData = subData;
|
|
786
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
787
|
+
_position.specific = {
|
|
788
|
+
triggerRepayRatio: triggerData.ratio,
|
|
789
|
+
targetRepayRatio: subData.targetRatio,
|
|
790
|
+
repayEnabled: isEnabled,
|
|
791
|
+
subId1: Number(subId),
|
|
792
|
+
subHashRepay: subHash,
|
|
793
|
+
};
|
|
794
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
795
|
+
return _position;
|
|
796
|
+
}
|
|
699
797
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
700
798
|
const _position = cloneDeep(position);
|
|
701
799
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -850,6 +948,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
850
948
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
851
949
|
return _position;
|
|
852
950
|
}
|
|
951
|
+
function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
952
|
+
const _position = cloneDeep(position);
|
|
953
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
954
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
955
|
+
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
956
|
+
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
957
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
958
|
+
_position.strategyData.decoded.subData = subData;
|
|
959
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
960
|
+
_position.specific = {
|
|
961
|
+
triggerRepayRatio: triggerData.ratio,
|
|
962
|
+
targetRepayRatio: subData.targetRatio,
|
|
963
|
+
repayEnabled: isEnabled,
|
|
964
|
+
subId1: Number(subId),
|
|
965
|
+
subHashRepay: subHash,
|
|
966
|
+
};
|
|
967
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
968
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
969
|
+
return _position;
|
|
970
|
+
}
|
|
853
971
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
854
972
|
const _position = cloneDeep(position);
|
|
855
973
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -1002,6 +1120,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1002
1120
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
1003
1121
|
return _position;
|
|
1004
1122
|
}
|
|
1123
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1124
|
+
const _position = cloneDeep(position);
|
|
1125
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1126
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1127
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1128
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1129
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1130
|
+
_position.strategyData.decoded.subData = subData;
|
|
1131
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1132
|
+
_position.specific = {
|
|
1133
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1134
|
+
targetRepayRatio: subData.targetRatio,
|
|
1135
|
+
repayEnabled: isEnabled,
|
|
1136
|
+
subId1: Number(subId),
|
|
1137
|
+
subHashRepay: subHash,
|
|
1138
|
+
};
|
|
1139
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
1140
|
+
return _position;
|
|
1141
|
+
}
|
|
1005
1142
|
const parsingMethodsMapping = {
|
|
1006
1143
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1007
1144
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1011,6 +1148,7 @@ const parsingMethodsMapping = {
|
|
|
1011
1148
|
[Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1012
1149
|
[Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1013
1150
|
[Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1151
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1014
1152
|
},
|
|
1015
1153
|
[ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1016
1154
|
[Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1049,6 +1187,8 @@ const parsingMethodsMapping = {
|
|
|
1049
1187
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1050
1188
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1051
1189
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1190
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1191
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1052
1192
|
},
|
|
1053
1193
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1054
1194
|
[Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1063,6 +1203,8 @@ const parsingMethodsMapping = {
|
|
|
1063
1203
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1064
1204
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1065
1205
|
[Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1206
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1207
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1066
1208
|
},
|
|
1067
1209
|
[ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1068
1210
|
[Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1079,6 +1221,8 @@ const parsingMethodsMapping = {
|
|
|
1079
1221
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1080
1222
|
[Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1081
1223
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1224
|
+
[Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1225
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1082
1226
|
},
|
|
1083
1227
|
[ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1084
1228
|
[Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1098,6 +1242,7 @@ const parsingMethodsMapping = {
|
|
|
1098
1242
|
[Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1099
1243
|
[Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1100
1244
|
[Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1245
|
+
[Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1101
1246
|
},
|
|
1102
1247
|
[ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1103
1248
|
[Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1111,14 +1256,14 @@ const parsingMethodsMapping = {
|
|
|
1111
1256
|
[Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1112
1257
|
[Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1113
1258
|
[Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1114
|
-
[Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1115
|
-
[Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1116
1259
|
[Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1117
|
-
[Strategies.Identifiers.
|
|
1260
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1261
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1118
1262
|
},
|
|
1119
1263
|
[ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1120
1264
|
[Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1121
1265
|
[Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1266
|
+
[Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1122
1267
|
},
|
|
1123
1268
|
};
|
|
1124
1269
|
function getParsingMethod(id, strategy) {
|