@defisaver/automation-sdk 3.3.15-liq-prot-2-dev → 3.3.15-liq-prot-3-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.
@@ -30,10 +30,10 @@ export const makerEncode = {
30
30
  const isBundle = false;
31
31
  return [strategyOrBundleId, isBundle, triggerData, subData];
32
32
  },
33
- leverageManagementWithoutSubProxy(vaultId, triggerRatio, targetRatio, ratioState, isBoost, daiAddr) {
33
+ leverageManagement(vaultId, triggerRatio, targetRatio, ratioState, isBoost, daiAddr) {
34
34
  const bundleId = isBoost ? Bundles.MainnetIds.MAKER_BOOST : Bundles.MainnetIds.MAKER_REPAY;
35
35
  const triggerData = triggerService.makerRatioTrigger.encode(vaultId, triggerRatio, ratioState);
36
- const subData = subDataService.makerLeverageManagementWithoutSubProxy.encode(vaultId, targetRatio, daiAddr);
36
+ const subData = subDataService.makerLeverageManagementSubData.encode(vaultId, targetRatio, daiAddr);
37
37
  return [
38
38
  bundleId,
39
39
  true,
@@ -78,9 +78,9 @@ export const liquityEncode = {
78
78
  const isBundle = true;
79
79
  return [strategyId, isBundle, triggerData, subData];
80
80
  },
81
- leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
81
+ leverageManagement(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
82
82
  const isBundle = true;
83
- const subData = subDataService.liquityLeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
83
+ const subData = subDataService.liquityLeverageManagementSubData.encode(targetRatio, ratioState);
84
84
  const triggerData = triggerService.liquityRatioTrigger.encode(user, triggerRatio, ratioState);
85
85
  return [strategyOrBundleId, isBundle, triggerData, subData];
86
86
  },
@@ -109,15 +109,10 @@ export const liquityEncode = {
109
109
  return [strategyOrBundleId, isBundle, triggerData, subData];
110
110
  },
111
111
  };
112
- export const chickenBondsEncode = {
113
- rebond(bondId) {
114
- return subDataService.cBondsRebondSubData.encode(bondId);
115
- },
116
- };
117
112
  export const aaveV2Encode = {
118
- leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
113
+ leverageManagement(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
119
114
  const isBundle = true;
120
- const subData = subDataService.aaveV2LeverageManagementSubDataWithoutSubProxy.encode(market, targetRatio, ratioState);
115
+ const subData = subDataService.aaveV2LeverageManagementSubData.encode(market, targetRatio, ratioState);
121
116
  const triggerData = triggerService.aaveV2RatioTrigger.encode(user, market, triggerRatio, ratioState);
122
117
  return [strategyOrBundleId, isBundle, triggerData, subData];
123
118
  },
@@ -144,15 +139,15 @@ export const aaveV3Encode = {
144
139
  const triggerDataEncoded = triggerService.aaveV3QuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, state);
145
140
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
146
141
  },
147
- leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio, isGeneric = false) {
142
+ leverageManagement(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio, isGeneric = false) {
148
143
  const isBundle = true;
149
- const subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState, market, user, isGeneric);
144
+ const subData = subDataService.aaveV3LeverageManagementSubData.encode(targetRatio, ratioState, market, user, isGeneric);
150
145
  const triggerData = triggerService.aaveV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
151
146
  return [strategyOrBundleId, isBundle, triggerData, subData];
152
147
  },
153
148
  liquidationProtection(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
154
149
  const isBundle = true;
155
- const subData = subDataService.aaveV3LiquidationProtectionSubData.encode(targetRatio, ratioState, market, user);
150
+ const subData = subDataService.aaveV3LiquidationProtectionSubData.encode(targetRatio, ratioState, market, user, true);
156
151
  const triggerData = triggerService.aaveV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
157
152
  return [strategyOrBundleId, isBundle, triggerData, subData];
158
153
  },
@@ -177,23 +172,23 @@ export const aaveV3Encode = {
177
172
  },
178
173
  };
179
174
  export const compoundV2Encode = {
180
- leverageManagementWithoutSubProxy(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
175
+ leverageManagement(strategyOrBundleId, user, ratioState, targetRatio, triggerRatio) {
181
176
  const isBundle = true;
182
- const subData = subDataService.compoundV2LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
177
+ const subData = subDataService.compoundV2LeverageManagementSubData.encode(targetRatio, ratioState);
183
178
  const triggerData = triggerService.compoundV2RatioTrigger.encode(user, triggerRatio, ratioState);
184
179
  return [strategyOrBundleId, isBundle, triggerData, subData];
185
180
  },
186
181
  };
187
182
  export const compoundV3Encode = {
188
- leverageManagementWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
183
+ leverageManagement(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
189
184
  const isBundle = true;
190
- const subData = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
185
+ const subData = subDataService.compoundV3LeverageManagementSubData.encode(market, baseToken, targetRatio, ratioState);
191
186
  const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
192
187
  return [strategyOrBundleId, isBundle, triggerData, subData];
193
188
  },
194
- liquidationProtectionWithoutSubProxy(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
189
+ liquidationProtection(strategyOrBundleId, market, baseToken, user, ratioState, targetRatio, triggerRatio) {
195
190
  const isBundle = true;
196
- const subData = subDataService.compoundV3LiquidationProtectionSubDataWithoutSubProxy.encode(market, baseToken, targetRatio, ratioState);
191
+ const subData = subDataService.compoundV3LiquidationProtectionSubData.encode(market, baseToken, targetRatio, ratioState);
197
192
  const triggerData = triggerService.compoundV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
198
193
  return [strategyOrBundleId, isBundle, triggerData, subData];
199
194
  },
@@ -212,11 +207,6 @@ export const compoundV3Encode = {
212
207
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
213
208
  },
214
209
  };
215
- export const morphoAaveV2Encode = {
216
- leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
217
- return subDataService.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
218
- },
219
- };
220
210
  export const exchangeEncode = {
221
211
  dca(fromToken, toToken, amount, timestamp, interval, network) {
222
212
  requireAddresses([fromToken, toToken]);
@@ -225,9 +215,9 @@ export const exchangeEncode = {
225
215
  const strategyId = STRATEGY_IDS[network].EXCHANGE_DCA;
226
216
  return [strategyId, false, triggerData, subData];
227
217
  },
228
- limitOrderWithoutSubProxy(fromToken, toToken, amount, targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals, network) {
218
+ limitOrder(fromToken, toToken, amount, targetPrice, goodUntil, orderType, fromTokenDecimals, toTokenDecimals, network) {
229
219
  requireAddresses([fromToken, toToken]);
230
- const subData = subDataService.exchangeLimitOrderSubDataWithoutSubProxy.encode(fromToken, toToken, amount);
220
+ const subData = subDataService.exchangeLimitOrderSubData.encode(fromToken, toToken, amount);
231
221
  const triggerData = triggerService.exchangeOffchainPriceTrigger.encode(targetPrice, Number(goodUntil), orderType, fromTokenDecimals, toTokenDecimals);
232
222
  const strategyId = STRATEGY_IDS[network].EXCHANGE_LIMIT_ORDER;
233
223
  return [strategyId, false, triggerData, subData];
@@ -248,9 +238,9 @@ export const sparkEncode = {
248
238
  const triggerDataEncoded = triggerService.sparkQuotePriceRangeTrigger.encode(collAsset, debtAsset, stopLossPrice, takeProfitPrice);
249
239
  return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
250
240
  },
251
- leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
241
+ leverageManagement(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
252
242
  const isBundle = true;
253
- const subData = subDataService.sparkLeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
243
+ const subData = subDataService.sparkLeverageManagementSubData.encode(targetRatio, ratioState);
254
244
  const triggerData = triggerService.sparkRatioTrigger.encode(user, market, triggerRatio, ratioState);
255
245
  return [strategyOrBundleId, isBundle, triggerData, subData];
256
246
  },
@@ -1,11 +1,10 @@
1
1
  import { expect } from 'chai';
2
- import Dec from 'decimal.js';
3
2
  import { otherAddresses } from '@defisaver/sdk';
4
3
  import { getAssetInfo, MAXUINT } from '@defisaver/tokens';
5
4
  import * as web3Utils from 'web3-utils';
6
5
  import { Bundles, ChainId, CloseToAssetType, RatioState, Strategies } from '../types/enums';
7
6
  import '../configuration';
8
- import { chickenBondsEncode, liquityEncode, makerEncode, aaveV3Encode, compoundV3Encode, morphoAaveV2Encode, exchangeEncode, crvUSDEncode, morphoBlueEncode, sparkEncode, aaveV4Encode, } from './strategySubService';
7
+ import { liquityEncode, makerEncode, aaveV3Encode, compoundV3Encode, exchangeEncode, crvUSDEncode, morphoBlueEncode, sparkEncode, aaveV4Encode, } from './strategySubService';
9
8
  describe('Feature: strategySubService.ts', () => {
10
9
  describe('When testing strategySubService.makerEncode', () => {
11
10
  // @ts-ignore // TODO - this requires change in @defisaver/tokens
@@ -96,7 +95,7 @@ describe('Feature: strategySubService.ts', () => {
96
95
  });
97
96
  });
98
97
  });
99
- describe('leverageManagementWithoutSubProxy()', () => {
98
+ describe('leverageManagement()', () => {
100
99
  const examples = [
101
100
  // Repay scenario (isBoost=false, RatioState.UNDER)
102
101
  [
@@ -139,7 +138,7 @@ describe('Feature: strategySubService.ts', () => {
139
138
  ];
140
139
  examples.forEach(([expected, actual]) => {
141
140
  it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
142
- expect(makerEncode.leverageManagementWithoutSubProxy(...actual)).to.eql(expected);
141
+ expect(makerEncode.leverageManagement(...actual)).to.eql(expected);
143
142
  });
144
143
  });
145
144
  });
@@ -266,21 +265,6 @@ describe('Feature: strategySubService.ts', () => {
266
265
  });
267
266
  });
268
267
  });
269
- describe('When testing strategySubService.chickenBondsEncode', () => {
270
- describe('rebond()', () => {
271
- const examples = [
272
- [
273
- ['0x00000000000000000000000000000000000000000000000000000000000005e3'],
274
- [1507]
275
- ]
276
- ];
277
- examples.forEach(([expected, actual]) => {
278
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
279
- expect(chickenBondsEncode.rebond(...actual)).to.eql(expected);
280
- });
281
- });
282
- });
283
- });
284
268
  describe('When testing strategySubService.aaveV3Encode', () => {
285
269
  describe('closeToAsset()', () => {
286
270
  const examples = [
@@ -970,25 +954,6 @@ describe('Feature: strategySubService.ts', () => {
970
954
  });
971
955
  });
972
956
  });
973
- describe('When testing strategySubService.morphoAaveV2Encode', () => {
974
- describe('leverageManagement()', () => {
975
- const examples = [
976
- [
977
- [new Dec(160).mul(1e16).toString(), new Dec(220).mul(1e16).toString(), new Dec(180).mul(1e16).toString(), new Dec(190).mul(1e16).toString(), true],
978
- [160, 220, 180, 190, true]
979
- ],
980
- [
981
- [new Dec(160).mul(1e16).toString(), new Dec(200).mul(1e16).toString(), new Dec(180).mul(1e16).toString(), new Dec(190).mul(1e16).toString(), false],
982
- [160, 200, 180, 190, false]
983
- ],
984
- ];
985
- examples.forEach(([expected, actual]) => {
986
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
987
- expect(morphoAaveV2Encode.leverageManagement(...actual)).to.eql(expected);
988
- });
989
- });
990
- });
991
- });
992
957
  describe('When testing strategySubService.exchangeEncode', () => {
993
958
  describe('dca()', () => {
994
959
  const examples = [
@@ -1,5 +1,5 @@
1
1
  import type { EthereumAddress } from '../types';
2
- import type { CloseStrategyType, OrderType } from '../types/enums';
2
+ import type { CloseStrategyType } from '../types/enums';
3
3
  import { ChainId, RatioState } from '../types/enums';
4
4
  /**
5
5
  _______ _______ .______ .______ _______ ______ ___ .___________. _______ _______
@@ -10,13 +10,11 @@ import { ChainId, RatioState } from '../types/enums';
10
10
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
11
11
  */
12
12
  export declare const morphoAaveV2LeverageManagementSubData: {
13
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
14
13
  decode(subData: string[]): {
15
14
  targetRatio: number;
16
15
  };
17
16
  };
18
17
  export declare const cBondsRebondSubData: {
19
- encode(bondId: number | string): string[];
20
18
  decode(subData: string[]): {
21
19
  bondId: string;
22
20
  };
@@ -57,13 +55,13 @@ export declare const makerCloseSubData: {
57
55
  closeToAssetAddr: EthereumAddress;
58
56
  };
59
57
  };
60
- export declare const makerLeverageManagementSubData: {
58
+ export declare const legacyMakerLeverageManagementSubData: {
61
59
  decode: (subData: string[]) => {
62
60
  vaultId: number;
63
61
  targetRatio: number;
64
62
  };
65
63
  };
66
- export declare const makerLeverageManagementWithoutSubProxy: {
64
+ export declare const makerLeverageManagementSubData: {
67
65
  encode(vaultId: number, targetRatio: number, daiAddr?: EthereumAddress): string[];
68
66
  decode(subData: string[]): {
69
67
  vaultId: number;
@@ -92,12 +90,12 @@ export declare const liquityRepayFromSavingsSubData: {
92
90
  targetRatio: number;
93
91
  };
94
92
  };
95
- export declare const liquityLeverageManagementSubData: {
93
+ export declare const legacyLiquityLeverageManagementSubData: {
96
94
  decode: (subData: string[]) => {
97
95
  targetRatio: number;
98
96
  };
99
97
  };
100
- export declare const liquityLeverageManagementSubDataWithoutSubProxy: {
98
+ export declare const liquityLeverageManagementSubData: {
101
99
  encode(targetRatio: number, ratioState: RatioState): string[];
102
100
  decode(subData: string[]): {
103
101
  targetRatio: number;
@@ -186,13 +184,12 @@ export declare const liquityV2PaybackSubData: {
186
184
  / _____ \ / _____ \ \ / | |____ \ / / /_
187
185
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
188
186
  */
189
- export declare const aaveV2LeverageManagementSubData: {
190
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
187
+ export declare const legacyAaveV2LeverageManagementSubData: {
191
188
  decode(subData: string[]): {
192
189
  targetRatio: number;
193
190
  };
194
191
  };
195
- export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
192
+ export declare const aaveV2LeverageManagementSubData: {
196
193
  encode(market: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
197
194
  decode(subData: string[]): {
198
195
  market: EthereumAddress;
@@ -208,12 +205,12 @@ export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
208
205
  / _____ \ / _____ \ \ / | |____ \ / ___) |
209
206
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
210
207
  */
211
- export declare const aaveV3LeverageManagementSubData: {
208
+ export declare const legacyAaveV3LeverageManagementSubData: {
212
209
  decode(subData: string[]): {
213
210
  targetRatio: number;
214
211
  };
215
212
  };
216
- export declare const aaveV3LeverageManagementSubDataWithoutSubProxy: {
213
+ export declare const aaveV3LeverageManagementSubData: {
217
214
  encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress, isGeneric: boolean): string[];
218
215
  decode(subData: string[]): {
219
216
  targetRatio: number;
@@ -221,7 +218,7 @@ export declare const aaveV3LeverageManagementSubDataWithoutSubProxy: {
221
218
  };
222
219
  };
223
220
  export declare const aaveV3LiquidationProtectionSubData: {
224
- encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress): string[];
221
+ encode(targetRatio: number, ratioState: RatioState, market: EthereumAddress, user: EthereumAddress, isGeneric: boolean): string[];
225
222
  decode(subData: string[]): {
226
223
  targetRatio: number;
227
224
  ratioState: RatioState;
@@ -353,13 +350,12 @@ export declare const aaveV4CollateralSwitchSubData: {
353
350
  | `----.| `--' | | | | | | | \ / / /_
354
351
  \______| \______/ |__| |__| | _| \__/ |____|
355
352
  */
356
- export declare const compoundV2LeverageManagementSubData: {
357
- encode(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
353
+ export declare const legacyCompoundV2LeverageManagementSubData: {
358
354
  decode(subData: string[]): {
359
355
  targetRatio: number;
360
356
  };
361
357
  };
362
- export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
358
+ export declare const compoundV2LeverageManagementSubData: {
363
359
  encode(targetRatio: number, ratioState: RatioState): string[];
364
360
  decode(subData: string[]): {
365
361
  targetRatio: number;
@@ -374,7 +370,7 @@ export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
374
370
  | `----.| `--' | | | | | | | \ / ___) |
375
371
  \______| \______/ |__| |__| | _| \__/ |____/
376
372
  */
377
- export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
373
+ export declare const compoundV3LeverageManagementSubData: {
378
374
  encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
379
375
  decode(subData: string[]): {
380
376
  market: EthereumAddress;
@@ -383,7 +379,7 @@ export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
383
379
  ratioState: RatioState;
384
380
  };
385
381
  };
386
- export declare const compoundV3LiquidationProtectionSubDataWithoutSubProxy: {
382
+ export declare const compoundV3LiquidationProtectionSubData: {
387
383
  encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
388
384
  decode(subData: string[]): {
389
385
  market: EthereumAddress;
@@ -430,15 +426,14 @@ export declare const exchangeDcaSubData: {
430
426
  interval: string;
431
427
  };
432
428
  };
433
- export declare const exchangeLimitOrderSubData: {
434
- encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
429
+ export declare const legacyExchangeLimitOrderSubData: {
435
430
  decode: (subData: string[], chainId: ChainId) => {
436
431
  fromToken: string;
437
432
  toToken: string;
438
433
  amount: string;
439
434
  };
440
435
  };
441
- export declare const exchangeLimitOrderSubDataWithoutSubProxy: {
436
+ export declare const exchangeLimitOrderSubData: {
442
437
  encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string): string[];
443
438
  decode: (subData: string[], chainId: ChainId) => {
444
439
  fromToken: string;
@@ -454,12 +449,12 @@ export declare const exchangeLimitOrderSubDataWithoutSubProxy: {
454
449
  .----) | | | / _____ \ | |\ \----.| . \
455
450
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
456
451
  */
457
- export declare const sparkLeverageManagementSubData: {
452
+ export declare const legacySparkLeverageManagementSubData: {
458
453
  decode(subData: string[]): {
459
454
  targetRatio: number;
460
455
  };
461
456
  };
462
- export declare const sparkLeverageManagementSubDataWithoutSubProxy: {
457
+ export declare const sparkLeverageManagementSubData: {
463
458
  encode(targetRatio: number, ratioState: RatioState): string[];
464
459
  decode(subData: string[]): {
465
460
  targetRatio: number;