@defisaver/automation-sdk 3.3.16-liq-prot-dev → 3.3.17
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 +42 -117
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +2 -5
- package/cjs/services/strategiesService.js +21 -160
- package/cjs/services/strategySubService.d.ts +21 -18
- package/cjs/services/strategySubService.js +74 -78
- package/cjs/services/strategySubService.test.js +149 -3
- package/cjs/services/subDataService.d.ts +20 -70
- package/cjs/services/subDataService.js +79 -23
- package/cjs/services/subDataService.test.js +202 -17
- package/cjs/services/utils.d.ts +1 -2
- package/cjs/services/utils.js +1 -14
- package/cjs/types/enums.d.ts +17 -36
- package/cjs/types/enums.js +11 -30
- package/esm/constants/index.js +42 -117
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -5
- package/esm/services/strategiesService.js +21 -160
- package/esm/services/strategySubService.d.ts +21 -18
- package/esm/services/strategySubService.js +73 -78
- package/esm/services/strategySubService.test.js +147 -4
- package/esm/services/subDataService.d.ts +20 -70
- package/esm/services/subDataService.js +77 -21
- package/esm/services/subDataService.test.js +200 -18
- package/esm/services/utils.d.ts +1 -2
- package/esm/services/utils.js +1 -13
- package/esm/types/enums.d.ts +17 -36
- package/esm/types/enums.js +11 -30
- package/package.json +1 -1
- package/src/constants/index.ts +43 -119
- package/src/index.ts +6 -22
- package/src/services/strategiesService.ts +23 -225
- package/src/services/strategySubService.test.ts +191 -3
- package/src/services/strategySubService.ts +121 -173
- package/src/services/subDataService.test.ts +214 -18
- package/src/services/subDataService.ts +106 -42
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +1 -15
- package/src/types/enums.ts +13 -30
|
@@ -106,7 +106,7 @@ function parseMakerLeverageManagement(position: Position.Automated, parseData: P
|
|
|
106
106
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
107
107
|
|
|
108
108
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
109
|
-
const subData = subDataService.
|
|
109
|
+
const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
|
|
110
110
|
|
|
111
111
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
112
112
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -140,33 +140,6 @@ function parseMakerLeverageManagement(position: Position.Automated, parseData: P
|
|
|
140
140
|
return _position;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
function parseMakerLiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
144
|
-
const _position = cloneDeep(position);
|
|
145
|
-
|
|
146
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
147
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
148
|
-
|
|
149
|
-
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
150
|
-
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
151
|
-
|
|
152
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
153
|
-
_position.strategyData.decoded.subData = subData;
|
|
154
|
-
|
|
155
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
_position.specific = {
|
|
159
|
-
triggerRepayRatio: triggerData.ratio,
|
|
160
|
-
targetRepayRatio: subData.targetRatio,
|
|
161
|
-
repayEnabled: isEnabled,
|
|
162
|
-
subId1: Number(subId),
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
166
|
-
|
|
167
|
-
return _position;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
143
|
function parseLiquityCloseOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
171
144
|
const _position = cloneDeep(position);
|
|
172
145
|
|
|
@@ -223,7 +196,7 @@ function parseAaveV2LeverageManagement(position: Position.Automated, parseData:
|
|
|
223
196
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
224
197
|
|
|
225
198
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
226
|
-
const subData = subDataService.
|
|
199
|
+
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
227
200
|
|
|
228
201
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
229
202
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -267,9 +240,9 @@ function parseAaveV3LeverageManagement(position: Position.Automated, parseData:
|
|
|
267
240
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
268
241
|
let subData;
|
|
269
242
|
if (isEOA) {
|
|
270
|
-
subData = subDataService.
|
|
243
|
+
subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.decode(subStruct.subData);
|
|
271
244
|
} else {
|
|
272
|
-
subData = subDataService.
|
|
245
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
273
246
|
}
|
|
274
247
|
|
|
275
248
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -307,35 +280,6 @@ function parseAaveV3LeverageManagement(position: Position.Automated, parseData:
|
|
|
307
280
|
return _position;
|
|
308
281
|
}
|
|
309
282
|
|
|
310
|
-
function parseAaveV3LiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
311
|
-
const _position = cloneDeep(position);
|
|
312
|
-
|
|
313
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
314
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
315
|
-
|
|
316
|
-
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
317
|
-
|
|
318
|
-
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
319
|
-
|
|
320
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
321
|
-
_position.strategyData.decoded.subData = subData;
|
|
322
|
-
|
|
323
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
324
|
-
|
|
325
|
-
_position.specific = {
|
|
326
|
-
triggerRepayRatio: triggerData.ratio,
|
|
327
|
-
targetRepayRatio: subData.targetRatio,
|
|
328
|
-
repayEnabled: isEnabled,
|
|
329
|
-
subId1: Number(subId),
|
|
330
|
-
subHashRepay: subHash,
|
|
331
|
-
};
|
|
332
|
-
|
|
333
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
334
|
-
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
335
|
-
|
|
336
|
-
return _position;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
283
|
function parseAaveV3LeverageManagementOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
340
284
|
const _position = cloneDeep(position);
|
|
341
285
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -493,31 +437,6 @@ function parseAaveV4LeverageManagement(position: Position.Automated, parseData:
|
|
|
493
437
|
return _position;
|
|
494
438
|
}
|
|
495
439
|
|
|
496
|
-
function parseAaveV4LiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
497
|
-
const _position = cloneDeep(position);
|
|
498
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
499
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
500
|
-
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
501
|
-
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
502
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
503
|
-
|
|
504
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
505
|
-
_position.strategyData.decoded.subData = subData;
|
|
506
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
507
|
-
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
508
|
-
|
|
509
|
-
_position.specific = {
|
|
510
|
-
triggerRepayRatio: triggerData.ratio,
|
|
511
|
-
targetRepayRatio: subData.targetRatio,
|
|
512
|
-
repayEnabled: isEnabled,
|
|
513
|
-
subId1: Number(subId),
|
|
514
|
-
subHashRepay: subHash,
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
return _position;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
|
|
521
440
|
function parseAaveV4LeverageManagementOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
522
441
|
const _position = cloneDeep(position);
|
|
523
442
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -670,7 +589,7 @@ function parseCompoundV2LeverageManagement(position: Position.Automated, parseDa
|
|
|
670
589
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
671
590
|
|
|
672
591
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
673
|
-
const subData = subDataService.
|
|
592
|
+
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
674
593
|
|
|
675
594
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
676
595
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -712,7 +631,7 @@ function parseCompoundV3LeverageManagement(position: Position.Automated, parseDa
|
|
|
712
631
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
713
632
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
714
633
|
|
|
715
|
-
const subDataDecoder = subDataService.
|
|
634
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
716
635
|
|
|
717
636
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
718
637
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
@@ -751,39 +670,6 @@ function parseCompoundV3LeverageManagement(position: Position.Automated, parseDa
|
|
|
751
670
|
return _position;
|
|
752
671
|
}
|
|
753
672
|
|
|
754
|
-
|
|
755
|
-
function parseCompoundV3LiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
756
|
-
const _position = cloneDeep(position);
|
|
757
|
-
|
|
758
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
759
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
760
|
-
|
|
761
|
-
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
762
|
-
|
|
763
|
-
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
764
|
-
const subData = subDataDecoder.decode(subStruct.subData);
|
|
765
|
-
|
|
766
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
767
|
-
_position.strategyData.decoded.subData = subData;
|
|
768
|
-
|
|
769
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
770
|
-
|
|
771
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
772
|
-
|
|
773
|
-
_position.specific = {
|
|
774
|
-
triggerRepayRatio: triggerData.ratio,
|
|
775
|
-
targetRepayRatio: subData.targetRatio,
|
|
776
|
-
repayEnabled: isEnabled,
|
|
777
|
-
subId1: Number(subId),
|
|
778
|
-
subHashRepay: subHash,
|
|
779
|
-
};
|
|
780
|
-
|
|
781
|
-
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
782
|
-
|
|
783
|
-
return _position;
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
|
|
787
673
|
function parseCompoundV3LeverageManagementOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
788
674
|
const _position = cloneDeep(position);
|
|
789
675
|
|
|
@@ -888,7 +774,7 @@ function parseExchangeLimitOrder(position: Position.Automated, parseData: ParseD
|
|
|
888
774
|
|
|
889
775
|
const { subStruct } = parseData.subscriptionEventData;
|
|
890
776
|
|
|
891
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
777
|
+
_position.strategyData.decoded.subData = subDataService.exchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
892
778
|
const fromTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
893
779
|
const toTokenDecimals = getAssetInfoByAddress(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
894
780
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -905,7 +791,7 @@ function parseLiquityLeverageManagement(position: Position.Automated, parseData:
|
|
|
905
791
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
906
792
|
|
|
907
793
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
908
|
-
const subData = subDataService.
|
|
794
|
+
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
909
795
|
|
|
910
796
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
911
797
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -989,7 +875,7 @@ function parseSparkLeverageManagement(position: Position.Automated, parseData: P
|
|
|
989
875
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
990
876
|
|
|
991
877
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
992
|
-
const subData = subDataService.
|
|
878
|
+
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
993
879
|
|
|
994
880
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
995
881
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -1023,34 +909,6 @@ function parseSparkLeverageManagement(position: Position.Automated, parseData: P
|
|
|
1023
909
|
return _position;
|
|
1024
910
|
}
|
|
1025
911
|
|
|
1026
|
-
function parseSparkLiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
1027
|
-
const _position = cloneDeep(position);
|
|
1028
|
-
|
|
1029
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1030
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
1031
|
-
|
|
1032
|
-
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
1033
|
-
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1034
|
-
|
|
1035
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
1036
|
-
_position.strategyData.decoded.subData = subData;
|
|
1037
|
-
|
|
1038
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
1039
|
-
|
|
1040
|
-
_position.specific = {
|
|
1041
|
-
triggerRepayRatio: triggerData.ratio,
|
|
1042
|
-
targetRepayRatio: subData.targetRatio,
|
|
1043
|
-
repayEnabled: isEnabled,
|
|
1044
|
-
subId1: Number(subId),
|
|
1045
|
-
subHashRepay: subHash,
|
|
1046
|
-
};
|
|
1047
|
-
|
|
1048
|
-
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
1049
|
-
|
|
1050
|
-
return _position;
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
912
|
function parseSparkLeverageManagementOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
1055
913
|
const _position = cloneDeep(position);
|
|
1056
914
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -1214,6 +1072,7 @@ function parseMorphoBlueLeverageManagement(position: Position.Automated, parseDa
|
|
|
1214
1072
|
|
|
1215
1073
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1216
1074
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
1075
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1217
1076
|
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
1218
1077
|
const subData = subDataService.morphoBlueLeverageManagementSubData.decode(subStruct.subData);
|
|
1219
1078
|
|
|
@@ -1231,7 +1090,7 @@ function parseMorphoBlueLeverageManagement(position: Position.Automated, parseDa
|
|
|
1231
1090
|
repayEnabled: isEnabled,
|
|
1232
1091
|
subId1: Number(subId),
|
|
1233
1092
|
subHashRepay: subHash,
|
|
1234
|
-
mergeWithId: Strategies.Identifiers.Boost,
|
|
1093
|
+
mergeWithId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
1235
1094
|
};
|
|
1236
1095
|
} else {
|
|
1237
1096
|
_position.specific = {
|
|
@@ -1240,42 +1099,12 @@ function parseMorphoBlueLeverageManagement(position: Position.Automated, parseDa
|
|
|
1240
1099
|
boostEnabled: isEnabled,
|
|
1241
1100
|
subId2: Number(subId),
|
|
1242
1101
|
subHashBoost: subHash,
|
|
1243
|
-
mergeId: Strategies.Identifiers.Boost,
|
|
1102
|
+
mergeId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
1244
1103
|
};
|
|
1245
1104
|
}
|
|
1246
1105
|
|
|
1247
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1248
1106
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
1249
1107
|
|
|
1250
|
-
|
|
1251
|
-
return _position;
|
|
1252
|
-
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
function parseMorphoBlueLiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
1256
|
-
const _position = cloneDeep(position);
|
|
1257
|
-
|
|
1258
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1259
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
1260
|
-
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
1261
|
-
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1262
|
-
|
|
1263
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
1264
|
-
_position.strategyData.decoded.subData = subData;
|
|
1265
|
-
|
|
1266
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
1267
|
-
|
|
1268
|
-
_position.specific = {
|
|
1269
|
-
triggerRepayRatio: triggerData.ratio,
|
|
1270
|
-
targetRepayRatio: subData.targetRatio,
|
|
1271
|
-
repayEnabled: isEnabled,
|
|
1272
|
-
subId1: Number(subId),
|
|
1273
|
-
subHashRepay: subHash,
|
|
1274
|
-
};
|
|
1275
|
-
|
|
1276
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1277
|
-
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
1278
|
-
|
|
1279
1108
|
return _position;
|
|
1280
1109
|
}
|
|
1281
1110
|
|
|
@@ -1283,6 +1112,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position: Position.Automated,
|
|
|
1283
1112
|
const _position = cloneDeep(position);
|
|
1284
1113
|
|
|
1285
1114
|
const { subStruct } = parseData.subscriptionEventData;
|
|
1115
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1286
1116
|
const triggerData = triggerService.morphoBluePriceTrigger.decode(subStruct.triggerData);
|
|
1287
1117
|
const subData = subDataService.morphoBlueLeverageManagementOnPriceSubData.decode(subStruct.subData);
|
|
1288
1118
|
|
|
@@ -1313,6 +1143,10 @@ function parseMorphoBlueLeverageManagementOnPrice(position: Position.Automated,
|
|
|
1313
1143
|
ratioState: triggerData.priceState,
|
|
1314
1144
|
};
|
|
1315
1145
|
|
|
1146
|
+
_position.strategy.strategyId = isEOA
|
|
1147
|
+
? Strategies.IdOverrides.EoaLeverageManagementOnPrice
|
|
1148
|
+
: Strategies.IdOverrides.LeverageManagementOnPrice;
|
|
1149
|
+
|
|
1316
1150
|
return _position;
|
|
1317
1151
|
}
|
|
1318
1152
|
|
|
@@ -1320,6 +1154,7 @@ function parseMorphoBlueCloseOnPrice(position: Position.Automated, parseData: Pa
|
|
|
1320
1154
|
const _position = cloneDeep(position);
|
|
1321
1155
|
|
|
1322
1156
|
const { subStruct } = parseData.subscriptionEventData;
|
|
1157
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1323
1158
|
|
|
1324
1159
|
const triggerData = triggerService.morphoBluePriceRangeTrigger.decode(subStruct.triggerData);
|
|
1325
1160
|
const subData = subDataService.morphoBlueCloseOnPriceSubData.decode(subStruct.subData);
|
|
@@ -1344,6 +1179,8 @@ function parseMorphoBlueCloseOnPrice(position: Position.Automated, parseData: Pa
|
|
|
1344
1179
|
|
|
1345
1180
|
const { takeProfitType, stopLossType } = getStopLossAndTakeProfitTypeByCloseStrategyType(+subData.closeType);
|
|
1346
1181
|
|
|
1182
|
+
_position.strategy.strategyId = isEOA ? Strategies.Identifiers.EoaCloseOnPrice : Strategies.Identifiers.CloseOnPrice;
|
|
1183
|
+
|
|
1347
1184
|
_position.specific = {
|
|
1348
1185
|
subHash: _position.subHash,
|
|
1349
1186
|
marketId,
|
|
@@ -1485,37 +1322,6 @@ function parseFluidT1LeverageManagement(position: Position.Automated, parseData:
|
|
|
1485
1322
|
return _position;
|
|
1486
1323
|
}
|
|
1487
1324
|
|
|
1488
|
-
|
|
1489
|
-
function parseFluidT1LiquidationProtection(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
1490
|
-
const _position = cloneDeep(position);
|
|
1491
|
-
|
|
1492
|
-
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1493
|
-
const { isEnabled } = parseData.strategiesSubsData;
|
|
1494
|
-
|
|
1495
|
-
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1496
|
-
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1497
|
-
|
|
1498
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
1499
|
-
_position.strategyData.decoded.subData = subData;
|
|
1500
|
-
|
|
1501
|
-
_position.positionId = getPositionId(
|
|
1502
|
-
_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault,
|
|
1503
|
-
);
|
|
1504
|
-
|
|
1505
|
-
_position.specific = {
|
|
1506
|
-
triggerRepayRatio: triggerData.ratio,
|
|
1507
|
-
targetRepayRatio: subData.targetRatio,
|
|
1508
|
-
repayEnabled: isEnabled,
|
|
1509
|
-
subId1: Number(subId),
|
|
1510
|
-
subHashRepay: subHash,
|
|
1511
|
-
};
|
|
1512
|
-
|
|
1513
|
-
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
1514
|
-
|
|
1515
|
-
return _position;
|
|
1516
|
-
}
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
1325
|
const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
1520
1326
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1521
1327
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1525,7 +1331,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1525
1331
|
[Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1526
1332
|
[Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1527
1333
|
[Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1528
|
-
[Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1529
1334
|
},
|
|
1530
1335
|
[ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1531
1336
|
[Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1564,8 +1369,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1564
1369
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1565
1370
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1566
1371
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1567
|
-
[Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1568
|
-
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1569
1372
|
},
|
|
1570
1373
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1571
1374
|
[Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1580,8 +1383,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1580
1383
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1581
1384
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1582
1385
|
[Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1583
|
-
[Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1584
|
-
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1585
1386
|
},
|
|
1586
1387
|
[ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1587
1388
|
[Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1598,8 +1399,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1598
1399
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1599
1400
|
[Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1600
1401
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1601
|
-
[Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1602
|
-
[Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1603
1402
|
},
|
|
1604
1403
|
[ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1605
1404
|
[Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1619,7 +1418,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1619
1418
|
[Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1620
1419
|
[Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1621
1420
|
[Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1622
|
-
[Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1623
1421
|
},
|
|
1624
1422
|
[ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1625
1423
|
[Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1633,14 +1431,14 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1633
1431
|
[Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1634
1432
|
[Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1635
1433
|
[Strategies.Identifiers.RepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1434
|
+
[Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1435
|
+
[Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1636
1436
|
[Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1637
|
-
[Strategies.Identifiers.
|
|
1638
|
-
[Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1437
|
+
[Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1639
1438
|
},
|
|
1640
1439
|
[ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1641
1440
|
[Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1642
1441
|
[Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1643
|
-
[Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1644
1442
|
},
|
|
1645
1443
|
};
|
|
1646
1444
|
|