@defisaver/automation-sdk 3.3.17 → 3.3.18-spark-eoa-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 +170 -0
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +5 -2
- package/cjs/services/ethereumService.test.js +4 -7
- package/cjs/services/strategiesService.js +195 -15
- package/cjs/services/strategySubService.d.ts +22 -17
- package/cjs/services/strategySubService.js +92 -28
- package/cjs/services/strategySubService.test.js +297 -40
- package/cjs/services/subDataService.d.ts +108 -20
- package/cjs/services/subDataService.js +97 -79
- package/cjs/services/subDataService.test.js +479 -174
- package/cjs/types/enums.d.ts +44 -6
- package/cjs/types/enums.js +38 -0
- package/esm/constants/index.js +170 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +5 -2
- package/esm/services/ethereumService.test.js +4 -7
- package/esm/services/strategiesService.js +195 -15
- package/esm/services/strategySubService.d.ts +22 -17
- package/esm/services/strategySubService.js +91 -27
- package/esm/services/strategySubService.test.js +298 -38
- package/esm/services/subDataService.d.ts +108 -20
- package/esm/services/subDataService.js +95 -77
- package/esm/services/subDataService.test.js +480 -172
- package/esm/types/enums.d.ts +44 -6
- package/esm/types/enums.js +38 -0
- package/package.json +1 -1
- package/src/constants/index.ts +172 -1
- package/src/index.ts +22 -6
- package/src/services/ethereumService.test.ts +5 -8
- package/src/services/strategiesService.ts +262 -16
- package/src/services/strategySubService.test.ts +384 -46
- package/src/services/strategySubService.ts +251 -40
- package/src/services/subDataService.test.ts +639 -231
- package/src/services/subDataService.ts +149 -106
- package/src/services/utils.test.ts +1 -1
- package/src/services/utils.ts +3 -1
- package/src/types/enums.ts +38 -2
|
@@ -95,7 +95,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
95
95
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
96
96
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
97
97
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
98
|
-
const subData = subDataService.
|
|
98
|
+
const subData = subDataService.legacyMakerLeverageManagementSubData.decode(subStruct.subData);
|
|
99
99
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
100
100
|
_position.strategyData.decoded.subData = subData;
|
|
101
101
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
@@ -123,6 +123,24 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
123
123
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
124
124
|
return _position;
|
|
125
125
|
}
|
|
126
|
+
function parseMakerLiquidationProtection(position, parseData) {
|
|
127
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
|
+
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
129
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
130
|
+
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
131
|
+
const subData = subDataService.makerLiquidationProtectionSubData.decode(subStruct.subData);
|
|
132
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
133
|
+
_position.strategyData.decoded.subData = subData;
|
|
134
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, subData.vaultId);
|
|
135
|
+
_position.specific = {
|
|
136
|
+
triggerRepayRatio: triggerData.ratio,
|
|
137
|
+
targetRepayRatio: subData.targetRatio,
|
|
138
|
+
repayEnabled: isEnabled,
|
|
139
|
+
subId1: Number(subId),
|
|
140
|
+
};
|
|
141
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
142
|
+
return _position;
|
|
143
|
+
}
|
|
126
144
|
function parseLiquityCloseOnPrice(position, parseData) {
|
|
127
145
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
128
146
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -160,7 +178,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
160
178
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
161
179
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
162
180
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
163
|
-
const subData = subDataService.
|
|
181
|
+
const subData = subDataService.legacyAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
164
182
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
165
183
|
_position.strategyData.decoded.subData = subData;
|
|
166
184
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
@@ -196,10 +214,10 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
196
214
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
197
215
|
let subData;
|
|
198
216
|
if (isEOA) {
|
|
199
|
-
subData = subDataService.
|
|
217
|
+
subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
200
218
|
}
|
|
201
219
|
else {
|
|
202
|
-
subData = subDataService.
|
|
220
|
+
subData = subDataService.legacyAaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
203
221
|
}
|
|
204
222
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
205
223
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -233,6 +251,26 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
233
251
|
}
|
|
234
252
|
return _position;
|
|
235
253
|
}
|
|
254
|
+
function parseAaveV3LiquidationProtection(position, parseData) {
|
|
255
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
256
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
257
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
258
|
+
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
259
|
+
const subData = subDataService.aaveV3LiquidationProtectionSubData.decode(subStruct.subData);
|
|
260
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
261
|
+
_position.strategyData.decoded.subData = subData;
|
|
262
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
263
|
+
_position.specific = {
|
|
264
|
+
triggerRepayRatio: triggerData.ratio,
|
|
265
|
+
targetRepayRatio: subData.targetRatio,
|
|
266
|
+
repayEnabled: isEnabled,
|
|
267
|
+
subId1: Number(subId),
|
|
268
|
+
subHashRepay: subHash,
|
|
269
|
+
};
|
|
270
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
271
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
272
|
+
return _position;
|
|
273
|
+
}
|
|
236
274
|
function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
237
275
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
238
276
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -321,11 +359,17 @@ function parseAaveV3CollateralSwitch(position, parseData) {
|
|
|
321
359
|
function parseSparkCollateralSwitch(position, parseData) {
|
|
322
360
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
323
361
|
const { subStruct } = parseData.subscriptionEventData;
|
|
362
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
324
363
|
const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
|
|
325
|
-
const subData =
|
|
364
|
+
const subData = isEOA
|
|
365
|
+
? subDataService.sparkGenericFLCollateralSwitchSubData.decode(subStruct.subData)
|
|
366
|
+
: subDataService.sparkCollateralSwitchSubData.decode(subStruct.subData);
|
|
326
367
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
327
368
|
_position.strategyData.decoded.subData = subData;
|
|
328
369
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
370
|
+
_position.strategy.strategyId = isEOA
|
|
371
|
+
? enums_1.Strategies.Identifiers.EoaCollateralSwitch
|
|
372
|
+
: enums_1.Strategies.Identifiers.CollateralSwitch;
|
|
329
373
|
return _position;
|
|
330
374
|
}
|
|
331
375
|
function parseAaveV4LeverageManagement(position, parseData) {
|
|
@@ -362,6 +406,26 @@ function parseAaveV4LeverageManagement(position, parseData) {
|
|
|
362
406
|
}
|
|
363
407
|
return _position;
|
|
364
408
|
}
|
|
409
|
+
function parseAaveV4LiquidationProtection(position, parseData) {
|
|
410
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
411
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
412
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
413
|
+
const triggerData = triggerService.aaveV4RatioTrigger.decode(subStruct.triggerData);
|
|
414
|
+
const subData = subDataService.aaveV4LiquidationProtectionSubData.decode(subStruct.subData);
|
|
415
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
416
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
417
|
+
_position.strategyData.decoded.subData = subData;
|
|
418
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.spoke);
|
|
419
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
420
|
+
_position.specific = {
|
|
421
|
+
triggerRepayRatio: triggerData.ratio,
|
|
422
|
+
targetRepayRatio: subData.targetRatio,
|
|
423
|
+
repayEnabled: isEnabled,
|
|
424
|
+
subId1: Number(subId),
|
|
425
|
+
subHashRepay: subHash,
|
|
426
|
+
};
|
|
427
|
+
return _position;
|
|
428
|
+
}
|
|
365
429
|
function parseAaveV4LeverageManagementOnPrice(position, parseData) {
|
|
366
430
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
367
431
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -481,7 +545,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
481
545
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
482
546
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
483
547
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
484
|
-
const subData = subDataService.
|
|
548
|
+
const subData = subDataService.legacyCompoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
485
549
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
486
550
|
_position.strategyData.decoded.subData = subData;
|
|
487
551
|
_position.owner = triggerData.owner.toLowerCase();
|
|
@@ -515,7 +579,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
515
579
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
516
580
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
517
581
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
518
|
-
const subDataDecoder = subDataService.
|
|
582
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubData;
|
|
519
583
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
520
584
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
521
585
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -546,6 +610,27 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
546
610
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
547
611
|
return _position;
|
|
548
612
|
}
|
|
613
|
+
function parseCompoundV3LiquidationProtection(position, parseData) {
|
|
614
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
615
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
616
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
617
|
+
const subDataDecoder = subDataService.compoundV3LiquidationProtectionSubData;
|
|
618
|
+
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
619
|
+
const subData = subDataDecoder.decode(subStruct.subData);
|
|
620
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
621
|
+
_position.strategyData.decoded.subData = subData;
|
|
622
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
623
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
624
|
+
_position.specific = {
|
|
625
|
+
triggerRepayRatio: triggerData.ratio,
|
|
626
|
+
targetRepayRatio: subData.targetRatio,
|
|
627
|
+
repayEnabled: isEnabled,
|
|
628
|
+
subId1: Number(subId),
|
|
629
|
+
subHashRepay: subHash,
|
|
630
|
+
};
|
|
631
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
632
|
+
return _position;
|
|
633
|
+
}
|
|
549
634
|
function parseCompoundV3LeverageManagementOnPrice(position, parseData) {
|
|
550
635
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
551
636
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -619,7 +704,7 @@ function parseExchangeDca(position, parseData, chainId) {
|
|
|
619
704
|
function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
620
705
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
621
706
|
const { subStruct } = parseData.subscriptionEventData;
|
|
622
|
-
_position.strategyData.decoded.subData = subDataService.
|
|
707
|
+
_position.strategyData.decoded.subData = subDataService.legacyExchangeLimitOrderSubData.decode(subStruct.subData, chainId);
|
|
623
708
|
const fromTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.fromToken, chainId).decimals;
|
|
624
709
|
const toTokenDecimals = (0, tokens_1.getAssetInfoByAddress)(_position.strategyData.decoded.subData.toToken, chainId).decimals;
|
|
625
710
|
_position.strategyData.decoded.triggerData = triggerService.exchangeOffchainPriceTrigger.decode(subStruct.triggerData, fromTokenDecimals, toTokenDecimals);
|
|
@@ -631,7 +716,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
631
716
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
632
717
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
633
718
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
634
|
-
const subData = subDataService.
|
|
719
|
+
const subData = subDataService.legacyLiquityLeverageManagementSubData.decode(subStruct.subData);
|
|
635
720
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
636
721
|
_position.strategyData.decoded.subData = subData;
|
|
637
722
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner);
|
|
@@ -696,19 +781,22 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
781
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
697
782
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
698
783
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
784
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
699
785
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
700
|
-
const subData =
|
|
786
|
+
const subData = isEOA
|
|
787
|
+
? subDataService.sparkGenericLeverageManagementSubData.decode(subStruct.subData)
|
|
788
|
+
: subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
701
789
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
702
790
|
_position.strategyData.decoded.subData = subData;
|
|
703
791
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
704
|
-
const isRepay =
|
|
792
|
+
const isRepay = [enums_1.Strategies.Identifiers.Repay, enums_1.Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
|
|
705
793
|
if (isRepay) {
|
|
706
794
|
_position.specific = {
|
|
707
795
|
triggerRepayRatio: triggerData.ratio,
|
|
708
796
|
targetRepayRatio: subData.targetRatio,
|
|
709
797
|
repayEnabled: isEnabled,
|
|
710
798
|
subId1: Number(subId),
|
|
711
|
-
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
799
|
+
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
712
800
|
subHashRepay: subHash,
|
|
713
801
|
};
|
|
714
802
|
}
|
|
@@ -718,18 +806,48 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
718
806
|
targetBoostRatio: subData.targetRatio,
|
|
719
807
|
boostEnabled: isEnabled,
|
|
720
808
|
subId2: Number(subId),
|
|
721
|
-
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
809
|
+
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
722
810
|
subHashBoost: subHash,
|
|
723
811
|
};
|
|
724
812
|
}
|
|
725
|
-
_position.strategy.strategyId =
|
|
813
|
+
_position.strategy.strategyId = isEOA
|
|
814
|
+
? enums_1.Strategies.IdOverrides.EoaLeverageManagement
|
|
815
|
+
: enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
816
|
+
return _position;
|
|
817
|
+
}
|
|
818
|
+
function parseSparkLiquidationProtection(position, parseData) {
|
|
819
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
820
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
821
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
822
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
823
|
+
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
824
|
+
const subData = isEOA
|
|
825
|
+
? subDataService.sparkGenericLiquidationProtectionSubData.decode(subStruct.subData)
|
|
826
|
+
: subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
827
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
828
|
+
_position.strategyData.decoded.subData = subData;
|
|
829
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
830
|
+
_position.specific = {
|
|
831
|
+
triggerRepayRatio: triggerData.ratio,
|
|
832
|
+
targetRepayRatio: subData.targetRatio,
|
|
833
|
+
repayEnabled: isEnabled,
|
|
834
|
+
subId1: Number(subId),
|
|
835
|
+
subHashRepay: subHash,
|
|
836
|
+
};
|
|
837
|
+
_position.strategy.strategyId = isEOA
|
|
838
|
+
? enums_1.Strategies.IdOverrides.EoaLiquidationProtection
|
|
839
|
+
: enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
840
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
726
841
|
return _position;
|
|
727
842
|
}
|
|
728
843
|
function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
729
844
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
730
845
|
const { subStruct } = parseData.subscriptionEventData;
|
|
846
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
731
847
|
const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
|
|
732
|
-
const subData =
|
|
848
|
+
const subData = isEOA
|
|
849
|
+
? subDataService.sparkLeverageManagementOnPriceGenericSubData.decode(subStruct.subData)
|
|
850
|
+
: subDataService.sparkLeverageManagementOnPriceSubData.decode(subStruct.subData);
|
|
733
851
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
734
852
|
_position.strategyData.decoded.subData = subData;
|
|
735
853
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
@@ -746,6 +864,9 @@ function parseSparkLeverageManagementOnPrice(position, parseData) {
|
|
|
746
864
|
price: triggerData.price,
|
|
747
865
|
ratioState: triggerData.ratioState,
|
|
748
866
|
};
|
|
867
|
+
_position.strategy.strategyId = isEOA
|
|
868
|
+
? enums_1.Strategies.IdOverrides.EoaLeverageManagementOnPrice
|
|
869
|
+
: enums_1.Strategies.IdOverrides.LeverageManagementOnPrice;
|
|
749
870
|
return _position;
|
|
750
871
|
}
|
|
751
872
|
function parseSparkCloseOnPrice(position, parseData) {
|
|
@@ -753,9 +874,11 @@ function parseSparkCloseOnPrice(position, parseData) {
|
|
|
753
874
|
const { subStruct } = parseData.subscriptionEventData;
|
|
754
875
|
const triggerData = triggerService.sparkQuotePriceRangeTrigger.decode(subStruct.triggerData);
|
|
755
876
|
const subData = subDataService.sparkCloseGenericSubData.decode(subStruct.subData);
|
|
877
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
756
878
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
757
879
|
_position.strategyData.decoded.subData = subData;
|
|
758
880
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
881
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.Identifiers.EoaCloseOnPrice : enums_1.Strategies.Identifiers.CloseOnPrice;
|
|
759
882
|
const { takeProfitType, stopLossType } = (0, utils_1.getStopLossAndTakeProfitTypeByCloseStrategyType)(+subData.closeType);
|
|
760
883
|
_position.specific = {
|
|
761
884
|
collAsset: subData.collAsset,
|
|
@@ -879,6 +1002,26 @@ function parseMorphoBlueLeverageManagement(position, parseData) {
|
|
|
879
1002
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
880
1003
|
return _position;
|
|
881
1004
|
}
|
|
1005
|
+
function parseMorphoBlueLiquidationProtection(position, parseData) {
|
|
1006
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
1007
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1008
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1009
|
+
const triggerData = triggerService.morphoBlueRatioTrigger.decode(subStruct.triggerData);
|
|
1010
|
+
const subData = subDataService.morphoBlueLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1011
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1012
|
+
_position.strategyData.decoded.subData = subData;
|
|
1013
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.marketId);
|
|
1014
|
+
_position.specific = {
|
|
1015
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1016
|
+
targetRepayRatio: subData.targetRatio,
|
|
1017
|
+
repayEnabled: isEnabled,
|
|
1018
|
+
subId1: Number(subId),
|
|
1019
|
+
subHashRepay: subHash,
|
|
1020
|
+
};
|
|
1021
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1022
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLiquidationProtection : enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1023
|
+
return _position;
|
|
1024
|
+
}
|
|
882
1025
|
function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
883
1026
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
884
1027
|
const { subStruct } = parseData.subscriptionEventData;
|
|
@@ -1037,6 +1180,25 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
1037
1180
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
1038
1181
|
return _position;
|
|
1039
1182
|
}
|
|
1183
|
+
function parseFluidT1LiquidationProtection(position, parseData) {
|
|
1184
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
1185
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1186
|
+
const { isEnabled } = parseData.strategiesSubsData;
|
|
1187
|
+
const triggerData = triggerService.fluidRatioTrigger.decode(subStruct.triggerData);
|
|
1188
|
+
const subData = subDataService.fluidLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1189
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
1190
|
+
_position.strategyData.decoded.subData = subData;
|
|
1191
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.nftId, subData.vault);
|
|
1192
|
+
_position.specific = {
|
|
1193
|
+
triggerRepayRatio: triggerData.ratio,
|
|
1194
|
+
targetRepayRatio: subData.targetRatio,
|
|
1195
|
+
repayEnabled: isEnabled,
|
|
1196
|
+
subId1: Number(subId),
|
|
1197
|
+
subHashRepay: subHash,
|
|
1198
|
+
};
|
|
1199
|
+
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LiquidationProtection;
|
|
1200
|
+
return _position;
|
|
1201
|
+
}
|
|
1040
1202
|
const parsingMethodsMapping = {
|
|
1041
1203
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
1042
1204
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -1046,6 +1208,7 @@ const parsingMethodsMapping = {
|
|
|
1046
1208
|
[enums_1.Strategies.Identifiers.TrailingStopToDebt]: parseMakerTrailingStop,
|
|
1047
1209
|
[enums_1.Strategies.Identifiers.Repay]: parseMakerLeverageManagement,
|
|
1048
1210
|
[enums_1.Strategies.Identifiers.Boost]: parseMakerLeverageManagement,
|
|
1211
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMakerLiquidationProtection,
|
|
1049
1212
|
},
|
|
1050
1213
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.Liquity]: {
|
|
1051
1214
|
[enums_1.Strategies.Identifiers.CloseOnPriceToColl]: parseLiquityCloseOnPrice,
|
|
@@ -1084,6 +1247,8 @@ const parsingMethodsMapping = {
|
|
|
1084
1247
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
1085
1248
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
1086
1249
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV3CollateralSwitch,
|
|
1250
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1251
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV3LiquidationProtection,
|
|
1087
1252
|
},
|
|
1088
1253
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV4]: {
|
|
1089
1254
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV4LeverageManagement,
|
|
@@ -1098,6 +1263,8 @@ const parsingMethodsMapping = {
|
|
|
1098
1263
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV4CloseOnPrice,
|
|
1099
1264
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1100
1265
|
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseAaveV4CollateralSwitch,
|
|
1266
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1267
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseAaveV4LiquidationProtection,
|
|
1101
1268
|
},
|
|
1102
1269
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
1103
1270
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -1114,6 +1281,8 @@ const parsingMethodsMapping = {
|
|
|
1114
1281
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseCompoundV3LeverageManagementOnPrice,
|
|
1115
1282
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1116
1283
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseCompoundV3CloseOnPrice,
|
|
1284
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1285
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseCompoundV3LiquidationProtection,
|
|
1117
1286
|
},
|
|
1118
1287
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.ChickenBonds]: {
|
|
1119
1288
|
[enums_1.Strategies.Identifiers.Rebond]: parseChickenBondsRebond,
|
|
@@ -1132,7 +1301,15 @@ const parsingMethodsMapping = {
|
|
|
1132
1301
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1133
1302
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1134
1303
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1304
|
+
[enums_1.Strategies.Identifiers.EoaRepay]: parseSparkLeverageManagement,
|
|
1305
|
+
[enums_1.Strategies.Identifiers.EoaBoost]: parseSparkLeverageManagement,
|
|
1306
|
+
[enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1307
|
+
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1308
|
+
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseSparkCloseOnPrice,
|
|
1135
1309
|
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1310
|
+
[enums_1.Strategies.Identifiers.EoaCollateralSwitch]: parseSparkCollateralSwitch,
|
|
1311
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1312
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseSparkLiquidationProtection,
|
|
1136
1313
|
},
|
|
1137
1314
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1138
1315
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -1149,11 +1326,14 @@ const parsingMethodsMapping = {
|
|
|
1149
1326
|
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1150
1327
|
[enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseMorphoBlueLeverageManagementOnPrice,
|
|
1151
1328
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1329
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1330
|
+
[enums_1.Strategies.Identifiers.EoaLiquidationProtection]: parseMorphoBlueLiquidationProtection,
|
|
1152
1331
|
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseMorphoBlueCloseOnPrice,
|
|
1153
1332
|
},
|
|
1154
1333
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.FluidT1]: {
|
|
1155
1334
|
[enums_1.Strategies.Identifiers.Repay]: parseFluidT1LeverageManagement,
|
|
1156
1335
|
[enums_1.Strategies.Identifiers.Boost]: parseFluidT1LeverageManagement,
|
|
1336
|
+
[enums_1.Strategies.Identifiers.LiquidationProtection]: parseFluidT1LiquidationProtection,
|
|
1157
1337
|
},
|
|
1158
1338
|
};
|
|
1159
1339
|
function getParsingMethod(id, strategy) {
|
|
@@ -1,26 +1,24 @@
|
|
|
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
|
-
|
|
8
|
+
leverageManagement(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)[];
|
|
9
10
|
};
|
|
10
11
|
export declare const liquityEncode: {
|
|
11
12
|
closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
12
13
|
trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
13
14
|
paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
|
|
14
|
-
|
|
15
|
+
leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
15
16
|
dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
16
17
|
dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
17
18
|
debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
18
19
|
};
|
|
19
|
-
export declare const chickenBondsEncode: {
|
|
20
|
-
rebond(bondId: number): string[];
|
|
21
|
-
};
|
|
22
20
|
export declare const aaveV2Encode: {
|
|
23
|
-
|
|
21
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
24
22
|
};
|
|
25
23
|
export declare const aaveV3Encode: {
|
|
26
24
|
closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
@@ -59,25 +57,24 @@ export declare const aaveV3Encode: {
|
|
|
59
57
|
marketAddr: EthereumAddress;
|
|
60
58
|
targetRatio: number;
|
|
61
59
|
}): (number | boolean | string[])[];
|
|
62
|
-
|
|
60
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
|
|
61
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
63
62
|
leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
|
|
64
63
|
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[])[];
|
|
65
64
|
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[])[];
|
|
66
65
|
};
|
|
67
66
|
export declare const compoundV2Encode: {
|
|
68
|
-
|
|
67
|
+
leverageManagement(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
69
68
|
};
|
|
70
69
|
export declare const compoundV3Encode: {
|
|
71
|
-
|
|
70
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
71
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
72
72
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
73
73
|
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[])[];
|
|
74
74
|
};
|
|
75
|
-
export declare const morphoAaveV2Encode: {
|
|
76
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
77
|
-
};
|
|
78
75
|
export declare const exchangeEncode: {
|
|
79
76
|
dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
80
|
-
|
|
77
|
+
limitOrder(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)[];
|
|
81
78
|
};
|
|
82
79
|
export declare const sparkEncode: {
|
|
83
80
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
@@ -94,17 +91,23 @@ export declare const sparkEncode: {
|
|
|
94
91
|
targetRatio: number;
|
|
95
92
|
}): (number | boolean | string[])[];
|
|
96
93
|
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[])[];
|
|
97
|
-
|
|
94
|
+
leverageManagement(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
95
|
+
liquidationProtection(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
96
|
+
leverageManagementGeneric(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
97
|
+
liquidationProtectionGeneric(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
98
|
+
leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
|
|
98
99
|
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[])[];
|
|
100
|
+
collateralSwitchGeneric(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, user: EthereumAddress, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
|
|
99
101
|
};
|
|
100
102
|
export declare const crvUSDEncode: {
|
|
101
103
|
leverageManagement(owner: EthereumAddress, controllerAddr: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, collTokenAddr: EthereumAddress, crvUSDAddr: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
102
104
|
payback(proxyAddress: EthereumAddress, addressToPullTokensFrom: EthereumAddress, positionOwner: EthereumAddress, paybackAmount: string, crvUSDAddr: EthereumAddress, controllerAddr: EthereumAddress, minHealthRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
103
105
|
};
|
|
104
|
-
export type MorphoBlueBundleStrategy = 'repay' | 'boost' | 'repayOnPrice' | 'boostOnPrice' | 'close';
|
|
106
|
+
export type MorphoBlueBundleStrategy = 'repay' | 'boost' | 'repayOnPrice' | 'boostOnPrice' | 'close' | 'liquidationProtection';
|
|
105
107
|
export declare function getMorphoBlueBundleId(network: ChainId, strategy: MorphoBlueBundleStrategy, isEOA: boolean): number;
|
|
106
108
|
export declare const morphoBlueEncode: {
|
|
107
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): (number | boolean | string[])[];
|
|
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): (number | boolean | string[])[];
|
|
108
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[])[];
|
|
109
112
|
leverageManagementOnPriceGeneric(loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, user: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, isBoost: boolean, isEOA: boolean, network: ChainId): (number | boolean | string[])[];
|
|
110
113
|
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[])[];
|
|
@@ -118,9 +121,11 @@ export declare const liquityV2Encode: {
|
|
|
118
121
|
};
|
|
119
122
|
export declare const fluidEncode: {
|
|
120
123
|
leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
124
|
+
liquidationProtection(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
121
125
|
};
|
|
122
126
|
export declare const aaveV4Encode: {
|
|
123
127
|
leverageManagement(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
128
|
+
liquidationProtection(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
124
129
|
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[])[];
|
|
125
130
|
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[])[];
|
|
126
131
|
collateralSwitch(strategyOrBundleId: number, owner: EthereumAddress, spoke: EthereumAddress, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, amountToSwitch: string, price: string, ratioState: RatioState): (number | boolean | string[])[];
|