@defisaver/automation-sdk 3.3.14 → 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 +130 -0
- package/cjs/index.d.ts +4 -3
- package/cjs/index.js +6 -2
- package/cjs/services/strategiesService.js +178 -17
- package/cjs/services/strategySubService.d.ts +14 -13
- package/cjs/services/strategySubService.js +79 -63
- package/cjs/services/strategySubService.test.js +0 -234
- package/cjs/services/subDataService.d.ts +92 -4
- package/cjs/services/subDataService.js +245 -35
- package/cjs/services/subDataService.test.js +0 -110
- package/cjs/services/utils.d.ts +3 -1
- package/cjs/services/utils.js +34 -1
- package/cjs/services/utils.test.js +25 -0
- package/cjs/types/enums.d.ts +36 -6
- package/cjs/types/enums.js +30 -0
- package/esm/constants/index.js +130 -0
- package/esm/index.d.ts +4 -3
- package/esm/index.js +7 -3
- package/esm/services/strategiesService.js +178 -17
- package/esm/services/strategySubService.d.ts +14 -13
- package/esm/services/strategySubService.js +79 -60
- package/esm/services/strategySubService.test.js +2 -236
- package/esm/services/subDataService.d.ts +92 -4
- package/esm/services/subDataService.js +243 -34
- package/esm/services/subDataService.test.js +0 -110
- package/esm/services/utils.d.ts +3 -1
- package/esm/services/utils.js +32 -1
- package/esm/services/utils.test.js +27 -2
- package/esm/types/enums.d.ts +36 -6
- package/esm/types/enums.js +30 -0
- package/package.json +1 -1
- package/src/constants/index.ts +132 -1
- package/src/index.ts +24 -6
- package/src/services/strategiesService.ts +242 -17
- package/src/services/strategySubService.test.ts +0 -279
- package/src/services/strategySubService.ts +209 -116
- package/src/services/subDataService.test.ts +0 -120
- package/src/services/subDataService.ts +335 -49
- package/src/services/utils.test.ts +32 -1
- package/src/services/utils.ts +32 -1
- package/src/types/enums.ts +30 -2
|
@@ -63,7 +63,7 @@ function parseMakerTrailingStop(position, parseData) {
|
|
|
63
63
|
}
|
|
64
64
|
function parseMakerLeverageManagement(position, parseData) {
|
|
65
65
|
const _position = cloneDeep(position);
|
|
66
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
66
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
67
67
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
68
68
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
69
69
|
const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -75,9 +75,10 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
75
75
|
_position.specific = {
|
|
76
76
|
triggerRepayRatio: triggerData.ratio,
|
|
77
77
|
targetRepayRatio: subData.targetRatio,
|
|
78
|
-
repayEnabled:
|
|
78
|
+
repayEnabled: isEnabled,
|
|
79
79
|
subId1: Number(subId),
|
|
80
80
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
81
|
+
subHashRepay: subHash,
|
|
81
82
|
};
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
@@ -87,11 +88,30 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
87
88
|
boostEnabled: isEnabled,
|
|
88
89
|
subId2: Number(subId),
|
|
89
90
|
mergeId: Strategies.Identifiers.Boost,
|
|
91
|
+
subHashBoost: subHash,
|
|
90
92
|
};
|
|
91
93
|
}
|
|
92
94
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
93
95
|
return _position;
|
|
94
96
|
}
|
|
97
|
+
function parseMakerLiquidationProtection(position, parseData) {
|
|
98
|
+
const _position = cloneDeep(position);
|
|
99
|
+
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
100
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
101
|
+
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
102
|
+
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
103
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
104
|
+
_position.strategyData.decoded.subData = subData;
|
|
105
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
106
|
+
_position.specific = {
|
|
107
|
+
triggerRepayRatio: triggerData.ratio,
|
|
108
|
+
targetRepayRatio: subData.targetRatio,
|
|
109
|
+
repayEnabled: isEnabled,
|
|
110
|
+
subId1: Number(subId),
|
|
111
|
+
};
|
|
112
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
113
|
+
return _position;
|
|
114
|
+
}
|
|
95
115
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
96
116
|
const _position = cloneDeep(position);
|
|
97
117
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -126,7 +146,7 @@ function parseLiquityTrailingStop(position, parseData) {
|
|
|
126
146
|
}
|
|
127
147
|
function parseAaveV2LeverageManagement(position, parseData) {
|
|
128
148
|
const _position = cloneDeep(position);
|
|
129
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
149
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
130
150
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
131
151
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
132
152
|
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -138,9 +158,10 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
138
158
|
_position.specific = {
|
|
139
159
|
triggerRepayRatio: triggerData.ratio,
|
|
140
160
|
targetRepayRatio: subData.targetRatio,
|
|
141
|
-
repayEnabled:
|
|
161
|
+
repayEnabled: isEnabled,
|
|
142
162
|
subId1: Number(subId),
|
|
143
163
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
164
|
+
subHashRepay: subHash,
|
|
144
165
|
};
|
|
145
166
|
}
|
|
146
167
|
else {
|
|
@@ -150,6 +171,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
150
171
|
boostEnabled: isEnabled,
|
|
151
172
|
subId2: Number(subId),
|
|
152
173
|
mergeId: Strategies.Identifiers.Boost,
|
|
174
|
+
subHashBoost: subHash,
|
|
153
175
|
};
|
|
154
176
|
}
|
|
155
177
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -200,6 +222,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
200
222
|
}
|
|
201
223
|
return _position;
|
|
202
224
|
}
|
|
225
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
226
|
+
const _position = cloneDeep(position);
|
|
227
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
228
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
229
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
230
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
231
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
232
|
+
_position.strategyData.decoded.subData = subData;
|
|
233
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
234
|
+
_position.specific = {
|
|
235
|
+
triggerRepayRatio: triggerData.ratio,
|
|
236
|
+
targetRepayRatio: subData.targetRatio,
|
|
237
|
+
repayEnabled: isEnabled,
|
|
238
|
+
subId1: Number(subId),
|
|
239
|
+
subHashRepay: subHash,
|
|
240
|
+
};
|
|
241
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
242
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
243
|
+
return _position;
|
|
244
|
+
}
|
|
203
245
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
204
246
|
const _position = cloneDeep(position);
|
|
205
247
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -329,6 +371,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
329
371
|
}
|
|
330
372
|
return _position;
|
|
331
373
|
}
|
|
374
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
375
|
+
const _position = cloneDeep(position);
|
|
376
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
377
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
378
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
379
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
380
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
381
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
382
|
+
_position.strategyData.decoded.subData = subData;
|
|
383
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
384
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
385
|
+
_position.specific = {
|
|
386
|
+
triggerRepayRatio: triggerData.ratio,
|
|
387
|
+
targetRepayRatio: subData.targetRatio,
|
|
388
|
+
repayEnabled: isEnabled,
|
|
389
|
+
subId1: Number(subId),
|
|
390
|
+
subHashRepay: subHash,
|
|
391
|
+
};
|
|
392
|
+
return _position;
|
|
393
|
+
}
|
|
332
394
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
333
395
|
const _position = cloneDeep(position);
|
|
334
396
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -387,7 +449,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
387
449
|
}
|
|
388
450
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
389
451
|
const _position = cloneDeep(position);
|
|
390
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
452
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
391
453
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
392
454
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
393
455
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -399,9 +461,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
399
461
|
_position.specific = {
|
|
400
462
|
triggerRepayRatio: triggerData.ratio,
|
|
401
463
|
targetRepayRatio: subData.targetRatio,
|
|
402
|
-
repayEnabled:
|
|
464
|
+
repayEnabled: isEnabled,
|
|
403
465
|
subId1: Number(subId),
|
|
404
466
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
467
|
+
subHashRepay: subHash,
|
|
405
468
|
};
|
|
406
469
|
}
|
|
407
470
|
else {
|
|
@@ -411,6 +474,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
411
474
|
boostEnabled: isEnabled,
|
|
412
475
|
subId2: Number(subId),
|
|
413
476
|
mergeId: Strategies.Identifiers.Boost,
|
|
477
|
+
subHashBoost: subHash,
|
|
414
478
|
};
|
|
415
479
|
}
|
|
416
480
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -443,7 +507,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
443
507
|
}
|
|
444
508
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
445
509
|
const _position = cloneDeep(position);
|
|
446
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
510
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
447
511
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
448
512
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
449
513
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -456,9 +520,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
456
520
|
_position.specific = {
|
|
457
521
|
triggerRepayRatio: triggerData.ratio,
|
|
458
522
|
targetRepayRatio: subData.targetRatio,
|
|
459
|
-
repayEnabled:
|
|
523
|
+
repayEnabled: isEnabled,
|
|
460
524
|
subId1: Number(subId),
|
|
461
525
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
526
|
+
subHashRepay: subHash,
|
|
462
527
|
};
|
|
463
528
|
}
|
|
464
529
|
else {
|
|
@@ -468,6 +533,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
468
533
|
boostEnabled: isEnabled,
|
|
469
534
|
subId2: Number(subId),
|
|
470
535
|
mergeId: Strategies.Identifiers.Boost,
|
|
536
|
+
subHashBoost: subHash,
|
|
471
537
|
};
|
|
472
538
|
}
|
|
473
539
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -476,11 +542,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
476
542
|
}
|
|
477
543
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
478
544
|
const _position = cloneDeep(position);
|
|
479
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
545
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
480
546
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
481
|
-
const subDataDecoder =
|
|
482
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
483
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
547
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
484
548
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
485
549
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
486
550
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -492,9 +556,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
492
556
|
_position.specific = {
|
|
493
557
|
triggerRepayRatio: triggerData.ratio,
|
|
494
558
|
targetRepayRatio: subData.targetRatio,
|
|
495
|
-
repayEnabled:
|
|
559
|
+
repayEnabled: isEnabled,
|
|
496
560
|
subId1: Number(subId),
|
|
497
561
|
mergeWithId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
562
|
+
subHashRepay: subHash,
|
|
498
563
|
};
|
|
499
564
|
}
|
|
500
565
|
else {
|
|
@@ -504,11 +569,33 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
504
569
|
boostEnabled: isEnabled,
|
|
505
570
|
subId2: Number(subId),
|
|
506
571
|
mergeId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
572
|
+
subHashBoost: subHash,
|
|
507
573
|
};
|
|
508
574
|
}
|
|
509
575
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
510
576
|
return _position;
|
|
511
577
|
}
|
|
578
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
579
|
+
const _position = cloneDeep(position);
|
|
580
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
581
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
582
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy;
|
|
583
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
584
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
585
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
586
|
+
_position.strategyData.decoded.subData = subData;
|
|
587
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
588
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
589
|
+
_position.specific = {
|
|
590
|
+
triggerRepayRatio: triggerData.ratio,
|
|
591
|
+
targetRepayRatio: subData.targetRatio,
|
|
592
|
+
repayEnabled: isEnabled,
|
|
593
|
+
subId1: Number(subId),
|
|
594
|
+
subHashRepay: subHash,
|
|
595
|
+
};
|
|
596
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
597
|
+
return _position;
|
|
598
|
+
}
|
|
512
599
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
513
600
|
const _position = cloneDeep(position);
|
|
514
601
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -591,7 +678,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
591
678
|
}
|
|
592
679
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
593
680
|
const _position = cloneDeep(position);
|
|
594
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
681
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
595
682
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
596
683
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
597
684
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -603,9 +690,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
603
690
|
_position.specific = {
|
|
604
691
|
triggerRepayRatio: triggerData.ratio,
|
|
605
692
|
targetRepayRatio: subData.targetRatio,
|
|
606
|
-
repayEnabled:
|
|
693
|
+
repayEnabled: isEnabled,
|
|
607
694
|
subId1: Number(subId),
|
|
608
695
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
696
|
+
subHashRepay: subHash,
|
|
609
697
|
};
|
|
610
698
|
}
|
|
611
699
|
else {
|
|
@@ -615,6 +703,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
615
703
|
boostEnabled: isEnabled,
|
|
616
704
|
subId2: Number(subId),
|
|
617
705
|
mergeId: Strategies.Identifiers.Boost,
|
|
706
|
+
subHashBoost: subHash,
|
|
618
707
|
};
|
|
619
708
|
}
|
|
620
709
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -655,7 +744,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
655
744
|
}
|
|
656
745
|
function parseSparkLeverageManagement(position, parseData) {
|
|
657
746
|
const _position = cloneDeep(position);
|
|
658
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
747
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
659
748
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
660
749
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
661
750
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -667,9 +756,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
667
756
|
_position.specific = {
|
|
668
757
|
triggerRepayRatio: triggerData.ratio,
|
|
669
758
|
targetRepayRatio: subData.targetRatio,
|
|
670
|
-
repayEnabled:
|
|
759
|
+
repayEnabled: isEnabled,
|
|
671
760
|
subId1: Number(subId),
|
|
672
761
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
762
|
+
subHashRepay: subHash,
|
|
673
763
|
};
|
|
674
764
|
}
|
|
675
765
|
else {
|
|
@@ -679,11 +769,31 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
679
769
|
boostEnabled: isEnabled,
|
|
680
770
|
subId2: Number(subId),
|
|
681
771
|
mergeId: Strategies.Identifiers.Boost,
|
|
772
|
+
subHashBoost: subHash,
|
|
682
773
|
};
|
|
683
774
|
}
|
|
684
775
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
685
776
|
return _position;
|
|
686
777
|
}
|
|
778
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
779
|
+
const _position = cloneDeep(position);
|
|
780
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
781
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
782
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
783
|
+
const subData = subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
784
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
785
|
+
_position.strategyData.decoded.subData = subData;
|
|
786
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
787
|
+
_position.specific = {
|
|
788
|
+
triggerRepayRatio: triggerData.ratio,
|
|
789
|
+
targetRepayRatio: subData.targetRatio,
|
|
790
|
+
repayEnabled: isEnabled,
|
|
791
|
+
subId1: Number(subId),
|
|
792
|
+
subHashRepay: subHash,
|
|
793
|
+
};
|
|
794
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
795
|
+
return _position;
|
|
796
|
+
}
|
|
687
797
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
688
798
|
const _position = cloneDeep(position);
|
|
689
799
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -838,6 +948,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
838
948
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
839
949
|
return _position;
|
|
840
950
|
}
|
|
951
|
+
function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
952
|
+
const _position = cloneDeep(position);
|
|
953
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
954
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
955
|
+
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
956
|
+
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
957
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
958
|
+
_position.strategyData.decoded.subData = subData;
|
|
959
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
960
|
+
_position.specific = {
|
|
961
|
+
triggerRepayRatio: triggerData.ratio,
|
|
962
|
+
targetRepayRatio: subData.targetRatio,
|
|
963
|
+
repayEnabled: isEnabled,
|
|
964
|
+
subId1: Number(subId),
|
|
965
|
+
subHashRepay: subHash,
|
|
966
|
+
};
|
|
967
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
968
|
+
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLiquidationProtection : Strategies.IdOverrides.LiquidationProtection;
|
|
969
|
+
return _position;
|
|
970
|
+
}
|
|
841
971
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
842
972
|
const _position = cloneDeep(position);
|
|
843
973
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -861,6 +991,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
861
991
|
debtAsset: subData.loanToken,
|
|
862
992
|
price: triggerData.price,
|
|
863
993
|
ratio: subData.targetRatio,
|
|
994
|
+
ratioState: triggerData.priceState,
|
|
864
995
|
};
|
|
865
996
|
return _position;
|
|
866
997
|
}
|
|
@@ -989,6 +1120,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
989
1120
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
990
1121
|
return _position;
|
|
991
1122
|
}
|
|
1123
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1124
|
+
const _position = cloneDeep(position);
|
|
1125
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1126
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1127
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1128
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1129
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1130
|
+
_position.strategyData.decoded.subData = subData;
|
|
1131
|
+
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1132
|
+
_position.specific = {
|
|
1133
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1134
|
+
targetRepayRatio: subData.targetRatio,
|
|
1135
|
+
repayEnabled: isEnabled,
|
|
1136
|
+
subId1: Number(subId),
|
|
1137
|
+
subHashRepay: subHash,
|
|
1138
|
+
};
|
|
1139
|
+
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
1140
|
+
return _position;
|
|
1141
|
+
}
|
|
992
1142
|
const parsingMethodsMapping = {
|
|
993
1143
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
994
1144
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -998,6 +1148,7 @@ const parsingMethodsMapping = {
|
|
|
998
1148
|
[Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
999
1149
|
[Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1000
1150
|
[Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1151
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1001
1152
|
},
|
|
1002
1153
|
[ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1003
1154
|
[Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1036,6 +1187,8 @@ const parsingMethodsMapping = {
|
|
|
1036
1187
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1037
1188
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1038
1189
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1190
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1191
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1039
1192
|
},
|
|
1040
1193
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1041
1194
|
[Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1050,6 +1203,8 @@ const parsingMethodsMapping = {
|
|
|
1050
1203
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1051
1204
|
[Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1052
1205
|
[Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1206
|
+
[Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1207
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1053
1208
|
},
|
|
1054
1209
|
[ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1055
1210
|
[Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1066,6 +1221,8 @@ const parsingMethodsMapping = {
|
|
|
1066
1221
|
[Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1067
1222
|
[Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1068
1223
|
[Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1224
|
+
[Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1225
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1069
1226
|
},
|
|
1070
1227
|
[ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1071
1228
|
[Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1085,6 +1242,7 @@ const parsingMethodsMapping = {
|
|
|
1085
1242
|
[Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1086
1243
|
[Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1087
1244
|
[Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1245
|
+
[Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1088
1246
|
},
|
|
1089
1247
|
[ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1090
1248
|
[Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1098,10 +1256,13 @@ const parsingMethodsMapping = {
|
|
|
1098
1256
|
[Strategies.Identifiers.EoaBoost]: parseMorphoBlueLeverageManagement,
|
|
1099
1257
|
[Strategies.Identifiers.BoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1100
1258
|
[Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1259
|
+
[Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1260
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1101
1261
|
},
|
|
1102
1262
|
[ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1103
1263
|
[Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1104
1264
|
[Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1265
|
+
[Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1105
1266
|
},
|
|
1106
1267
|
};
|
|
1107
1268
|
function getParsingMethod(id, strategy) {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CloseToAssetType, Bundles, ChainId, RatioState, Strategies } from '../types/enums';
|
|
1
|
+
import { Bundles, ChainId, CloseToAssetType, RatioState, Strategies } from '../types/enums';
|
|
3
2
|
import type { EthereumAddress, StrategyOrBundleIds } from '../types';
|
|
3
|
+
import type { OrderType } from '../types/enums';
|
|
4
4
|
export declare const makerEncode: {
|
|
5
5
|
repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds | Bundles.BaseIds)[];
|
|
6
6
|
closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
7
7
|
trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
8
|
-
leverageManagement(vaultId: number, triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | number | boolean)[];
|
|
9
8
|
leverageManagementWithoutSubProxy(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, isBoost: boolean, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
9
|
+
liquidationProtection(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
10
10
|
};
|
|
11
11
|
export declare const liquityEncode: {
|
|
12
12
|
closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
13
13
|
trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
14
14
|
paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
|
|
15
|
-
|
|
15
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
16
16
|
dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
17
17
|
dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
18
18
|
debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
@@ -21,10 +21,9 @@ export declare const chickenBondsEncode: {
|
|
|
21
21
|
rebond(bondId: number): string[];
|
|
22
22
|
};
|
|
23
23
|
export declare const aaveV2Encode: {
|
|
24
|
-
|
|
24
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
25
25
|
};
|
|
26
26
|
export declare const aaveV3Encode: {
|
|
27
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
|
|
28
27
|
closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
29
28
|
baseTokenAddress: EthereumAddress;
|
|
30
29
|
quoteTokenAddress: EthereumAddress;
|
|
@@ -62,30 +61,28 @@ export declare const aaveV3Encode: {
|
|
|
62
61
|
targetRatio: number;
|
|
63
62
|
}): (number | boolean | string[])[];
|
|
64
63
|
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
|
|
64
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
65
65
|
leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
|
|
66
66
|
closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
67
67
|
collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
|
|
68
68
|
};
|
|
69
69
|
export declare const compoundV2Encode: {
|
|
70
|
-
|
|
70
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
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
|
+
liquidationProtectionWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
74
75
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
75
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[])[];
|
|
76
77
|
};
|
|
77
|
-
export declare const compoundV3L2Encode: {
|
|
78
|
-
leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA?: boolean): string;
|
|
79
|
-
};
|
|
80
78
|
export declare const morphoAaveV2Encode: {
|
|
81
79
|
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
82
80
|
};
|
|
83
81
|
export declare const exchangeEncode: {
|
|
84
82
|
dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
85
|
-
|
|
83
|
+
limitOrderWithoutSubProxy(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType, fromTokenDecimals: number, toTokenDecimals: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
86
84
|
};
|
|
87
85
|
export declare const sparkEncode: {
|
|
88
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
|
|
89
86
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
90
87
|
baseTokenAddr: EthereumAddress;
|
|
91
88
|
quoteTokenAddr: EthereumAddress;
|
|
@@ -101,6 +98,7 @@ export declare const sparkEncode: {
|
|
|
101
98
|
}): (number | boolean | string[])[];
|
|
102
99
|
closeOnPriceGeneric(strategyOrBundleId: number, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
103
100
|
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
101
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
104
102
|
collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
|
|
105
103
|
};
|
|
106
104
|
export declare const crvUSDEncode: {
|
|
@@ -109,6 +107,7 @@ export declare const crvUSDEncode: {
|
|
|
109
107
|
};
|
|
110
108
|
export declare const morphoBlueEncode: {
|
|
111
109
|
leverageManagement(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.BaseIds)[] | (boolean | string[] | Bundles.MainnetIds | Bundles.ArbitrumIds)[];
|
|
110
|
+
liquidationProtection(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.MainnetIds)[];
|
|
112
111
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, targetRatio: number, price: number, priceState: RatioState): (number | boolean | string[])[];
|
|
113
112
|
closeOnPrice(strategyOrBundleId: number, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
114
113
|
};
|
|
@@ -120,9 +119,11 @@ export declare const liquityV2Encode: {
|
|
|
120
119
|
};
|
|
121
120
|
export declare const fluidEncode: {
|
|
122
121
|
leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
122
|
+
liquidationProtection(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
123
123
|
};
|
|
124
124
|
export declare const aaveV4Encode: {
|
|
125
125
|
leverageManagement(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
126
|
+
liquidationProtection(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
126
127
|
leverageManagementOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, targetRatio: number, price: string, priceState: RatioState, ratioState: RatioState): (number | boolean | string[])[];
|
|
127
128
|
closeOnPrice(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, stopLossPrice?: string, stopLossType?: CloseToAssetType, takeProfitPrice?: string, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
128
129
|
collateralSwitch(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, amountToSwitch: string, price: string, ratioState: RatioState): (number | boolean | string[])[];
|