@defisaver/automation-sdk 3.3.15-liq-prot-dev → 3.3.15-liq-prot-1-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/constants/index.js +64 -29
- package/cjs/services/strategiesService.js +9 -12
- package/cjs/services/strategySubService.d.ts +1 -1
- package/cjs/services/strategySubService.js +10 -5
- package/cjs/services/subDataService.d.ts +5 -14
- package/cjs/services/subDataService.js +20 -68
- package/cjs/services/subDataService.test.js +0 -68
- package/cjs/services/utils.d.ts +1 -1
- package/cjs/services/utils.js +4 -4
- package/cjs/types/enums.d.ts +24 -17
- package/cjs/types/enums.js +22 -15
- package/esm/constants/index.js +64 -29
- package/esm/services/strategiesService.js +9 -12
- package/esm/services/strategySubService.d.ts +1 -1
- package/esm/services/strategySubService.js +10 -5
- package/esm/services/subDataService.d.ts +5 -14
- package/esm/services/subDataService.js +18 -66
- package/esm/services/subDataService.test.js +0 -68
- package/esm/services/utils.d.ts +1 -1
- package/esm/services/utils.js +4 -4
- package/esm/types/enums.d.ts +24 -17
- package/esm/types/enums.js +22 -15
- package/package.json +1 -1
- package/src/constants/index.ts +66 -31
- package/src/services/strategiesService.ts +11 -15
- package/src/services/strategySubService.ts +18 -11
- package/src/services/subDataService.test.ts +0 -72
- package/src/services/subDataService.ts +20 -93
- package/src/services/utils.ts +4 -4
- package/src/types/enums.ts +22 -17
package/cjs/constants/index.js
CHANGED
|
@@ -549,23 +549,23 @@ 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.
|
|
553
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
552
|
+
[enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
|
|
553
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
|
|
554
554
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
555
555
|
protocol: exports.PROTOCOLS.MakerDAO,
|
|
556
556
|
},
|
|
557
|
-
[enums_1.Bundles.MainnetIds.
|
|
558
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
557
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
558
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
559
559
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
560
560
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
561
561
|
},
|
|
562
|
-
[enums_1.Bundles.MainnetIds.
|
|
563
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
562
|
+
[enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION]: {
|
|
563
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V4_SW_LIQUIDATION_PROTECTION,
|
|
564
564
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
565
565
|
protocol: exports.PROTOCOLS.AaveV4,
|
|
566
566
|
},
|
|
567
|
-
[enums_1.Bundles.MainnetIds.
|
|
568
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
567
|
+
[enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION]: {
|
|
568
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.SPARK_SW_LIQUIDATION_PROTECTION,
|
|
569
569
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
570
570
|
protocol: exports.PROTOCOLS.Spark,
|
|
571
571
|
},
|
|
@@ -576,19 +576,34 @@ exports.MAINNET_BUNDLES_INFO = {
|
|
|
576
576
|
},
|
|
577
577
|
[enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
578
578
|
strategyOrBundleId: enums_1.Bundles.MainnetIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
579
|
-
strategyId: enums_1.Strategies.Identifiers.
|
|
579
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
580
580
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
581
581
|
},
|
|
582
|
-
[enums_1.Bundles.MainnetIds.
|
|
583
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
582
|
+
[enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
583
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
584
584
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
585
585
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
586
586
|
},
|
|
587
|
-
[enums_1.Bundles.MainnetIds.
|
|
588
|
-
strategyOrBundleId: enums_1.Bundles.MainnetIds.
|
|
587
|
+
[enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
588
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
589
589
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
590
590
|
protocol: exports.PROTOCOLS.FluidT1,
|
|
591
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
|
+
},
|
|
592
607
|
};
|
|
593
608
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
594
609
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -646,11 +661,16 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
646
661
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
647
662
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
648
663
|
},
|
|
649
|
-
[enums_1.Bundles.OptimismIds.
|
|
650
|
-
strategyOrBundleId: enums_1.Bundles.OptimismIds.
|
|
664
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
665
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
651
666
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
652
667
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
653
668
|
},
|
|
669
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
670
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
671
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
672
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
673
|
+
},
|
|
654
674
|
};
|
|
655
675
|
exports.BASE_BUNDLES_INFO = {
|
|
656
676
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -788,8 +808,8 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
788
808
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
789
809
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
790
810
|
},
|
|
791
|
-
[enums_1.Bundles.BaseIds.
|
|
792
|
-
strategyOrBundleId: enums_1.Bundles.BaseIds.
|
|
811
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
812
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
793
813
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
794
814
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
795
815
|
},
|
|
@@ -800,19 +820,24 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
800
820
|
},
|
|
801
821
|
[enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
802
822
|
strategyOrBundleId: enums_1.Bundles.BaseIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
803
|
-
strategyId: enums_1.Strategies.Identifiers.
|
|
823
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
804
824
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
805
825
|
},
|
|
806
|
-
[enums_1.Bundles.BaseIds.
|
|
807
|
-
strategyOrBundleId: enums_1.Bundles.BaseIds.
|
|
826
|
+
[enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
827
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
808
828
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
809
829
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
810
830
|
},
|
|
811
|
-
[enums_1.Bundles.BaseIds.
|
|
812
|
-
strategyOrBundleId: enums_1.Bundles.BaseIds.
|
|
831
|
+
[enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
832
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
813
833
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
814
834
|
protocol: exports.PROTOCOLS.FluidT1,
|
|
815
835
|
},
|
|
836
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
837
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
838
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
839
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
840
|
+
},
|
|
816
841
|
};
|
|
817
842
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
818
843
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -960,8 +985,8 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
960
985
|
strategyId: enums_1.Strategies.Identifiers.CloseOnPrice,
|
|
961
986
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
962
987
|
},
|
|
963
|
-
[enums_1.Bundles.ArbitrumIds.
|
|
964
|
-
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.
|
|
988
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION]: {
|
|
989
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_SW_LIQUIDATION_PROTECTION,
|
|
965
990
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
966
991
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
967
992
|
},
|
|
@@ -972,19 +997,29 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
972
997
|
},
|
|
973
998
|
[enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
974
999
|
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.COMP_V3_EOA_LIQUIDATION_PROTECTION,
|
|
975
|
-
strategyId: enums_1.Strategies.Identifiers.
|
|
1000
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
976
1001
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
977
1002
|
},
|
|
978
|
-
[enums_1.Bundles.ArbitrumIds.
|
|
979
|
-
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.
|
|
1003
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION]: {
|
|
1004
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION,
|
|
980
1005
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
981
1006
|
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
982
1007
|
},
|
|
983
|
-
[enums_1.Bundles.ArbitrumIds.
|
|
984
|
-
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.
|
|
1008
|
+
[enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION]: {
|
|
1009
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.FLUID_T1_SW_LIQUIDATION_PROTECTION,
|
|
985
1010
|
strategyId: enums_1.Strategies.Identifiers.LiquidationProtection,
|
|
986
1011
|
protocol: exports.PROTOCOLS.FluidT1,
|
|
987
1012
|
},
|
|
1013
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION]: {
|
|
1014
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_LIQUIDATION_PROTECTION,
|
|
1015
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1016
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
1017
|
+
},
|
|
1018
|
+
[enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION]: {
|
|
1019
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION,
|
|
1020
|
+
strategyId: enums_1.Strategies.Identifiers.EoaLiquidationProtection,
|
|
1021
|
+
protocol: exports.PROTOCOLS.MorphoBlue,
|
|
1022
|
+
},
|
|
988
1023
|
};
|
|
989
1024
|
exports.BUNDLES_INFO = {
|
|
990
1025
|
[enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
|
|
@@ -138,7 +138,6 @@ function parseMakerLiquidationProtection(position, parseData) {
|
|
|
138
138
|
repayEnabled: isEnabled,
|
|
139
139
|
subId1: Number(subId),
|
|
140
140
|
};
|
|
141
|
-
// TODO -> Is this ok?
|
|
142
141
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
143
142
|
return _position;
|
|
144
143
|
}
|
|
@@ -257,7 +256,6 @@ function parseAaveV3LiquidationProtection(position, parseData) {
|
|
|
257
256
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
258
257
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
259
258
|
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
260
|
-
// const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
261
259
|
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
262
260
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
263
261
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -269,8 +267,8 @@ function parseAaveV3LiquidationProtection(position, parseData) {
|
|
|
269
267
|
subId1: Number(subId),
|
|
270
268
|
subHashRepay: subHash,
|
|
271
269
|
};
|
|
272
|
-
|
|
273
|
-
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
270
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
271
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
274
272
|
return _position;
|
|
275
273
|
}
|
|
276
274
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
@@ -408,12 +406,11 @@ function parseAaveV4LiquidationProtection(position, parseData) {
|
|
|
408
406
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
409
407
|
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
410
408
|
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
411
|
-
|
|
412
|
-
// const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
|
|
409
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
413
410
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
414
411
|
_position.strategyData.decoded.subData = subData;
|
|
415
412
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
416
|
-
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
413
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
417
414
|
_position.specific = {
|
|
418
415
|
triggerRepayRatio: triggerData.ratio,
|
|
419
416
|
targetRepayRatio: subData.targetRatio,
|
|
@@ -611,13 +608,12 @@ function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
|
611
608
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
612
609
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
613
610
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
614
|
-
const subDataDecoder = subDataService.
|
|
611
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy;
|
|
615
612
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
616
613
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
617
614
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
618
615
|
_position.strategyData.decoded.subData = subData;
|
|
619
616
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
620
|
-
// const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
|
|
621
617
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
622
618
|
_position.specific = {
|
|
623
619
|
triggerRepayRatio: triggerData.ratio,
|
|
@@ -998,8 +994,7 @@ function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
|
998
994
|
subHashRepay: subHash,
|
|
999
995
|
};
|
|
1000
996
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1001
|
-
|
|
1002
|
-
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
997
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1003
998
|
return _position;
|
|
1004
999
|
}
|
|
1005
1000
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
@@ -1222,6 +1217,7 @@ const parsingMethodsMapping = {
|
|
|
1222
1217
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1223
1218
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1224
1219
|
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1220
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1225
1221
|
},
|
|
1226
1222
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1227
1223
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1237,6 +1233,7 @@ const parsingMethodsMapping = {
|
|
|
1237
1233
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1238
1234
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1239
1235
|
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1236
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1240
1237
|
},
|
|
1241
1238
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1242
1239
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1253,7 +1250,6 @@ const parsingMethodsMapping = {
|
|
|
1253
1250
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1254
1251
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1255
1252
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1256
|
-
// TODO -> here should prob separate EOA from SW
|
|
1257
1253
|
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1258
1254
|
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1259
1255
|
},
|
|
@@ -1290,6 +1286,7 @@ const parsingMethodsMapping = {
|
|
|
1290
1286
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1291
1287
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1292
1288
|
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1289
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1293
1290
|
},
|
|
1294
1291
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1295
1292
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
@@ -71,7 +71,7 @@ export declare const compoundV2Encode: {
|
|
|
71
71
|
};
|
|
72
72
|
export declare const compoundV3Encode: {
|
|
73
73
|
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
74
|
-
|
|
74
|
+
liquidationProtectionWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
75
75
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
76
76
|
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[])[];
|
|
77
77
|
};
|
|
@@ -68,7 +68,7 @@ exports.makerEncode = {
|
|
|
68
68
|
];
|
|
69
69
|
},
|
|
70
70
|
liquidationProtection(vaultId, triggerRatio, targetRatio, ratioState, daiAddr) {
|
|
71
|
-
const bundleId = enums_1.Bundles.MainnetIds.
|
|
71
|
+
const bundleId = enums_1.Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION;
|
|
72
72
|
const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
|
|
73
73
|
const subData = subDataService.makerLiquidationProtectionSubData.encode(vaultId, targetRatio, daiAddr);
|
|
74
74
|
return [
|
|
@@ -217,8 +217,11 @@ exports.compoundV3Encode = {
|
|
|
217
217
|
const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
218
218
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
219
219
|
},
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
liquidationProtectionWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
|
|
221
|
+
const isBundle = true;
|
|
222
|
+
const subData = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
|
|
223
|
+
const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
224
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
222
225
|
},
|
|
223
226
|
leverageManagementOnPrice(strategyOrBundleId, market, collToken, baseToken, targetRatio, price, priceState, ratioState, // REPAY for repay on price, BOOST for boost on price
|
|
224
227
|
user) {
|
|
@@ -328,8 +331,10 @@ exports.morphoBlueEncode = {
|
|
|
328
331
|
liquidationProtection(marketId, loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, triggerRatio, user, isEOA, network) {
|
|
329
332
|
const subData = subDataService.morphoBlueLiquidationProtectionSubData.encode(loanToken, collToken, oracle, irm, lltv, ratioState, targetRatio, user, isEOA);
|
|
330
333
|
const triggerData = triggerService.morphoBlueRatioTrigger.encode(marketId, user, triggerRatio, ratioState);
|
|
331
|
-
//
|
|
332
|
-
|
|
334
|
+
// Type casting because there is no MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION for Base chain.
|
|
335
|
+
// That is fine because we will just always send isEOA == false for Base chain.
|
|
336
|
+
const bundleNetwork = (0, utils_1.getBundleIdsByNetwork)(network);
|
|
337
|
+
const bundleId = isEOA ? bundleNetwork.MORPHO_BLUE_EOA_LIQUIDATION_PROTECTION : bundleNetwork.MORPHO_BLUE_SW_LIQUIDATION_PROTECTION;
|
|
333
338
|
const isBundle = true;
|
|
334
339
|
return [bundleId, isBundle, triggerData, subData];
|
|
335
340
|
},
|
|
@@ -374,12 +374,6 @@ export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
|
|
|
374
374
|
| `----.| `--' | | | | | | | \ / ___) |
|
|
375
375
|
\______| \______/ |__| |__| | _| \__/ |____/
|
|
376
376
|
*/
|
|
377
|
-
export declare const compoundV3LeverageManagementSubData: {
|
|
378
|
-
encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
|
|
379
|
-
decode(subData: string[]): {
|
|
380
|
-
targetRatio: number;
|
|
381
|
-
};
|
|
382
|
-
};
|
|
383
377
|
export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
|
|
384
378
|
encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
|
|
385
379
|
decode(subData: string[]): {
|
|
@@ -389,16 +383,13 @@ export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
|
|
|
389
383
|
ratioState: RatioState;
|
|
390
384
|
};
|
|
391
385
|
};
|
|
392
|
-
export declare const
|
|
393
|
-
encode(market: EthereumAddress, baseToken: EthereumAddress,
|
|
394
|
-
decode(subData: string[]): {
|
|
395
|
-
targetRatio: number;
|
|
396
|
-
};
|
|
397
|
-
};
|
|
398
|
-
export declare const compoundV3L2LiquidationProtectionSubData: {
|
|
399
|
-
encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string;
|
|
386
|
+
export declare const compoundV3LiquidationProtectionSubDataWithoutSubProxy: {
|
|
387
|
+
encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
|
|
400
388
|
decode(subData: string[]): {
|
|
389
|
+
market: EthereumAddress;
|
|
390
|
+
baseToken: EthereumAddress;
|
|
401
391
|
targetRatio: number;
|
|
392
|
+
ratioState: RatioState;
|
|
402
393
|
};
|
|
403
394
|
};
|
|
404
395
|
export declare const compoundV3LeverageManagementOnPriceSubData: {
|
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLiquidationProtectionSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.
|
|
7
|
-
exports.fluidLiquidationProtectionSubData = exports.fluidLeverageManagementSubData = exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLiquidationProtectionSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData =
|
|
6
|
+
exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLiquidationProtectionSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LiquidationProtectionSubDataWithoutSubProxy = exports.compoundV3LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LiquidationProtectionSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LiquidationProtectionSubData = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubDataWithoutSubProxy = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubDataWithoutSubProxy = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLiquidationProtectionSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
|
|
7
|
+
exports.fluidLiquidationProtectionSubData = exports.fluidLeverageManagementSubData = exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLiquidationProtectionSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = void 0;
|
|
8
8
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
9
9
|
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
10
10
|
const web3_utils_1 = require("web3-utils");
|
|
@@ -874,28 +874,7 @@ exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
|
|
|
874
874
|
| `----.| `--' | | | | | | | \ / ___) |
|
|
875
875
|
\______| \______/ |__| |__| | _| \__/ |____/
|
|
876
876
|
*/
|
|
877
|
-
// ! Any change here will PROBABLY require a change in
|
|
878
|
-
// ! Double check before changing
|
|
879
|
-
exports.compoundV3LeverageManagementSubData = {
|
|
880
|
-
encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
|
|
881
|
-
return [
|
|
882
|
-
market,
|
|
883
|
-
baseToken,
|
|
884
|
-
new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
|
|
885
|
-
new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
|
|
886
|
-
new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
|
|
887
|
-
new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
|
|
888
|
-
// @ts-ignore // TODO
|
|
889
|
-
boostEnabled, isEOA,
|
|
890
|
-
];
|
|
891
|
-
},
|
|
892
|
-
decode(subData) {
|
|
893
|
-
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
|
|
894
|
-
const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
895
|
-
return { targetRatio };
|
|
896
|
-
},
|
|
897
|
-
};
|
|
898
|
-
// ! Any change here will PROBABLY require a change in compoundV3L2LiquidationProtectionSubData as well, since it is copy paste
|
|
877
|
+
// ! Any change here will PROBABLY require a change in compoundV3LiquidationProtectionSubDataWithoutSubProxy as well, since it is copy paste
|
|
899
878
|
// ! Double check before changing
|
|
900
879
|
exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
|
|
901
880
|
encode(market, baseToken, targetRatio, ratioState) {
|
|
@@ -915,50 +894,22 @@ exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
|
|
|
915
894
|
};
|
|
916
895
|
},
|
|
917
896
|
};
|
|
918
|
-
exports.
|
|
919
|
-
encode(market, baseToken,
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
|
|
926
|
-
new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
|
|
927
|
-
new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
|
|
928
|
-
new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
|
|
929
|
-
// @ts-ignore // TODO
|
|
930
|
-
boostEnabled, isEOA,
|
|
931
|
-
];
|
|
932
|
-
},
|
|
933
|
-
decode(subData) {
|
|
934
|
-
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
|
|
935
|
-
const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
936
|
-
return { targetRatio };
|
|
937
|
-
},
|
|
938
|
-
};
|
|
939
|
-
exports.compoundV3L2LiquidationProtectionSubData = {
|
|
940
|
-
encode(market, baseToken, triggerRepayRatio,
|
|
941
|
-
// TODO -> can remove boost stuff ? Not sure if want it to be compatible or not.
|
|
942
|
-
triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
|
|
943
|
-
let subInput = '0x';
|
|
944
|
-
subInput = subInput.concat(market.slice(2));
|
|
945
|
-
subInput = subInput.concat(baseToken.slice(2));
|
|
946
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
947
|
-
.padStart(32, '0'));
|
|
948
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
949
|
-
.padStart(32, '0'));
|
|
950
|
-
subInput = subInput.concat(new decimal_js_1.default(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
951
|
-
.padStart(32, '0'));
|
|
952
|
-
subInput = subInput.concat(new decimal_js_1.default(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
953
|
-
.padStart(32, '0'));
|
|
954
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
955
|
-
subInput = subInput.concat(isEOA ? '01' : '00');
|
|
956
|
-
return subInput;
|
|
897
|
+
exports.compoundV3LiquidationProtectionSubDataWithoutSubProxy = {
|
|
898
|
+
encode(market, baseToken, targetRatio, ratioState) {
|
|
899
|
+
const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
900
|
+
const encodedBaseToken = web3_eth_abi_1.default.encodeParameter('address', baseToken);
|
|
901
|
+
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
902
|
+
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
903
|
+
return [encodedMarket, encodedBaseToken, encodedRatioState, encodedTargetRatio];
|
|
957
904
|
},
|
|
958
905
|
decode(subData) {
|
|
959
|
-
const
|
|
960
|
-
const
|
|
961
|
-
|
|
906
|
+
const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
|
|
907
|
+
const baseToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]);
|
|
908
|
+
const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[2]);
|
|
909
|
+
const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[3]));
|
|
910
|
+
return {
|
|
911
|
+
market, baseToken, targetRatio, ratioState,
|
|
912
|
+
};
|
|
962
913
|
},
|
|
963
914
|
};
|
|
964
915
|
exports.compoundV3LeverageManagementOnPriceSubData = {
|
|
@@ -1418,8 +1369,9 @@ exports.fluidLeverageManagementSubData = {
|
|
|
1418
1369
|
const ratioStateEncoded = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
1419
1370
|
const targetRatioEncoded = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
1420
1371
|
const wrapEthEncoded = web3_eth_abi_1.default.encodeParameter('bool', true);
|
|
1421
|
-
const
|
|
1422
|
-
const
|
|
1372
|
+
const isRepay = ratioState === enums_1.RatioState.UNDER;
|
|
1373
|
+
const collActionType = isRepay ? enums_1.CollActionType.WITHDRAW : enums_1.CollActionType.SUPPLY;
|
|
1374
|
+
const debtActionType = isRepay ? enums_1.DebtActionType.PAYBACK : enums_1.DebtActionType.BORROW;
|
|
1423
1375
|
const collActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', collActionType);
|
|
1424
1376
|
const debtActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', debtActionType);
|
|
1425
1377
|
return [
|
|
@@ -713,74 +713,6 @@ describe('Feature: subDataService.ts', () => {
|
|
|
713
713
|
});
|
|
714
714
|
});
|
|
715
715
|
});
|
|
716
|
-
describe('When testing subDataService.compoundV3LeverageManagementSubData', () => {
|
|
717
|
-
describe('encode()', () => {
|
|
718
|
-
const examples = [
|
|
719
|
-
[
|
|
720
|
-
[
|
|
721
|
-
web3Utils.toChecksumAddress('0x1C0F620155e85491f8D35440eb17538Ca5c55212'),
|
|
722
|
-
web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Ethereum).address),
|
|
723
|
-
new decimal_js_1.default(160).mul(1e16).toString(),
|
|
724
|
-
new decimal_js_1.default(220).mul(1e16).toString(),
|
|
725
|
-
new decimal_js_1.default(180).mul(1e16).toString(),
|
|
726
|
-
new decimal_js_1.default(190).mul(1e16).toString(),
|
|
727
|
-
true, false,
|
|
728
|
-
],
|
|
729
|
-
[
|
|
730
|
-
web3Utils.toChecksumAddress('0x1C0F620155e85491f8D35440eb17538Ca5c55212'),
|
|
731
|
-
web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Ethereum).address),
|
|
732
|
-
160, 220, 180, 190,
|
|
733
|
-
true, false,
|
|
734
|
-
]
|
|
735
|
-
],
|
|
736
|
-
[
|
|
737
|
-
[
|
|
738
|
-
web3Utils.toChecksumAddress('0xaC0F620155e85491f8D35440eb17538Ca5c55212'),
|
|
739
|
-
web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
|
|
740
|
-
new decimal_js_1.default(160).mul(1e16).toString(),
|
|
741
|
-
new decimal_js_1.default(210).mul(1e16).toString(),
|
|
742
|
-
new decimal_js_1.default(180).mul(1e16).toString(),
|
|
743
|
-
new decimal_js_1.default(190).mul(1e16).toString(),
|
|
744
|
-
false, true,
|
|
745
|
-
],
|
|
746
|
-
[
|
|
747
|
-
web3Utils.toChecksumAddress('0xaC0F620155e85491f8D35440eb17538Ca5c55212'),
|
|
748
|
-
web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
|
|
749
|
-
160, 210, 180, 190,
|
|
750
|
-
false, true,
|
|
751
|
-
]
|
|
752
|
-
],
|
|
753
|
-
];
|
|
754
|
-
examples.forEach(([expected, actual]) => {
|
|
755
|
-
it(`Given ${actual} should return expected value: ${expected}`, () => {
|
|
756
|
-
(0, chai_1.expect)(subDataService.compoundV3LeverageManagementSubData.encode(...actual)).to.eql(expected);
|
|
757
|
-
});
|
|
758
|
-
});
|
|
759
|
-
});
|
|
760
|
-
describe('decode()', () => {
|
|
761
|
-
const examples = [
|
|
762
|
-
[
|
|
763
|
-
{ targetRatio: 123 },
|
|
764
|
-
[
|
|
765
|
-
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
766
|
-
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
767
|
-
],
|
|
768
|
-
],
|
|
769
|
-
[
|
|
770
|
-
{ targetRatio: 200 },
|
|
771
|
-
[
|
|
772
|
-
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
773
|
-
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
|
|
774
|
-
],
|
|
775
|
-
],
|
|
776
|
-
];
|
|
777
|
-
examples.forEach(([expected, actual]) => {
|
|
778
|
-
it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
|
|
779
|
-
(0, chai_1.expect)(subDataService.compoundV3LeverageManagementSubData.decode(actual)).to.eql(expected);
|
|
780
|
-
});
|
|
781
|
-
});
|
|
782
|
-
});
|
|
783
|
-
});
|
|
784
716
|
describe('When testing subDataService.morphoAaveV2LeverageManagementSubData', () => {
|
|
785
717
|
describe('encode()', () => {
|
|
786
718
|
const examples = [
|
package/cjs/services/utils.d.ts
CHANGED
|
@@ -28,5 +28,5 @@ export declare function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStr
|
|
|
28
28
|
stopLossType: CloseToAssetType | undefined;
|
|
29
29
|
takeProfitType: CloseToAssetType | undefined;
|
|
30
30
|
};
|
|
31
|
-
export declare function getBundleIdsByNetwork(network: ChainId): typeof Bundles.MainnetIds | typeof Bundles.
|
|
31
|
+
export declare function getBundleIdsByNetwork(network: ChainId): typeof Bundles.MainnetIds | typeof Bundles.ArbitrumIds | typeof Bundles.BaseIds;
|
|
32
32
|
export declare function getCompoundV3LeverageManagementBundleId(network: ChainId, isEOA: boolean, isBoost: boolean): number;
|
package/cjs/services/utils.js
CHANGED
|
@@ -189,15 +189,15 @@ function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType) {
|
|
|
189
189
|
}
|
|
190
190
|
exports.getStopLossAndTakeProfitTypeByCloseStrategyType = getStopLossAndTakeProfitTypeByCloseStrategyType;
|
|
191
191
|
function getBundleIdsByNetwork(network) {
|
|
192
|
-
switch (network) {
|
|
192
|
+
switch (Number(network)) {
|
|
193
|
+
case enums_1.ChainId.Ethereum:
|
|
194
|
+
return enums_1.Bundles.MainnetIds;
|
|
193
195
|
case enums_1.ChainId.Arbitrum:
|
|
194
196
|
return enums_1.Bundles.ArbitrumIds;
|
|
195
197
|
case enums_1.ChainId.Base:
|
|
196
198
|
return enums_1.Bundles.BaseIds;
|
|
197
|
-
case enums_1.ChainId.Optimism:
|
|
198
|
-
return enums_1.Bundles.OptimismIds;
|
|
199
199
|
default:
|
|
200
|
-
|
|
200
|
+
throw new Error(`Unsupported network ${network}`);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
exports.getBundleIdsByNetwork = getBundleIdsByNetwork;
|