@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
|
@@ -63,7 +63,7 @@ function parseMakerTrailingStop(position, parseData) {
|
|
|
63
63
|
}
|
|
64
64
|
function parseMakerLeverageManagement(position, parseData) {
|
|
65
65
|
const _position = cloneDeep(position);
|
|
66
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
66
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
67
67
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
68
68
|
const triggerData = triggerService.makerRatioTrigger.decode(subStruct.triggerData);
|
|
69
69
|
const subData = subDataService.makerLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -75,9 +75,10 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
75
75
|
_position.specific = {
|
|
76
76
|
triggerRepayRatio: triggerData.ratio,
|
|
77
77
|
targetRepayRatio: subData.targetRatio,
|
|
78
|
-
repayEnabled:
|
|
78
|
+
repayEnabled: isEnabled,
|
|
79
79
|
subId1: Number(subId),
|
|
80
80
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
81
|
+
subHashRepay: subHash,
|
|
81
82
|
};
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
@@ -87,6 +88,7 @@ function parseMakerLeverageManagement(position, parseData) {
|
|
|
87
88
|
boostEnabled: isEnabled,
|
|
88
89
|
subId2: Number(subId),
|
|
89
90
|
mergeId: Strategies.Identifiers.Boost,
|
|
91
|
+
subHashBoost: subHash,
|
|
90
92
|
};
|
|
91
93
|
}
|
|
92
94
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -126,7 +128,7 @@ function parseLiquityTrailingStop(position, parseData) {
|
|
|
126
128
|
}
|
|
127
129
|
function parseAaveV2LeverageManagement(position, parseData) {
|
|
128
130
|
const _position = cloneDeep(position);
|
|
129
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
131
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
130
132
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
131
133
|
const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
132
134
|
const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -138,9 +140,10 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
138
140
|
_position.specific = {
|
|
139
141
|
triggerRepayRatio: triggerData.ratio,
|
|
140
142
|
targetRepayRatio: subData.targetRatio,
|
|
141
|
-
repayEnabled:
|
|
143
|
+
repayEnabled: isEnabled,
|
|
142
144
|
subId1: Number(subId),
|
|
143
145
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
146
|
+
subHashRepay: subHash,
|
|
144
147
|
};
|
|
145
148
|
}
|
|
146
149
|
else {
|
|
@@ -150,6 +153,7 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
150
153
|
boostEnabled: isEnabled,
|
|
151
154
|
subId2: Number(subId),
|
|
152
155
|
mergeId: Strategies.Identifiers.Boost,
|
|
156
|
+
subHashBoost: subHash,
|
|
153
157
|
};
|
|
154
158
|
}
|
|
155
159
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -387,7 +391,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
387
391
|
}
|
|
388
392
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
389
393
|
const _position = cloneDeep(position);
|
|
390
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
394
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
391
395
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
392
396
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
393
397
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -399,9 +403,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
399
403
|
_position.specific = {
|
|
400
404
|
triggerRepayRatio: triggerData.ratio,
|
|
401
405
|
targetRepayRatio: subData.targetRatio,
|
|
402
|
-
repayEnabled:
|
|
406
|
+
repayEnabled: isEnabled,
|
|
403
407
|
subId1: Number(subId),
|
|
404
408
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
409
|
+
subHashRepay: subHash,
|
|
405
410
|
};
|
|
406
411
|
}
|
|
407
412
|
else {
|
|
@@ -411,6 +416,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
411
416
|
boostEnabled: isEnabled,
|
|
412
417
|
subId2: Number(subId),
|
|
413
418
|
mergeId: Strategies.Identifiers.Boost,
|
|
419
|
+
subHashBoost: subHash,
|
|
414
420
|
};
|
|
415
421
|
}
|
|
416
422
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -443,7 +449,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
443
449
|
}
|
|
444
450
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
445
451
|
const _position = cloneDeep(position);
|
|
446
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
452
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
447
453
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
448
454
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
449
455
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -456,9 +462,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
456
462
|
_position.specific = {
|
|
457
463
|
triggerRepayRatio: triggerData.ratio,
|
|
458
464
|
targetRepayRatio: subData.targetRatio,
|
|
459
|
-
repayEnabled:
|
|
465
|
+
repayEnabled: isEnabled,
|
|
460
466
|
subId1: Number(subId),
|
|
461
467
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
468
|
+
subHashRepay: subHash,
|
|
462
469
|
};
|
|
463
470
|
}
|
|
464
471
|
else {
|
|
@@ -468,6 +475,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
468
475
|
boostEnabled: isEnabled,
|
|
469
476
|
subId2: Number(subId),
|
|
470
477
|
mergeId: Strategies.Identifiers.Boost,
|
|
478
|
+
subHashBoost: subHash,
|
|
471
479
|
};
|
|
472
480
|
}
|
|
473
481
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -476,11 +484,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
476
484
|
}
|
|
477
485
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
478
486
|
const _position = cloneDeep(position);
|
|
479
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
487
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
480
488
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
481
|
-
const subDataDecoder =
|
|
482
|
-
? subDataService.compoundV3L2LeverageManagementSubData
|
|
483
|
-
: subDataService.compoundV3LeverageManagementSubData;
|
|
489
|
+
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
484
490
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
485
491
|
const subData = subDataDecoder.decode(subStruct.subData);
|
|
486
492
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
@@ -492,9 +498,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
492
498
|
_position.specific = {
|
|
493
499
|
triggerRepayRatio: triggerData.ratio,
|
|
494
500
|
targetRepayRatio: subData.targetRatio,
|
|
495
|
-
repayEnabled:
|
|
501
|
+
repayEnabled: isEnabled,
|
|
496
502
|
subId1: Number(subId),
|
|
497
503
|
mergeWithId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
504
|
+
subHashRepay: subHash,
|
|
498
505
|
};
|
|
499
506
|
}
|
|
500
507
|
else {
|
|
@@ -504,6 +511,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
504
511
|
boostEnabled: isEnabled,
|
|
505
512
|
subId2: Number(subId),
|
|
506
513
|
mergeId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
514
|
+
subHashBoost: subHash,
|
|
507
515
|
};
|
|
508
516
|
}
|
|
509
517
|
_position.strategy.strategyId = isEOA ? Strategies.IdOverrides.EoaLeverageManagement : Strategies.IdOverrides.LeverageManagement;
|
|
@@ -591,7 +599,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
591
599
|
}
|
|
592
600
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
593
601
|
const _position = cloneDeep(position);
|
|
594
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
602
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
595
603
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
596
604
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
597
605
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -603,9 +611,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
603
611
|
_position.specific = {
|
|
604
612
|
triggerRepayRatio: triggerData.ratio,
|
|
605
613
|
targetRepayRatio: subData.targetRatio,
|
|
606
|
-
repayEnabled:
|
|
614
|
+
repayEnabled: isEnabled,
|
|
607
615
|
subId1: Number(subId),
|
|
608
616
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
617
|
+
subHashRepay: subHash,
|
|
609
618
|
};
|
|
610
619
|
}
|
|
611
620
|
else {
|
|
@@ -615,6 +624,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
615
624
|
boostEnabled: isEnabled,
|
|
616
625
|
subId2: Number(subId),
|
|
617
626
|
mergeId: Strategies.Identifiers.Boost,
|
|
627
|
+
subHashBoost: subHash,
|
|
618
628
|
};
|
|
619
629
|
}
|
|
620
630
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -655,7 +665,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
655
665
|
}
|
|
656
666
|
function parseSparkLeverageManagement(position, parseData) {
|
|
657
667
|
const _position = cloneDeep(position);
|
|
658
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
668
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
659
669
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
660
670
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
661
671
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -667,9 +677,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
667
677
|
_position.specific = {
|
|
668
678
|
triggerRepayRatio: triggerData.ratio,
|
|
669
679
|
targetRepayRatio: subData.targetRatio,
|
|
670
|
-
repayEnabled:
|
|
680
|
+
repayEnabled: isEnabled,
|
|
671
681
|
subId1: Number(subId),
|
|
672
682
|
mergeWithId: Strategies.Identifiers.Boost,
|
|
683
|
+
subHashRepay: subHash,
|
|
673
684
|
};
|
|
674
685
|
}
|
|
675
686
|
else {
|
|
@@ -679,6 +690,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
679
690
|
boostEnabled: isEnabled,
|
|
680
691
|
subId2: Number(subId),
|
|
681
692
|
mergeId: Strategies.Identifiers.Boost,
|
|
693
|
+
subHashBoost: subHash,
|
|
682
694
|
};
|
|
683
695
|
}
|
|
684
696
|
_position.strategy.strategyId = Strategies.IdOverrides.LeverageManagement;
|
|
@@ -861,6 +873,7 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
|
|
|
861
873
|
debtAsset: subData.loanToken,
|
|
862
874
|
price: triggerData.price,
|
|
863
875
|
ratio: subData.targetRatio,
|
|
876
|
+
ratioState: triggerData.priceState,
|
|
864
877
|
};
|
|
865
878
|
return _position;
|
|
866
879
|
}
|
|
@@ -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;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Dec from 'decimal.js';
|
|
2
1
|
import { getAssetInfo } from '@defisaver/tokens';
|
|
3
2
|
import { CloseToAssetType, Bundles, ChainId, RatioState, Strategies, } from '../types/enums';
|
|
4
3
|
import { STRATEGY_IDS } from '../constants';
|
|
@@ -31,16 +30,6 @@ export const makerEncode = {
|
|
|
31
30
|
const isBundle = false;
|
|
32
31
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
33
32
|
},
|
|
34
|
-
leverageManagement(vaultId, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
35
|
-
return [
|
|
36
|
-
vaultId,
|
|
37
|
-
new Dec(triggerRepayRatio).mul(1e16).toString(),
|
|
38
|
-
new Dec(triggerBoostRatio).mul(1e16).toString(),
|
|
39
|
-
new Dec(targetBoostRatio).mul(1e16).toString(),
|
|
40
|
-
new Dec(targetRepayRatio).mul(1e16).toString(),
|
|
41
|
-
boostEnabled,
|
|
42
|
-
];
|
|
43
|
-
},
|
|
44
33
|
leverageManagementWithoutSubProxy(vaultId, triggerRatio, targetRatio, ratioState, isBoost, daiAddr) {
|
|
45
34
|
const bundleId = isBoost ? Bundles.MainnetIds.MAKER_BOOST : Bundles.MainnetIds.MAKER_REPAY;
|
|
46
35
|
const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
|
|
@@ -78,14 +67,11 @@ export const liquityEncode = {
|
|
|
78
67
|
const isBundle = true;
|
|
79
68
|
return [strategyId, isBundle, triggerData, subData];
|
|
80
69
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
new Dec(targetRepayRatio).mul(1e16).toString(),
|
|
87
|
-
boostEnabled,
|
|
88
|
-
];
|
|
70
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
|
|
71
|
+
const isBundle = true;
|
|
72
|
+
const subData = subDataService.liquityLeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
73
|
+
const triggerData = triggerService.liquityRatioTrigger.encode(user, triggerRatio, ratioState);
|
|
74
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
89
75
|
},
|
|
90
76
|
dsrPayback(proxyAddress, triggerRatio, targetRatio) {
|
|
91
77
|
requireAddress(proxyAddress);
|
|
@@ -118,24 +104,14 @@ export const chickenBondsEncode = {
|
|
|
118
104
|
},
|
|
119
105
|
};
|
|
120
106
|
export const aaveV2Encode = {
|
|
121
|
-
|
|
122
|
-
|
|
107
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
|
|
108
|
+
const isBundle = true;
|
|
109
|
+
const subData = subDataService.aaveV2LeverageManagementSubDataWithoutSubProxy.encode(market, targetRatio, ratioState);
|
|
110
|
+
const triggerData = triggerService.aaveV2RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
111
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
123
112
|
},
|
|
124
113
|
};
|
|
125
114
|
export const aaveV3Encode = {
|
|
126
|
-
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
127
|
-
let subInput = '0x';
|
|
128
|
-
subInput = subInput.concat(new Dec(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
129
|
-
.padStart(32, '0'));
|
|
130
|
-
subInput = subInput.concat(new Dec(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
131
|
-
.padStart(32, '0'));
|
|
132
|
-
subInput = subInput.concat(new Dec(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
133
|
-
.padStart(32, '0'));
|
|
134
|
-
subInput = subInput.concat(new Dec(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
135
|
-
.padStart(32, '0'));
|
|
136
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
137
|
-
return subInput;
|
|
138
|
-
},
|
|
139
115
|
closeToAsset(strategyOrBundleId, isBundle = true, triggerData, subData) {
|
|
140
116
|
const { collAsset, collAssetId, debtAsset, debtAssetId, } = subData;
|
|
141
117
|
const subDataEncoded = subDataService.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
|
|
@@ -184,13 +160,19 @@ export const aaveV3Encode = {
|
|
|
184
160
|
},
|
|
185
161
|
};
|
|
186
162
|
export const compoundV2Encode = {
|
|
187
|
-
|
|
188
|
-
|
|
163
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
|
|
164
|
+
const isBundle = true;
|
|
165
|
+
const subData = subDataService.compoundV2LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
166
|
+
const triggerData = triggerService.compoundV2RatioTrigger.encode(user, triggerRatio, ratioState);
|
|
167
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
189
168
|
},
|
|
190
169
|
};
|
|
191
170
|
export const compoundV3Encode = {
|
|
192
|
-
|
|
193
|
-
|
|
171
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
|
|
172
|
+
const isBundle = true;
|
|
173
|
+
const subData = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
|
|
174
|
+
const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
175
|
+
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
194
176
|
},
|
|
195
177
|
leverageManagementOnPrice(strategyOrBundleId, market, collToken, baseToken, targetRatio, price, priceState, ratioState, // REPAY for repay on price, BOOST for boost on price
|
|
196
178
|
user) {
|
|
@@ -207,11 +189,6 @@ export const compoundV3Encode = {
|
|
|
207
189
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
208
190
|
},
|
|
209
191
|
};
|
|
210
|
-
export const compoundV3L2Encode = {
|
|
211
|
-
leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA = false) {
|
|
212
|
-
return subDataService.compoundV3L2LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
|
|
213
|
-
},
|
|
214
|
-
};
|
|
215
192
|
export const morphoAaveV2Encode = {
|
|
216
193
|
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
217
194
|
return subDataService.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
|
|
@@ -225,24 +202,15 @@ export const exchangeEncode = {
|
|
|
225
202
|
const strategyId = STRATEGY_IDS[network].EXCHANGE_DCA;
|
|
226
203
|
return [strategyId, false, triggerData, subData];
|
|
227
204
|
},
|
|
228
|
-
|
|
229
|
-
|
|
205
|
+
limitOrderWithoutSubProxy(fromToken, toToken, amount, targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals, network) {
|
|
206
|
+
requireAddresses([fromToken, toToken]);
|
|
207
|
+
const subData = subDataService.exchangeLimitOrderSubDataWithoutSubProxy.encode(fromToken, toToken, amount);
|
|
208
|
+
const triggerData = triggerService.exchangeOffchainPriceTrigger.encode(targetPrice, Number(goodUntil), orderType, fromTokenDecimals, toTokenDecimals);
|
|
209
|
+
const strategyId = STRATEGY_IDS[network].EXCHANGE_LIMIT_ORDER;
|
|
210
|
+
return [strategyId, false, triggerData, subData];
|
|
230
211
|
},
|
|
231
212
|
};
|
|
232
213
|
export const sparkEncode = {
|
|
233
|
-
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
234
|
-
let subInput = '0x';
|
|
235
|
-
subInput = subInput.concat(new Dec(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
236
|
-
.padStart(32, '0'));
|
|
237
|
-
subInput = subInput.concat(new Dec(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
238
|
-
.padStart(32, '0'));
|
|
239
|
-
subInput = subInput.concat(new Dec(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
240
|
-
.padStart(32, '0'));
|
|
241
|
-
subInput = subInput.concat(new Dec(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
242
|
-
.padStart(32, '0'));
|
|
243
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
244
|
-
return subInput;
|
|
245
|
-
},
|
|
246
214
|
leverageManagementOnPrice(strategyOrBundleId, isBundle = true, triggerData, subData) {
|
|
247
215
|
const { collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, } = subData;
|
|
248
216
|
const subDataEncoded = subDataService.sparkLeverageManagementOnPriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio);
|