@defisaver/automation-sdk 3.3.12 → 3.3.13-strategies-refactor-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 +5 -0
- package/cjs/services/strategiesService.js +41 -17
- package/cjs/services/strategySubService.d.ts +6 -11
- package/cjs/services/strategySubService.js +33 -62
- package/cjs/services/strategySubService.test.js +99 -234
- package/cjs/services/subDataService.d.ts +46 -2
- package/cjs/services/subDataService.js +115 -20
- package/cjs/services/subDataService.test.js +121 -42
- package/cjs/types/enums.d.ts +2 -1
- package/cjs/types/enums.js +1 -0
- package/esm/constants/index.js +5 -0
- package/esm/services/strategiesService.js +41 -17
- package/esm/services/strategySubService.d.ts +6 -11
- package/esm/services/strategySubService.js +32 -58
- package/esm/services/strategySubService.test.js +101 -236
- package/esm/services/subDataService.d.ts +46 -2
- package/esm/services/subDataService.js +113 -19
- package/esm/services/subDataService.test.js +121 -42
- package/esm/types/enums.d.ts +2 -1
- package/esm/types/enums.js +1 -0
- package/package.json +1 -1
- package/src/constants/index.ts +5 -0
- package/src/services/strategiesService.ts +42 -17
- package/src/services/strategySubService.test.ts +117 -279
- package/src/services/strategySubService.ts +81 -111
- package/src/services/subDataService.test.ts +125 -48
- package/src/services/subDataService.ts +156 -28
- package/src/types/enums.ts +1 -0
package/cjs/constants/index.js
CHANGED
|
@@ -117,6 +117,11 @@ exports.MAINNET_STRATEGIES_INFO = {
|
|
|
117
117
|
strategyId: enums_1.Strategies.Identifiers.EoaCollateralSwitch,
|
|
118
118
|
protocol: exports.PROTOCOLS.AaveV4,
|
|
119
119
|
},
|
|
120
|
+
[enums_1.Strategies.MainnetIds.SPARK_COLLATERAL_SWITCH]: {
|
|
121
|
+
strategyOrBundleId: enums_1.Strategies.MainnetIds.SPARK_COLLATERAL_SWITCH,
|
|
122
|
+
strategyId: enums_1.Strategies.Identifiers.CollateralSwitch,
|
|
123
|
+
protocol: exports.PROTOCOLS.Spark,
|
|
124
|
+
},
|
|
120
125
|
};
|
|
121
126
|
exports.OPTIMISM_STRATEGIES_INFO = {
|
|
122
127
|
[enums_1.Strategies.OptimismIds.EXCHANGE_DCA]: {
|
|
@@ -92,7 +92,7 @@ function parseMakerTrailingStop(position, parseData) {
|
|
|
92
92
|
}
|
|
93
93
|
function parseMakerLeverageManagement(position, parseData) {
|
|
94
94
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
95
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
95
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
96
96
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
97
97
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
98
98
|
const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -104,9 +104,10 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
104
104
|
_position.specific = {
|
|
105
105
|
triggerRepayRatio: triggerData.ratio,
|
|
106
106
|
targetRepayRatio: subData.targetRatio,
|
|
107
|
-
repayEnabled:
|
|
107
|
+
repayEnabled: isEnabled,
|
|
108
108
|
subId1: Number(subId),
|
|
109
109
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
110
|
+
subHashRepay: subHash,
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
else {
|
|
@@ -116,6 +117,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
116
117
|
boostEnabled: isEnabled,
|
|
117
118
|
subId2: Number(subId),
|
|
118
119
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
120
|
+
subHashBoost: subHash,
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
123
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -155,7 +157,7 @@ function parseLiquityTrailingStop(position, parseData) {
|
|
|
155
157
|
}
|
|
156
158
|
function parseAaveV2LeverageManagement(position, parseData) {
|
|
157
159
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
158
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
160
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
159
161
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
160
162
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
161
163
|
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -167,9 +169,10 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
167
169
|
_position.specific = {
|
|
168
170
|
triggerRepayRatio: triggerData.ratio,
|
|
169
171
|
targetRepayRatio: subData.targetRatio,
|
|
170
|
-
repayEnabled:
|
|
172
|
+
repayEnabled: isEnabled,
|
|
171
173
|
subId1: Number(subId),
|
|
172
174
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
175
|
+
subHashRepay: subHash,
|
|
173
176
|
};
|
|
174
177
|
}
|
|
175
178
|
else {
|
|
@@ -179,6 +182,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
179
182
|
boostEnabled: isEnabled,
|
|
180
183
|
subId2: Number(subId),
|
|
181
184
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
185
|
+
subHashBoost: subHash,
|
|
182
186
|
};
|
|
183
187
|
}
|
|
184
188
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -314,6 +318,16 @@ function parseAaveV3CollateralSwitch(position, parseData) {
|
|
|
314
318
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
315
319
|
return _position;
|
|
316
320
|
}
|
|
321
|
+
function parseSparkCollateralSwitch(position, parseData) {
|
|
322
|
+
const _position = (0, lodash_1.cloneDeep)(position);
|
|
323
|
+
const { subStruct } = parseData.subscriptionEventData;
|
|
324
|
+
const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
|
|
325
|
+
const subData = subDataService.sparkCollateralSwitchSubData.decode(subStruct.subData);
|
|
326
|
+
_position.strategyData.decoded.triggerData = triggerData;
|
|
327
|
+
_position.strategyData.decoded.subData = subData;
|
|
328
|
+
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
329
|
+
return _position;
|
|
330
|
+
}
|
|
317
331
|
function parseAaveV4LeverageManagement(position, parseData) {
|
|
318
332
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
319
333
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
@@ -406,7 +420,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
406
420
|
}
|
|
407
421
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
408
422
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
409
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
423
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
410
424
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
411
425
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
412
426
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -418,9 +432,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
418
432
|
_position.specific = {
|
|
419
433
|
triggerRepayRatio: triggerData.ratio,
|
|
420
434
|
targetRepayRatio: subData.targetRatio,
|
|
421
|
-
repayEnabled:
|
|
435
|
+
repayEnabled: isEnabled,
|
|
422
436
|
subId1: Number(subId),
|
|
423
437
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
438
|
+
subHashRepay: subHash,
|
|
424
439
|
};
|
|
425
440
|
}
|
|
426
441
|
else {
|
|
@@ -430,6 +445,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
430
445
|
boostEnabled: isEnabled,
|
|
431
446
|
subId2: Number(subId),
|
|
432
447
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
448
|
+
subHashBoost: subHash,
|
|
433
449
|
};
|
|
434
450
|
}
|
|
435
451
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -462,7 +478,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
462
478
|
}
|
|
463
479
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
464
480
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
465
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
481
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
466
482
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
467
483
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
468
484
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -475,9 +491,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
475
491
|
_position.specific = {
|
|
476
492
|
triggerRepayRatio: triggerData.ratio,
|
|
477
493
|
targetRepayRatio: subData.targetRatio,
|
|
478
|
-
repayEnabled:
|
|
494
|
+
repayEnabled: isEnabled,
|
|
479
495
|
subId1: Number(subId),
|
|
480
496
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
497
|
+
subHashRepay: subHash,
|
|
481
498
|
};
|
|
482
499
|
}
|
|
483
500
|
else {
|
|
@@ -487,6 +504,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
487
504
|
boostEnabled: isEnabled,
|
|
488
505
|
subId2: Number(subId),
|
|
489
506
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
507
|
+
subHashBoost: subHash,
|
|
490
508
|
};
|
|
491
509
|
}
|
|
492
510
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -495,11 +513,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
495
513
|
}
|
|
496
514
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
497
515
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
498
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
516
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
499
517
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
500
|
-
const subDataDecoder =
|
|
501
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
502
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
518
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
503
519
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
504
520
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
505
521
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -511,9 +527,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
511
527
|
_position.specific = {
|
|
512
528
|
triggerRepayRatio: triggerData.ratio,
|
|
513
529
|
targetRepayRatio: subData.targetRatio,
|
|
514
|
-
repayEnabled:
|
|
530
|
+
repayEnabled: isEnabled,
|
|
515
531
|
subId1: Number(subId),
|
|
516
532
|
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
533
|
+
subHashRepay: subHash,
|
|
517
534
|
};
|
|
518
535
|
}
|
|
519
536
|
else {
|
|
@@ -523,6 +540,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
523
540
|
boostEnabled: isEnabled,
|
|
524
541
|
subId2: Number(subId),
|
|
525
542
|
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
543
|
+
subHashBoost: subHash,
|
|
526
544
|
};
|
|
527
545
|
}
|
|
528
546
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -610,7 +628,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
610
628
|
}
|
|
611
629
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
612
630
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
613
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
631
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
614
632
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
615
633
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
616
634
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -622,9 +640,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
622
640
|
_position.specific = {
|
|
623
641
|
triggerRepayRatio: triggerData.ratio,
|
|
624
642
|
targetRepayRatio: subData.targetRatio,
|
|
625
|
-
repayEnabled:
|
|
643
|
+
repayEnabled: isEnabled,
|
|
626
644
|
subId1: Number(subId),
|
|
627
645
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
646
|
+
subHashRepay: subHash,
|
|
628
647
|
};
|
|
629
648
|
}
|
|
630
649
|
else {
|
|
@@ -634,6 +653,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
634
653
|
boostEnabled: isEnabled,
|
|
635
654
|
subId2: Number(subId),
|
|
636
655
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
656
|
+
subHashBoost: subHash,
|
|
637
657
|
};
|
|
638
658
|
}
|
|
639
659
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -674,7 +694,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
674
694
|
}
|
|
675
695
|
function parseSparkLeverageManagement(position, parseData) {
|
|
676
696
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
677
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
697
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
678
698
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
679
699
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
680
700
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -686,9 +706,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
686
706
|
_position.specific = {
|
|
687
707
|
triggerRepayRatio: triggerData.ratio,
|
|
688
708
|
targetRepayRatio: subData.targetRatio,
|
|
689
|
-
repayEnabled:
|
|
709
|
+
repayEnabled: isEnabled,
|
|
690
710
|
subId1: Number(subId),
|
|
691
711
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
712
|
+
subHashRepay: subHash,
|
|
692
713
|
};
|
|
693
714
|
}
|
|
694
715
|
else {
|
|
@@ -698,6 +719,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
698
719
|
boostEnabled: isEnabled,
|
|
699
720
|
subId2: Number(subId),
|
|
700
721
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
722
|
+
subHashBoost: subHash,
|
|
701
723
|
};
|
|
702
724
|
}
|
|
703
725
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -880,6 +902,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
880
902
|
debtAsset: subData.loanToken,
|
|
881
903
|
price: triggerData.price,
|
|
882
904
|
ratio: subData.targetRatio,
|
|
905
|
+
ratioState: triggerData.priceState,
|
|
883
906
|
};
|
|
884
907
|
return _position;
|
|
885
908
|
}
|
|
@@ -1103,6 +1126,7 @@ const parsingMethodsMapping = {
|
|
|
1103
1126
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1104
1127
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1105
1128
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1129
|
+
[enums_1.Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1106
1130
|
},
|
|
1107
1131
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1108
1132
|
[enums_1.Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|
|
@@ -5,14 +5,13 @@ 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)[];
|
|
10
9
|
};
|
|
11
10
|
export declare const liquityEncode: {
|
|
12
11
|
closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
13
12
|
trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
|
|
14
13
|
paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
|
|
15
|
-
|
|
14
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
16
15
|
dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
17
16
|
dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
18
17
|
debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
@@ -21,10 +20,9 @@ export declare const chickenBondsEncode: {
|
|
|
21
20
|
rebond(bondId: number): string[];
|
|
22
21
|
};
|
|
23
22
|
export declare const aaveV2Encode: {
|
|
24
|
-
|
|
23
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
25
24
|
};
|
|
26
25
|
export declare const aaveV3Encode: {
|
|
27
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
|
|
28
26
|
closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
29
27
|
baseTokenAddress: EthereumAddress;
|
|
30
28
|
quoteTokenAddress: EthereumAddress;
|
|
@@ -67,25 +65,21 @@ export declare const aaveV3Encode: {
|
|
|
67
65
|
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
66
|
};
|
|
69
67
|
export declare const compoundV2Encode: {
|
|
70
|
-
|
|
68
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
71
69
|
};
|
|
72
70
|
export declare const compoundV3Encode: {
|
|
73
|
-
|
|
71
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
74
72
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
75
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[])[];
|
|
76
74
|
};
|
|
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
75
|
export declare const morphoAaveV2Encode: {
|
|
81
76
|
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
82
77
|
};
|
|
83
78
|
export declare const exchangeEncode: {
|
|
84
79
|
dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
|
|
85
|
-
|
|
80
|
+
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
81
|
};
|
|
87
82
|
export declare const sparkEncode: {
|
|
88
|
-
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
|
|
89
83
|
leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
|
|
90
84
|
baseTokenAddr: EthereumAddress;
|
|
91
85
|
quoteTokenAddr: EthereumAddress;
|
|
@@ -101,6 +95,7 @@ export declare const sparkEncode: {
|
|
|
101
95
|
}): (number | boolean | string[])[];
|
|
102
96
|
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
97
|
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
98
|
+
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[])[];
|
|
104
99
|
};
|
|
105
100
|
export declare const crvUSDEncode: {
|
|
106
101
|
leverageManagement(owner: EthereumAddress, controllerAddr: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, collTokenAddr: EthereumAddress, crvUSDAddr: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
|
|
@@ -22,12 +22,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.aaveV4Encode = exports.fluidEncode = exports.liquityV2Encode = exports.morphoBlueEncode = exports.crvUSDEncode = exports.sparkEncode = exports.exchangeEncode = exports.morphoAaveV2Encode = exports.
|
|
30
|
-
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
26
|
+
exports.aaveV4Encode = exports.fluidEncode = exports.liquityV2Encode = exports.morphoBlueEncode = exports.crvUSDEncode = exports.sparkEncode = exports.exchangeEncode = exports.morphoAaveV2Encode = exports.compoundV3Encode = exports.compoundV2Encode = exports.aaveV3Encode = exports.aaveV2Encode = exports.chickenBondsEncode = exports.liquityEncode = exports.makerEncode = void 0;
|
|
31
27
|
const tokens_1 = require("@defisaver/tokens");
|
|
32
28
|
const enums_1 = require("../types/enums");
|
|
33
29
|
const constants_1 = require("../constants");
|
|
@@ -60,16 +56,6 @@ exports.makerEncode = {
|
|
|
60
56
|
const isBundle = false;
|
|
61
57
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
62
58
|
},
|
|
63
|
-
leverageManagement(vaultId, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
64
|
-
return [
|
|
65
|
-
vaultId,
|
|
66
|
-
new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
|
|
67
|
-
new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
|
|
68
|
-
new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
|
|
69
|
-
new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
|
|
70
|
-
boostEnabled,
|
|
71
|
-
];
|
|
72
|
-
},
|
|
73
59
|
leverageManagementWithoutSubProxy(vaultId, triggerRatio, targetRatio, ratioState, isBoost, daiAddr) {
|
|
74
60
|
const bundleId = isBoost ? enums_1.Bundles.MainnetIds.MAKER_BOOST : enums_1.Bundles.MainnetIds.MAKER_REPAY;
|
|
75
61
|
const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
|
|
@@ -107,14 +93,11 @@ exports.liquityEncode = {
|
|
|
107
93
|
const isBundle = true;
|
|
108
94
|
return [strategyId, isBundle, triggerData, subData];
|
|
109
95
|
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
|
|
116
|
-
boostEnabled,
|
|
117
|
-
];
|
|
96
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
|
|
97
|
+
const isBundle = true;
|
|
98
|
+
const subData = subDataService.liquityLeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
99
|
+
const triggerData = triggerService.liquityRatioTrigger.encode(user, triggerRatio, ratioState);
|
|
100
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
118
101
|
},
|
|
119
102
|
dsrPayback(proxyAddress, triggerRatio, targetRatio) {
|
|
120
103
|
(0, utils_1.requireAddress)(proxyAddress);
|
|
@@ -147,24 +130,14 @@ exports.chickenBondsEncode = {
|
|
|
147
130
|
},
|
|
148
131
|
};
|
|
149
132
|
exports.aaveV2Encode = {
|
|
150
|
-
|
|
151
|
-
|
|
133
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
|
|
134
|
+
const isBundle = true;
|
|
135
|
+
const subData = subDataService.aaveV2LeverageManagementSubDataWithoutSubProxy.encode(market, targetRatio, ratioState);
|
|
136
|
+
const triggerData = triggerService.aaveV2RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
137
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
152
138
|
},
|
|
153
139
|
};
|
|
154
140
|
exports.aaveV3Encode = {
|
|
155
|
-
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
156
|
-
let subInput = '0x';
|
|
157
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
158
|
-
.padStart(32, '0'));
|
|
159
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
160
|
-
.padStart(32, '0'));
|
|
161
|
-
subInput = subInput.concat(new decimal_js_1.default(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
162
|
-
.padStart(32, '0'));
|
|
163
|
-
subInput = subInput.concat(new decimal_js_1.default(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
164
|
-
.padStart(32, '0'));
|
|
165
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
166
|
-
return subInput;
|
|
167
|
-
},
|
|
168
141
|
closeToAsset(strategyOrBundleId, isBundle = true, triggerData, subData) {
|
|
169
142
|
const { collAsset, collAssetId, debtAsset, debtAssetId, } = subData;
|
|
170
143
|
const subDataEncoded = subDataService.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
|
|
@@ -213,13 +186,19 @@ exports.aaveV3Encode = {
|
|
|
213
186
|
},
|
|
214
187
|
};
|
|
215
188
|
exports.compoundV2Encode = {
|
|
216
|
-
|
|
217
|
-
|
|
189
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
|
|
190
|
+
const isBundle = true;
|
|
191
|
+
const subData = subDataService.compoundV2LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
192
|
+
const triggerData = triggerService.compoundV2RatioTrigger.encode(user, triggerRatio, ratioState);
|
|
193
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
218
194
|
},
|
|
219
195
|
};
|
|
220
196
|
exports.compoundV3Encode = {
|
|
221
|
-
|
|
222
|
-
|
|
197
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
|
|
198
|
+
const isBundle = true;
|
|
199
|
+
const subData = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
|
|
200
|
+
const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
201
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
223
202
|
},
|
|
224
203
|
leverageManagementOnPrice(strategyOrBundleId, market, collToken, baseToken, targetRatio, price, priceState, ratioState, // REPAY for repay on price, BOOST for boost on price
|
|
225
204
|
user) {
|
|
@@ -236,11 +215,6 @@ exports.compoundV3Encode = {
|
|
|
236
215
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
237
216
|
},
|
|
238
217
|
};
|
|
239
|
-
exports.compoundV3L2Encode = {
|
|
240
|
-
leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA = false) {
|
|
241
|
-
return subDataService.compoundV3L2LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
|
|
242
|
-
},
|
|
243
|
-
};
|
|
244
218
|
exports.morphoAaveV2Encode = {
|
|
245
219
|
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
246
220
|
return subDataService.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
|
|
@@ -254,24 +228,15 @@ exports.exchangeEncode = {
|
|
|
254
228
|
const strategyId = constants_1.STRATEGY_IDS[network].EXCHANGE_DCA;
|
|
255
229
|
return [strategyId, false, triggerData, subData];
|
|
256
230
|
},
|
|
257
|
-
|
|
258
|
-
|
|
231
|
+
limitOrderWithoutSubProxy(fromToken, toToken, amount, targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals, network) {
|
|
232
|
+
(0, utils_1.requireAddresses)([fromToken, toToken]);
|
|
233
|
+
const subData = subDataService.exchangeLimitOrderSubDataWithoutSubProxy.encode(fromToken, toToken, amount);
|
|
234
|
+
const triggerData = triggerService.exchangeOffchainPriceTrigger.encode(targetPrice, Number(goodUntil), orderType, fromTokenDecimals, toTokenDecimals);
|
|
235
|
+
const strategyId = constants_1.STRATEGY_IDS[network].EXCHANGE_LIMIT_ORDER;
|
|
236
|
+
return [strategyId, false, triggerData, subData];
|
|
259
237
|
},
|
|
260
238
|
};
|
|
261
239
|
exports.sparkEncode = {
|
|
262
|
-
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
263
|
-
let subInput = '0x';
|
|
264
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
265
|
-
.padStart(32, '0'));
|
|
266
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
267
|
-
.padStart(32, '0'));
|
|
268
|
-
subInput = subInput.concat(new decimal_js_1.default(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
269
|
-
.padStart(32, '0'));
|
|
270
|
-
subInput = subInput.concat(new decimal_js_1.default(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
271
|
-
.padStart(32, '0'));
|
|
272
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
273
|
-
return subInput;
|
|
274
|
-
},
|
|
275
240
|
leverageManagementOnPrice(strategyOrBundleId, isBundle = true, triggerData, subData) {
|
|
276
241
|
const { collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, } = subData;
|
|
277
242
|
const subDataEncoded = subDataService.sparkLeverageManagementOnPriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio);
|
|
@@ -292,6 +257,12 @@ exports.sparkEncode = {
|
|
|
292
257
|
const triggerData = triggerService.sparkRatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
293
258
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
294
259
|
},
|
|
260
|
+
collateralSwitch(strategyOrBundleId, fromAsset, fromAssetId, toAsset, toAssetId, marketAddr, amountToSwitch, baseTokenAddress, quoteTokenAddress, price, state) {
|
|
261
|
+
const isBundle = false;
|
|
262
|
+
const subDataEncoded = subDataService.sparkCollateralSwitchSubData.encode(fromAsset, fromAssetId, toAsset, toAssetId, marketAddr, amountToSwitch);
|
|
263
|
+
const triggerDataEncoded = triggerService.sparkQuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, state);
|
|
264
|
+
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
265
|
+
},
|
|
295
266
|
};
|
|
296
267
|
exports.crvUSDEncode = {
|
|
297
268
|
leverageManagement(owner, controllerAddr, ratioState, targetRatio, triggerRatio, collTokenAddr, crvUSDAddr) {
|