@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.
@@ -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: true,
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: true,
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: true,
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: true,
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 = position.chainId !== 1
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: true,
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: true,
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: true,
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
- leverageManagement(triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | boolean)[];
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
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
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
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
68
+ leverageManagementWithoutSubProxy(strategyOrBundleId: number, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
71
69
  };
72
70
  export declare const compoundV3Encode: {
73
- leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
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
- limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
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.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"));
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
- 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
- ];
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
- leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
151
- return subDataService.aaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
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
- leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
217
- return subDataService.compoundV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
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
- leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
222
- return subDataService.compoundV3LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
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
- limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
258
- return subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType);
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) {