@defisaver/automation-sdk 3.3.13-strategies-refactor-dev → 3.3.14

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.
@@ -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, subHash } = parseData.subscriptionEventData;
95
+ const { subStruct, subId } = 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,10 +104,9 @@ function parseMakerLeverageManagement(position, parseData) {
104
104
  _position.specific = {
105
105
  triggerRepayRatio: triggerData.ratio,
106
106
  targetRepayRatio: subData.targetRatio,
107
- repayEnabled: isEnabled,
107
+ repayEnabled: true,
108
108
  subId1: Number(subId),
109
109
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
110
- subHashRepay: subHash,
111
110
  };
112
111
  }
113
112
  else {
@@ -117,7 +116,6 @@ function parseMakerLeverageManagement(position, parseData) {
117
116
  boostEnabled: isEnabled,
118
117
  subId2: Number(subId),
119
118
  mergeId: enums_1.Strategies.Identifiers.Boost,
120
- subHashBoost: subHash,
121
119
  };
122
120
  }
123
121
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -157,7 +155,7 @@ function parseLiquityTrailingStop(position, parseData) {
157
155
  }
158
156
  function parseAaveV2LeverageManagement(position, parseData) {
159
157
  const _position = (0, lodash_1.cloneDeep)(position);
160
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
158
+ const { subStruct, subId } = parseData.subscriptionEventData;
161
159
  const { isEnabled } = parseData.strategiesSubsData;
162
160
  const triggerData = triggerService.aaveV2RatioTrigger.decode(subStruct.triggerData);
163
161
  const subData = subDataService.aaveV2LeverageManagementSubData.decode(subStruct.subData);
@@ -169,10 +167,9 @@ function parseAaveV2LeverageManagement(position, parseData) {
169
167
  _position.specific = {
170
168
  triggerRepayRatio: triggerData.ratio,
171
169
  targetRepayRatio: subData.targetRatio,
172
- repayEnabled: isEnabled,
170
+ repayEnabled: true,
173
171
  subId1: Number(subId),
174
172
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
175
- subHashRepay: subHash,
176
173
  };
177
174
  }
178
175
  else {
@@ -182,7 +179,6 @@ function parseAaveV2LeverageManagement(position, parseData) {
182
179
  boostEnabled: isEnabled,
183
180
  subId2: Number(subId),
184
181
  mergeId: enums_1.Strategies.Identifiers.Boost,
185
- subHashBoost: subHash,
186
182
  };
187
183
  }
188
184
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -420,7 +416,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
420
416
  }
421
417
  function parseMorphoAaveV2LeverageManagement(position, parseData) {
422
418
  const _position = (0, lodash_1.cloneDeep)(position);
423
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
419
+ const { subStruct, subId } = parseData.subscriptionEventData;
424
420
  const { isEnabled } = parseData.strategiesSubsData;
425
421
  const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
426
422
  const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
@@ -432,10 +428,9 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
432
428
  _position.specific = {
433
429
  triggerRepayRatio: triggerData.ratio,
434
430
  targetRepayRatio: subData.targetRatio,
435
- repayEnabled: isEnabled,
431
+ repayEnabled: true,
436
432
  subId1: Number(subId),
437
433
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
438
- subHashRepay: subHash,
439
434
  };
440
435
  }
441
436
  else {
@@ -445,7 +440,6 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
445
440
  boostEnabled: isEnabled,
446
441
  subId2: Number(subId),
447
442
  mergeId: enums_1.Strategies.Identifiers.Boost,
448
- subHashBoost: subHash,
449
443
  };
450
444
  }
451
445
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -478,7 +472,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
478
472
  }
479
473
  function parseCompoundV2LeverageManagement(position, parseData) {
480
474
  const _position = (0, lodash_1.cloneDeep)(position);
481
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
475
+ const { subStruct, subId } = parseData.subscriptionEventData;
482
476
  const { isEnabled } = parseData.strategiesSubsData;
483
477
  const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
484
478
  const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
@@ -491,10 +485,9 @@ function parseCompoundV2LeverageManagement(position, parseData) {
491
485
  _position.specific = {
492
486
  triggerRepayRatio: triggerData.ratio,
493
487
  targetRepayRatio: subData.targetRatio,
494
- repayEnabled: isEnabled,
488
+ repayEnabled: true,
495
489
  subId1: Number(subId),
496
490
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
497
- subHashRepay: subHash,
498
491
  };
499
492
  }
500
493
  else {
@@ -504,7 +497,6 @@ function parseCompoundV2LeverageManagement(position, parseData) {
504
497
  boostEnabled: isEnabled,
505
498
  subId2: Number(subId),
506
499
  mergeId: enums_1.Strategies.Identifiers.Boost,
507
- subHashBoost: subHash,
508
500
  };
509
501
  }
510
502
  const isEOA = _position.strategy.strategyId.includes('eoa');
@@ -513,9 +505,11 @@ function parseCompoundV2LeverageManagement(position, parseData) {
513
505
  }
514
506
  function parseCompoundV3LeverageManagement(position, parseData) {
515
507
  const _position = (0, lodash_1.cloneDeep)(position);
516
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
508
+ const { subStruct, subId } = parseData.subscriptionEventData;
517
509
  const { isEnabled } = parseData.strategiesSubsData;
518
- const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
510
+ const subDataDecoder = position.chainId !== 1
511
+ ? subDataService.compoundV3L2LeverageManagementSubData
512
+ : subDataService.compoundV3LeverageManagementSubData;
519
513
  const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
520
514
  const subData = subDataDecoder.decode(subStruct.subData);
521
515
  _position.strategyData.decoded.triggerData = triggerData;
@@ -527,10 +521,9 @@ function parseCompoundV3LeverageManagement(position, parseData) {
527
521
  _position.specific = {
528
522
  triggerRepayRatio: triggerData.ratio,
529
523
  targetRepayRatio: subData.targetRatio,
530
- repayEnabled: isEnabled,
524
+ repayEnabled: true,
531
525
  subId1: Number(subId),
532
526
  mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
533
- subHashRepay: subHash,
534
527
  };
535
528
  }
536
529
  else {
@@ -540,7 +533,6 @@ function parseCompoundV3LeverageManagement(position, parseData) {
540
533
  boostEnabled: isEnabled,
541
534
  subId2: Number(subId),
542
535
  mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
543
- subHashBoost: subHash,
544
536
  };
545
537
  }
546
538
  _position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -628,7 +620,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
628
620
  }
629
621
  function parseLiquityLeverageManagement(position, parseData) {
630
622
  const _position = (0, lodash_1.cloneDeep)(position);
631
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
623
+ const { subStruct, subId } = parseData.subscriptionEventData;
632
624
  const { isEnabled } = parseData.strategiesSubsData;
633
625
  const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
634
626
  const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
@@ -640,10 +632,9 @@ function parseLiquityLeverageManagement(position, parseData) {
640
632
  _position.specific = {
641
633
  triggerRepayRatio: triggerData.ratio,
642
634
  targetRepayRatio: subData.targetRatio,
643
- repayEnabled: isEnabled,
635
+ repayEnabled: true,
644
636
  subId1: Number(subId),
645
637
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
646
- subHashRepay: subHash,
647
638
  };
648
639
  }
649
640
  else {
@@ -653,7 +644,6 @@ function parseLiquityLeverageManagement(position, parseData) {
653
644
  boostEnabled: isEnabled,
654
645
  subId2: Number(subId),
655
646
  mergeId: enums_1.Strategies.Identifiers.Boost,
656
- subHashBoost: subHash,
657
647
  };
658
648
  }
659
649
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -694,7 +684,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
694
684
  }
695
685
  function parseSparkLeverageManagement(position, parseData) {
696
686
  const _position = (0, lodash_1.cloneDeep)(position);
697
- const { subStruct, subId, subHash } = parseData.subscriptionEventData;
687
+ const { subStruct, subId } = parseData.subscriptionEventData;
698
688
  const { isEnabled } = parseData.strategiesSubsData;
699
689
  const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
700
690
  const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
@@ -706,10 +696,9 @@ function parseSparkLeverageManagement(position, parseData) {
706
696
  _position.specific = {
707
697
  triggerRepayRatio: triggerData.ratio,
708
698
  targetRepayRatio: subData.targetRatio,
709
- repayEnabled: isEnabled,
699
+ repayEnabled: true,
710
700
  subId1: Number(subId),
711
701
  mergeWithId: enums_1.Strategies.Identifiers.Boost,
712
- subHashRepay: subHash,
713
702
  };
714
703
  }
715
704
  else {
@@ -719,7 +708,6 @@ function parseSparkLeverageManagement(position, parseData) {
719
708
  boostEnabled: isEnabled,
720
709
  subId2: Number(subId),
721
710
  mergeId: enums_1.Strategies.Identifiers.Boost,
722
- subHashBoost: subHash,
723
711
  };
724
712
  }
725
713
  _position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
@@ -902,7 +890,6 @@ function parseMorphoBlueLeverageManagementOnPrice(position, parseData) {
902
890
  debtAsset: subData.loanToken,
903
891
  price: triggerData.price,
904
892
  ratio: subData.targetRatio,
905
- ratioState: triggerData.priceState,
906
893
  };
907
894
  return _position;
908
895
  }
@@ -5,13 +5,14 @@ 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)[];
8
9
  leverageManagementWithoutSubProxy(vaultId: number, triggerRatio: number, targetRatio: number, ratioState: RatioState, isBoost: boolean, daiAddr?: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
9
10
  };
10
11
  export declare const liquityEncode: {
11
12
  closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
12
13
  trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
13
14
  paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
14
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
15
+ leverageManagement(triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | boolean)[];
15
16
  dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
16
17
  dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
17
18
  debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
@@ -20,9 +21,10 @@ export declare const chickenBondsEncode: {
20
21
  rebond(bondId: number): string[];
21
22
  };
22
23
  export declare const aaveV2Encode: {
23
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
24
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
24
25
  };
25
26
  export declare const aaveV3Encode: {
27
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
26
28
  closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
27
29
  baseTokenAddress: EthereumAddress;
28
30
  quoteTokenAddress: EthereumAddress;
@@ -65,21 +67,25 @@ export declare const aaveV3Encode: {
65
67
  collateralSwitch(strategyOrBundleId: number, fromAsset: EthereumAddress, fromAssetId: number, toAsset: EthereumAddress, toAssetId: number, marketAddr: EthereumAddress, amountToSwitch: string, baseTokenAddress: EthereumAddress, quoteTokenAddress: EthereumAddress, price: number, state: RatioState): (number | boolean | string[])[];
66
68
  };
67
69
  export declare const compoundV2Encode: {
68
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
70
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
69
71
  };
70
72
  export declare const compoundV3Encode: {
71
- leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, baseToken: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
73
+ leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
72
74
  leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
73
75
  closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, stopLossPrice: number | undefined, stopLossType: CloseToAssetType | undefined, takeProfitPrice: number | undefined, takeProfitType: CloseToAssetType | undefined, user: EthereumAddress): (number | boolean | string[])[];
74
76
  };
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
+ };
75
80
  export declare const morphoAaveV2Encode: {
76
81
  leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
77
82
  };
78
83
  export declare const exchangeEncode: {
79
84
  dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
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)[];
85
+ limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
81
86
  };
82
87
  export declare const sparkEncode: {
88
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
83
89
  leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
84
90
  baseTokenAddr: EthereumAddress;
85
91
  quoteTokenAddr: EthereumAddress;
@@ -22,8 +22,12 @@ 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
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
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;
29
+ exports.aaveV4Encode = exports.fluidEncode = exports.liquityV2Encode = exports.morphoBlueEncode = exports.crvUSDEncode = exports.sparkEncode = exports.exchangeEncode = exports.morphoAaveV2Encode = exports.compoundV3L2Encode = exports.compoundV3Encode = exports.compoundV2Encode = exports.aaveV3Encode = exports.aaveV2Encode = exports.chickenBondsEncode = exports.liquityEncode = exports.makerEncode = void 0;
30
+ const decimal_js_1 = __importDefault(require("decimal.js"));
27
31
  const tokens_1 = require("@defisaver/tokens");
28
32
  const enums_1 = require("../types/enums");
29
33
  const constants_1 = require("../constants");
@@ -56,6 +60,16 @@ exports.makerEncode = {
56
60
  const isBundle = false;
57
61
  return [strategyOrBundleId, isBundle, triggerData, subData];
58
62
  },
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
+ },
59
73
  leverageManagementWithoutSubProxy(vaultId, triggerRatio, targetRatio, ratioState, isBoost, daiAddr) {
60
74
  const bundleId = isBoost ? enums_1.Bundles.MainnetIds.MAKER_BOOST : enums_1.Bundles.MainnetIds.MAKER_REPAY;
61
75
  const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
@@ -93,11 +107,14 @@ exports.liquityEncode = {
93
107
  const isBundle = true;
94
108
  return [strategyId, isBundle, triggerData, subData];
95
109
  },
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];
110
+ leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
111
+ return [
112
+ new decimal_js_1.default(triggerRepayRatio).mul(1e16).toString(),
113
+ new decimal_js_1.default(triggerBoostRatio).mul(1e16).toString(),
114
+ new decimal_js_1.default(targetBoostRatio).mul(1e16).toString(),
115
+ new decimal_js_1.default(targetRepayRatio).mul(1e16).toString(),
116
+ boostEnabled,
117
+ ];
101
118
  },
102
119
  dsrPayback(proxyAddress, triggerRatio, targetRatio) {
103
120
  (0, utils_1.requireAddress)(proxyAddress);
@@ -130,14 +147,24 @@ exports.chickenBondsEncode = {
130
147
  },
131
148
  };
132
149
  exports.aaveV2Encode = {
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];
150
+ leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
151
+ return subDataService.aaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
138
152
  },
139
153
  };
140
154
  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
+ },
141
168
  closeToAsset(strategyOrBundleId, isBundle = true, triggerData, subData) {
142
169
  const { collAsset, collAssetId, debtAsset, debtAssetId, } = subData;
143
170
  const subDataEncoded = subDataService.aaveV3QuotePriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId);
@@ -186,19 +213,13 @@ exports.aaveV3Encode = {
186
213
  },
187
214
  };
188
215
  exports.compoundV2Encode = {
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];
216
+ leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
217
+ return subDataService.compoundV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
194
218
  },
195
219
  };
196
220
  exports.compoundV3Encode = {
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];
221
+ leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
222
+ return subDataService.compoundV3LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
202
223
  },
203
224
  leverageManagementOnPrice(strategyOrBundleId, market, collToken, baseToken, targetRatio, price, priceState, ratioState, // REPAY for repay on price, BOOST for boost on price
204
225
  user) {
@@ -215,6 +236,11 @@ exports.compoundV3Encode = {
215
236
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
216
237
  },
217
238
  };
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
+ };
218
244
  exports.morphoAaveV2Encode = {
219
245
  leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
220
246
  return subDataService.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
@@ -228,15 +254,24 @@ exports.exchangeEncode = {
228
254
  const strategyId = constants_1.STRATEGY_IDS[network].EXCHANGE_DCA;
229
255
  return [strategyId, false, triggerData, subData];
230
256
  },
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];
257
+ limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
258
+ return subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
237
259
  },
238
260
  };
239
261
  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
+ },
240
275
  leverageManagementOnPrice(strategyOrBundleId, isBundle = true, triggerData, subData) {
241
276
  const { collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, } = subData;
242
277
  const subDataEncoded = subDataService.sparkLeverageManagementOnPriceSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio);