@defisaver/automation-sdk 3.3.14 → 3.3.15
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/services/strategiesService.js +30 -17
- package/cjs/services/strategySubService.d.ts +5 -11
- package/cjs/services/strategySubService.js +27 -62
- package/cjs/services/strategySubService.test.js +0 -234
- package/cjs/services/subDataService.d.ts +35 -2
- package/cjs/services/subDataService.js +84 -20
- package/cjs/services/subDataService.test.js +0 -42
- package/esm/services/strategiesService.js +30 -17
- package/esm/services/strategySubService.d.ts +5 -11
- package/esm/services/strategySubService.js +26 -58
- package/esm/services/strategySubService.test.js +2 -236
- package/esm/services/subDataService.d.ts +35 -2
- package/esm/services/subDataService.js +82 -19
- package/esm/services/subDataService.test.js +0 -42
- package/package.json +1 -1
- package/src/services/strategiesService.ts +30 -17
- package/src/services/strategySubService.test.ts +0 -279
- package/src/services/strategySubService.ts +60 -111
- package/src/services/subDataService.test.ts +0 -48
- package/src/services/subDataService.ts +107 -28
|
@@ -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;
|
|
@@ -416,7 +420,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
416
420
|
}
|
|
417
421
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
418
422
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
419
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
423
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
420
424
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
421
425
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
422
426
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -428,9 +432,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
428
432
|
_position.specific = {
|
|
429
433
|
triggerRepayRatio: triggerData.ratio,
|
|
430
434
|
targetRepayRatio: subData.targetRatio,
|
|
431
|
-
repayEnabled:
|
|
435
|
+
repayEnabled: isEnabled,
|
|
432
436
|
subId1: Number(subId),
|
|
433
437
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
438
|
+
subHashRepay: subHash,
|
|
434
439
|
};
|
|
435
440
|
}
|
|
436
441
|
else {
|
|
@@ -440,6 +445,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
440
445
|
boostEnabled: isEnabled,
|
|
441
446
|
subId2: Number(subId),
|
|
442
447
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
448
|
+
subHashBoost: subHash,
|
|
443
449
|
};
|
|
444
450
|
}
|
|
445
451
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -472,7 +478,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
472
478
|
}
|
|
473
479
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
474
480
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
475
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
481
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
476
482
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
477
483
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
478
484
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -485,9 +491,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
485
491
|
_position.specific = {
|
|
486
492
|
triggerRepayRatio: triggerData.ratio,
|
|
487
493
|
targetRepayRatio: subData.targetRatio,
|
|
488
|
-
repayEnabled:
|
|
494
|
+
repayEnabled: isEnabled,
|
|
489
495
|
subId1: Number(subId),
|
|
490
496
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
497
|
+
subHashRepay: subHash,
|
|
491
498
|
};
|
|
492
499
|
}
|
|
493
500
|
else {
|
|
@@ -497,6 +504,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
497
504
|
boostEnabled: isEnabled,
|
|
498
505
|
subId2: Number(subId),
|
|
499
506
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
507
|
+
subHashBoost: subHash,
|
|
500
508
|
};
|
|
501
509
|
}
|
|
502
510
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -505,11 +513,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
505
513
|
}
|
|
506
514
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
507
515
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
508
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
516
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
509
517
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
510
|
-
const subDataDecoder =
|
|
511
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
512
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
518
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
513
519
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
514
520
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
515
521
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -521,9 +527,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
521
527
|
_position.specific = {
|
|
522
528
|
triggerRepayRatio: triggerData.ratio,
|
|
523
529
|
targetRepayRatio: subData.targetRatio,
|
|
524
|
-
repayEnabled:
|
|
530
|
+
repayEnabled: isEnabled,
|
|
525
531
|
subId1: Number(subId),
|
|
526
532
|
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
533
|
+
subHashRepay: subHash,
|
|
527
534
|
};
|
|
528
535
|
}
|
|
529
536
|
else {
|
|
@@ -533,6 +540,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
533
540
|
boostEnabled: isEnabled,
|
|
534
541
|
subId2: Number(subId),
|
|
535
542
|
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
543
|
+
subHashBoost: subHash,
|
|
536
544
|
};
|
|
537
545
|
}
|
|
538
546
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -620,7 +628,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
620
628
|
}
|
|
621
629
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
622
630
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
623
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
631
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
624
632
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
625
633
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
626
634
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -632,9 +640,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
632
640
|
_position.specific = {
|
|
633
641
|
triggerRepayRatio: triggerData.ratio,
|
|
634
642
|
targetRepayRatio: subData.targetRatio,
|
|
635
|
-
repayEnabled:
|
|
643
|
+
repayEnabled: isEnabled,
|
|
636
644
|
subId1: Number(subId),
|
|
637
645
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
646
|
+
subHashRepay: subHash,
|
|
638
647
|
};
|
|
639
648
|
}
|
|
640
649
|
else {
|
|
@@ -644,6 +653,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
644
653
|
boostEnabled: isEnabled,
|
|
645
654
|
subId2: Number(subId),
|
|
646
655
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
656
|
+
subHashBoost: subHash,
|
|
647
657
|
};
|
|
648
658
|
}
|
|
649
659
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -684,7 +694,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
684
694
|
}
|
|
685
695
|
function parseSparkLeverageManagement(position, parseData) {
|
|
686
696
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
687
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
697
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
688
698
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
689
699
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
690
700
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -696,9 +706,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
706
|
_position.specific = {
|
|
697
707
|
triggerRepayRatio: triggerData.ratio,
|
|
698
708
|
targetRepayRatio: subData.targetRatio,
|
|
699
|
-
repayEnabled:
|
|
709
|
+
repayEnabled: isEnabled,
|
|
700
710
|
subId1: Number(subId),
|
|
701
711
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
712
|
+
subHashRepay: subHash,
|
|
702
713
|
};
|
|
703
714
|
}
|
|
704
715
|
else {
|
|
@@ -708,6 +719,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
708
719
|
boostEnabled: isEnabled,
|
|
709
720
|
subId2: Number(subId),
|
|
710
721
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
722
|
+
subHashBoost: subHash,
|
|
711
723
|
};
|
|
712
724
|
}
|
|
713
725
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -890,6 +902,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
890
902
|
debtAsset: subData.loanToken,
|
|
891
903
|
price: triggerData.price,
|
|
892
904
|
ratio: subData.targetRatio,
|
|
905
|
+
ratioState: triggerData.priceState,
|
|
893
906
|
};
|
|
894
907
|
return _position;
|
|
895
908
|
}
|
|
@@ -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;
|
|
@@ -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);
|