@defisaver/automation-sdk 3.3.16 → 3.3.17-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 +190 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/strategiesService.js +169 -12
- package/cjs/services/strategySubService.d.ts +22 -17
- package/cjs/services/strategySubService.js +115 -38
- package/cjs/services/strategySubService.test.js +111 -41
- 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 +48 -6
- package/cjs/types/enums.js +42 -0
- package/esm/constants/index.js +190 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/strategiesService.js +169 -12
- package/esm/services/strategySubService.d.ts +22 -17
- package/esm/services/strategySubService.js +113 -37
- package/esm/services/strategySubService.test.js +112 -39
- 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 +48 -6
- package/esm/types/enums.js +42 -0
- package/package.json +1 -1
- package/src/constants/index.ts +192 -1
- package/src/index.ts +22 -6
- package/src/services/strategiesService.ts +234 -12
- package/src/services/strategySubService.test.ts +147 -47
- package/src/services/strategySubService.ts +246 -47
- 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 +42 -2
package/cjs/constants/index.js
CHANGED
|
@@ -549,11 +549,81 @@ 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,
|
|
555
610
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
556
611
|
},
|
|
612
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
|
|
613
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
|
|
614
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
615
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
616
|
+
},
|
|
617
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
|
|
618
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
|
|
619
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
620
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
621
|
+
},
|
|
622
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE]: {
|
|
623
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_EOA_CLOSE,
|
|
624
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
625
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
626
|
+
},
|
|
557
627
|
};
|
|
558
628
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
559
629
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -611,6 +681,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
611
681
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
612
682
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
613
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
|
+
},
|
|
614
694
|
};
|
|
615
695
|
exports.BASE_BUNDLES_INFO = {
|
|
616
696
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -753,6 +833,66 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
753
833
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
754
834
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
755
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
|
+
},
|
|
871
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY]: {
|
|
872
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY,
|
|
873
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
874
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
875
|
+
},
|
|
876
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST]: {
|
|
877
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST,
|
|
878
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
879
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
880
|
+
},
|
|
881
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
|
|
882
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
|
|
883
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
884
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
885
|
+
},
|
|
886
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
|
|
887
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
|
|
888
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
889
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
890
|
+
},
|
|
891
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE]: {
|
|
892
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_EOA_CLOSE,
|
|
893
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
894
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
895
|
+
},
|
|
756
896
|
};
|
|
757
897
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
758
898
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -905,6 +1045,56 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
905
1045
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
906
1046
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
907
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
|
+
},
|
|
1083
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE]: {
|
|
1084
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_BOOST_ON_PRICE,
|
|
1085
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
1086
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1087
|
+
},
|
|
1088
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE]: {
|
|
1089
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_REPAY_ON_PRICE,
|
|
1090
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
1091
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1092
|
+
},
|
|
1093
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE]: {
|
|
1094
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_CLOSE,
|
|
1095
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
1096
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1097
|
+
},
|
|
908
1098
|
};
|
|
909
1099
|
exports.BUNDLES_INFO = {
|
|
910
1100
|
[enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
|
package/cjs/index.d.ts
CHANGED
|
@@ -15,10 +15,10 @@ import * as enums from './types/enums';
|
|
|
15
15
|
import type * as types from './types';
|
|
16
16
|
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
|
|
17
17
|
declare const utils: {
|
|
18
|
-
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
19
18
|
compareSubHashes: typeof compareSubHashes;
|
|
20
19
|
encodeSubId: typeof encodeSubId;
|
|
21
20
|
getCloseStrategyType: typeof getCloseStrategyType;
|
|
21
|
+
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
22
22
|
};
|
|
23
|
-
export {
|
|
23
|
+
export { ArbitrumStrategies, BaseStrategies, EthereumStrategies, LegacyAaveAutomation, LegacyCompoundAutomation, LegacyMakerAutomation, OptimismStrategies, constants, enums, strategiesService, strategySubService, subDataService, triggerService, utils, };
|
|
24
24
|
export type { types };
|
package/cjs/index.js
CHANGED
|
@@ -30,7 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
31
|
};
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.
|
|
33
|
+
exports.utils = exports.triggerService = exports.subDataService = exports.strategySubService = exports.strategiesService = exports.enums = exports.constants = exports.OptimismStrategies = exports.LegacyMakerAutomation = exports.LegacyCompoundAutomation = exports.LegacyAaveAutomation = exports.EthereumStrategies = exports.BaseStrategies = exports.ArbitrumStrategies = void 0;
|
|
34
34
|
require("./configuration");
|
|
35
35
|
const LegacyMakerAutomation_1 = __importDefault(require("./automation/public/legacy/LegacyMakerAutomation"));
|
|
36
36
|
exports.LegacyMakerAutomation = LegacyMakerAutomation_1.default;
|
|
@@ -60,6 +60,9 @@ const enums = __importStar(require("./types/enums"));
|
|
|
60
60
|
exports.enums = enums;
|
|
61
61
|
const utils_1 = require("./services/utils");
|
|
62
62
|
const utils = {
|
|
63
|
-
|
|
63
|
+
compareSubHashes: utils_1.compareSubHashes,
|
|
64
|
+
encodeSubId: utils_1.encodeSubId,
|
|
65
|
+
getCloseStrategyType: utils_1.getCloseStrategyType,
|
|
66
|
+
getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy,
|
|
64
67
|
};
|
|
65
68
|
exports.utils = utils;
|
|
@@ -95,7 +95,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
95
95
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
96
96
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
97
97
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
98
|
-
const subData = subDataService.
|
|
98
|
+
const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
|
|
99
99
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
100
100
|
_position.strategyData.decoded.subData = subData;
|
|
101
101
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
@@ -123,6 +123,24 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
123
123
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
124
124
|
return _position;
|
|
125
125
|
}
|
|
126
|
+
function parseMakerLiquidationProtection(position, parseData) {
|
|
127
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
|
+
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
129
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
130
|
+
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
131
|
+
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
132
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
133
|
+
_position.strategyData.decoded.subData = subData;
|
|
134
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
135
|
+
_position.specific = {
|
|
136
|
+
triggerRepayRatio: triggerData.ratio,
|
|
137
|
+
targetRepayRatio: subData.targetRatio,
|
|
138
|
+
repayEnabled: isEnabled,
|
|
139
|
+
subId1: Number(subId),
|
|
140
|
+
};
|
|
141
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
142
|
+
return _position;
|
|
143
|
+
}
|
|
126
144
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
127
145
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
146
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -160,7 +178,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
160
178
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
161
179
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
162
180
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
163
|
-
const subData = subDataService.
|
|
181
|
+
const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
164
182
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
165
183
|
_position.strategyData.decoded.subData = subData;
|
|
166
184
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -196,10 +214,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
196
214
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
197
215
|
let subData;
|
|
198
216
|
if (isEOA) {
|
|
199
|
-
subData = subDataService.
|
|
217
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
200
218
|
}
|
|
201
219
|
else {
|
|
202
|
-
subData = subDataService.
|
|
220
|
+
subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
203
221
|
}
|
|
204
222
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
205
223
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -233,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
233
251
|
}
|
|
234
252
|
return _position;
|
|
235
253
|
}
|
|
254
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
255
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
256
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
257
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
258
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
259
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
260
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
261
|
+
_position.strategyData.decoded.subData = subData;
|
|
262
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
263
|
+
_position.specific = {
|
|
264
|
+
triggerRepayRatio: triggerData.ratio,
|
|
265
|
+
targetRepayRatio: subData.targetRatio,
|
|
266
|
+
repayEnabled: isEnabled,
|
|
267
|
+
subId1: Number(subId),
|
|
268
|
+
subHashRepay: subHash,
|
|
269
|
+
};
|
|
270
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
271
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
272
|
+
return _position;
|
|
273
|
+
}
|
|
236
274
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
237
275
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
238
276
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -362,6 +400,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
362
400
|
}
|
|
363
401
|
return _position;
|
|
364
402
|
}
|
|
403
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
404
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
405
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
406
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
407
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
408
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
409
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
410
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
411
|
+
_position.strategyData.decoded.subData = subData;
|
|
412
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
413
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
414
|
+
_position.specific = {
|
|
415
|
+
triggerRepayRatio: triggerData.ratio,
|
|
416
|
+
targetRepayRatio: subData.targetRatio,
|
|
417
|
+
repayEnabled: isEnabled,
|
|
418
|
+
subId1: Number(subId),
|
|
419
|
+
subHashRepay: subHash,
|
|
420
|
+
};
|
|
421
|
+
return _position;
|
|
422
|
+
}
|
|
365
423
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
366
424
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
367
425
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -481,7 +539,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
481
539
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
482
540
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
483
541
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
484
|
-
const subData = subDataService.
|
|
542
|
+
const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
485
543
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
486
544
|
_position.strategyData.decoded.subData = subData;
|
|
487
545
|
_position.owner = triggerData.owner.toLowerCase();
|
|
@@ -515,7 +573,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
515
573
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
516
574
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
517
575
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
518
|
-
const subDataDecoder = subDataService.
|
|
576
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
|
|
519
577
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
520
578
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
521
579
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -546,6 +604,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
546
604
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
547
605
|
return _position;
|
|
548
606
|
}
|
|
607
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
608
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
609
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
610
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
611
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
612
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
613
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
614
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
615
|
+
_position.strategyData.decoded.subData = subData;
|
|
616
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
617
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
618
|
+
_position.specific = {
|
|
619
|
+
triggerRepayRatio: triggerData.ratio,
|
|
620
|
+
targetRepayRatio: subData.targetRatio,
|
|
621
|
+
repayEnabled: isEnabled,
|
|
622
|
+
subId1: Number(subId),
|
|
623
|
+
subHashRepay: subHash,
|
|
624
|
+
};
|
|
625
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
626
|
+
return _position;
|
|
627
|
+
}
|
|
549
628
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
550
629
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
551
630
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -619,7 +698,7 @@ function parseExchangeDca(position, parseData, chainId) {
|
|
|
619
698
|
function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
620
699
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
621
700
|
const { subStruct } = parseData.subscriptionEventData;
|
|
622
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
701
|
+
_position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
623
702
|
const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
624
703
|
const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
625
704
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -631,7 +710,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
631
710
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
632
711
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
633
712
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
634
|
-
const subData = subDataService.
|
|
713
|
+
const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
|
|
635
714
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
636
715
|
_position.strategyData.decoded.subData = subData;
|
|
637
716
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner);
|
|
@@ -697,7 +776,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
697
776
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
698
777
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
699
778
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
700
|
-
const subData = subDataService.
|
|
779
|
+
const subData = subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
701
780
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
702
781
|
_position.strategyData.decoded.subData = subData;
|
|
703
782
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -725,6 +804,25 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
725
804
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
726
805
|
return _position;
|
|
727
806
|
}
|
|
807
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
808
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
809
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
810
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
811
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
812
|
+
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
813
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
814
|
+
_position.strategyData.decoded.subData = subData;
|
|
815
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
816
|
+
_position.specific = {
|
|
817
|
+
triggerRepayRatio: triggerData.ratio,
|
|
818
|
+
targetRepayRatio: subData.targetRatio,
|
|
819
|
+
repayEnabled: isEnabled,
|
|
820
|
+
subId1: Number(subId),
|
|
821
|
+
subHashRepay: subHash,
|
|
822
|
+
};
|
|
823
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
824
|
+
return _position;
|
|
825
|
+
}
|
|
728
826
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
729
827
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
730
828
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -849,6 +947,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
849
947
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
850
948
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
851
949
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
950
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
852
951
|
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
853
952
|
const subData = subDataService.morphoBlueLeverageManagementSubData.decode(subStruct.subData);
|
|
854
953
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -862,7 +961,7 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
862
961
|
repayEnabled: isEnabled,
|
|
863
962
|
subId1: Number(subId),
|
|
864
963
|
subHashRepay: subHash,
|
|
865
|
-
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
964
|
+
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
866
965
|
};
|
|
867
966
|
}
|
|
868
967
|
else {
|
|
@@ -872,16 +971,36 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
872
971
|
boostEnabled: isEnabled,
|
|
873
972
|
subId2: Number(subId),
|
|
874
973
|
subHashBoost: subHash,
|
|
875
|
-
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
974
|
+
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
876
975
|
};
|
|
877
976
|
}
|
|
878
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
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;
|
|
1003
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
885
1004
|
const triggerData = triggerService.morphoBluePriceTrigger.decode(subStruct.triggerData);
|
|
886
1005
|
const subData = subDataService.morphoBlueLeverageManagementOnPriceSubData.decode(subStruct.subData);
|
|
887
1006
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -904,11 +1023,15 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
904
1023
|
ratio: subData.targetRatio,
|
|
905
1024
|
ratioState: triggerData.priceState,
|
|
906
1025
|
};
|
|
1026
|
+
_position.strategy.strategyId = isEOA
|
|
1027
|
+
? enums_1.Strategies.IdOverrides.EoaLeverageManagementOnPrice
|
|
1028
|
+
: enums_1.Strategies.IdOverrides.LeverageManagementOnPrice;
|
|
907
1029
|
return _position;
|
|
908
1030
|
}
|
|
909
1031
|
function parseMorphoBlueCloseOnPrice(position, parseData) {
|
|
910
1032
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
911
1033
|
const { subStruct } = parseData.subscriptionEventData;
|
|
1034
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
912
1035
|
const triggerData = triggerService.morphoBluePriceRangeTrigger.decode(subStruct.triggerData);
|
|
913
1036
|
const subData = subDataService.morphoBlueCloseOnPriceSubData.decode(subStruct.subData);
|
|
914
1037
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -923,6 +1046,7 @@ function parseMorphoBlueCloseOnPrice(position, parseData) {
|
|
|
923
1046
|
]);
|
|
924
1047
|
const marketId = web3.utils.keccak256(marketIdEncodedData);
|
|
925
1048
|
const { takeProfitType, stopLossType } = (0, utils_1.getStopLossAndTakeProfitTypeByCloseStrategyType)(+subData.closeType);
|
|
1049
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.Identifiers.EoaCloseOnPrice : enums_1.Strategies.Identifiers.CloseOnPrice;
|
|
926
1050
|
_position.specific = {
|
|
927
1051
|
subHash: _position.subHash,
|
|
928
1052
|
marketId,
|
|
@@ -1031,6 +1155,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1031
1155
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1032
1156
|
return _position;
|
|
1033
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
|
+
}
|
|
1034
1177
|
const parsingMethodsMapping = {
|
|
1035
1178
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1036
1179
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1040,6 +1183,7 @@ const parsingMethodsMapping = {
|
|
|
1040
1183
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1041
1184
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1042
1185
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1186
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1043
1187
|
},
|
|
1044
1188
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1045
1189
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1078,6 +1222,8 @@ const parsingMethodsMapping = {
|
|
|
1078
1222
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1079
1223
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1080
1224
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1225
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1226
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1081
1227
|
},
|
|
1082
1228
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1083
1229
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1092,6 +1238,8 @@ const parsingMethodsMapping = {
|
|
|
1092
1238
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1093
1239
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1094
1240
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1241
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1242
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1095
1243
|
},
|
|
1096
1244
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1097
1245
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1108,6 +1256,8 @@ const parsingMethodsMapping = {
|
|
|
1108
1256
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1109
1257
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1110
1258
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1259
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1260
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1111
1261
|
},
|
|
1112
1262
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1113
1263
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1127,6 +1277,7 @@ const parsingMethodsMapping = {
|
|
|
1127
1277
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1128
1278
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1129
1279
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1280
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1130
1281
|
},
|
|
1131
1282
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1132
1283
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1140,11 +1291,17 @@ const parsingMethodsMapping = {
|
|
|
1140
1291
|
[enums_1.Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1141
1292
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1142
1293
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1294
|
+
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1295
|
+
[enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1143
1296
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1297
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1298
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1299
|
+
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1144
1300
|
},
|
|
1145
1301
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1146
1302
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1147
1303
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1304
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1148
1305
|
},
|
|
1149
1306
|
};
|
|
1150
1307
|
function getParsingMethod(id, strategy) {
|