@defisaver/automation-sdk 3.3.2-dev → 3.3.2-dev.0
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/constants/index.js +100 -5
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +1 -1
- package/cjs/services/strategiesService.js +28 -27
- package/cjs/services/strategySubService.d.ts +3 -2
- package/cjs/services/strategySubService.js +15 -9
- package/cjs/services/strategySubService.test.js +314 -0
- package/cjs/services/subDataService.d.ts +25 -9
- package/cjs/services/subDataService.js +78 -26
- package/cjs/services/subDataService.test.js +456 -0
- package/cjs/services/triggerService.d.ts +6 -6
- package/cjs/services/triggerService.js +14 -11
- package/cjs/services/triggerService.test.js +46 -0
- package/cjs/types/enums.d.ts +26 -8
- package/cjs/types/enums.js +21 -2
- package/cjs/types/index.d.ts +1 -8
- package/esm/constants/index.js +100 -5
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -2
- package/esm/services/strategiesService.js +28 -27
- package/esm/services/strategySubService.d.ts +3 -2
- package/esm/services/strategySubService.js +15 -9
- package/esm/services/strategySubService.test.js +314 -0
- package/esm/services/subDataService.d.ts +25 -9
- package/esm/services/subDataService.js +77 -25
- package/esm/services/subDataService.test.js +456 -0
- package/esm/services/triggerService.d.ts +6 -6
- package/esm/services/triggerService.js +13 -10
- package/esm/services/triggerService.test.js +47 -1
- package/esm/types/enums.d.ts +26 -8
- package/esm/types/enums.js +21 -2
- package/esm/types/index.d.ts +1 -8
- package/package.json +2 -2
- package/src/constants/index.ts +103 -5
- package/src/index.ts +4 -2
- package/src/services/strategiesService.ts +31 -37
- package/src/services/strategySubService.test.ts +347 -0
- package/src/services/strategySubService.ts +57 -20
- package/src/services/subDataService.test.ts +532 -0
- package/src/services/subDataService.ts +122 -33
- package/src/services/triggerService.test.ts +50 -0
- package/src/services/triggerService.ts +21 -14
- package/src/types/enums.ts +21 -2
- package/src/types/index.ts +20 -9
- package/umd/index.js +0 -34219
package/cjs/constants/index.js
CHANGED
|
@@ -101,11 +101,6 @@ exports.MAINNET_STRATEGIES_INFO = {
|
|
|
101
101
|
strategyId: enums_1.Strategies.Identifiers.Payback,
|
|
102
102
|
protocol: exports.PROTOCOLS.LiquityV2,
|
|
103
103
|
},
|
|
104
|
-
[enums_1.Strategies.MainnetIds.LIQUITY_V2_INTEREST_RATE_ADJUSTMENT]: {
|
|
105
|
-
strategyOrBundleId: enums_1.Strategies.MainnetIds.LIQUITY_V2_INTEREST_RATE_ADJUSTMENT,
|
|
106
|
-
strategyId: enums_1.Strategies.Identifiers.InterestRateAdjustment,
|
|
107
|
-
protocol: exports.PROTOCOLS.LiquityV2,
|
|
108
|
-
},
|
|
109
104
|
};
|
|
110
105
|
exports.OPTIMISM_STRATEGIES_INFO = {
|
|
111
106
|
[enums_1.Strategies.OptimismIds.EXCHANGE_DCA]: {
|
|
@@ -433,6 +428,31 @@ exports.MAINNET_BUNDLES_INFO = {
|
|
|
433
428
|
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
434
429
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
435
430
|
},
|
|
431
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_REPAY]: {
|
|
432
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_REPAY,
|
|
433
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
434
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
435
|
+
},
|
|
436
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_BOOST]: {
|
|
437
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_BOOST,
|
|
438
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
439
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
440
|
+
},
|
|
441
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_REPAY_ON_PRICE]: {
|
|
442
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_REPAY_ON_PRICE,
|
|
443
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
444
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
445
|
+
},
|
|
446
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_BOOST_ON_PRICE]: {
|
|
447
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_BOOST_ON_PRICE,
|
|
448
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
449
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
450
|
+
},
|
|
451
|
+
[enums_1.Bundles.MainnetIds.AAVE_V3_EOA_CLOSE]: {
|
|
452
|
+
strategyOrBundleId: enums_1.Bundles.MainnetIds.AAVE_V3_EOA_CLOSE,
|
|
453
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
454
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
455
|
+
},
|
|
436
456
|
};
|
|
437
457
|
exports.OPTIMISM_BUNDLES_INFO = {
|
|
438
458
|
[enums_1.Bundles.OptimismIds.AAVE_V3_REPAY]: {
|
|
@@ -465,6 +485,31 @@ exports.OPTIMISM_BUNDLES_INFO = {
|
|
|
465
485
|
strategyId: enums_1.Strategies.Identifiers.RepayOnPrice,
|
|
466
486
|
protocol: exports.PROTOCOLS.AaveV3,
|
|
467
487
|
},
|
|
488
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_REPAY]: {
|
|
489
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_REPAY,
|
|
490
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
491
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
492
|
+
},
|
|
493
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_BOOST]: {
|
|
494
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_BOOST,
|
|
495
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
496
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
497
|
+
},
|
|
498
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_REPAY_ON_PRICE]: {
|
|
499
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_REPAY_ON_PRICE,
|
|
500
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
501
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
502
|
+
},
|
|
503
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_BOOST_ON_PRICE]: {
|
|
504
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_BOOST_ON_PRICE,
|
|
505
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
506
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
507
|
+
},
|
|
508
|
+
[enums_1.Bundles.OptimismIds.AAVE_V3_EOA_CLOSE]: {
|
|
509
|
+
strategyOrBundleId: enums_1.Bundles.OptimismIds.AAVE_V3_EOA_CLOSE,
|
|
510
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
511
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
512
|
+
},
|
|
468
513
|
};
|
|
469
514
|
exports.BASE_BUNDLES_INFO = {
|
|
470
515
|
[enums_1.Bundles.BaseIds.AAVE_V3_REPAY]: {
|
|
@@ -572,6 +617,31 @@ exports.BASE_BUNDLES_INFO = {
|
|
|
572
617
|
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
573
618
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
574
619
|
},
|
|
620
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_REPAY]: {
|
|
621
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_REPAY,
|
|
622
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
623
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
624
|
+
},
|
|
625
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_BOOST]: {
|
|
626
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_BOOST,
|
|
627
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
628
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
629
|
+
},
|
|
630
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_REPAY_ON_PRICE]: {
|
|
631
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_REPAY_ON_PRICE,
|
|
632
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
633
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
634
|
+
},
|
|
635
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_BOOST_ON_PRICE]: {
|
|
636
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_BOOST_ON_PRICE,
|
|
637
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
638
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
639
|
+
},
|
|
640
|
+
[enums_1.Bundles.BaseIds.AAVE_V3_EOA_CLOSE]: {
|
|
641
|
+
strategyOrBundleId: enums_1.Bundles.BaseIds.AAVE_V3_EOA_CLOSE,
|
|
642
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
643
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
644
|
+
},
|
|
575
645
|
};
|
|
576
646
|
exports.ARBITRUM_BUNDLES_INFO = {
|
|
577
647
|
[enums_1.Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
|
|
@@ -664,6 +734,31 @@ exports.ARBITRUM_BUNDLES_INFO = {
|
|
|
664
734
|
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
665
735
|
protocol: exports.PROTOCOLS.CompoundV3,
|
|
666
736
|
},
|
|
737
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_REPAY]: {
|
|
738
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_REPAY,
|
|
739
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepay,
|
|
740
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
741
|
+
},
|
|
742
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_BOOST]: {
|
|
743
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_BOOST,
|
|
744
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoost,
|
|
745
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
746
|
+
},
|
|
747
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_REPAY_ON_PRICE]: {
|
|
748
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_REPAY_ON_PRICE,
|
|
749
|
+
strategyId: enums_1.Strategies.Identifiers.EoaRepayOnPrice,
|
|
750
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
751
|
+
},
|
|
752
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_BOOST_ON_PRICE]: {
|
|
753
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_BOOST_ON_PRICE,
|
|
754
|
+
strategyId: enums_1.Strategies.Identifiers.EoaBoostOnPrice,
|
|
755
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
756
|
+
},
|
|
757
|
+
[enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_CLOSE]: {
|
|
758
|
+
strategyOrBundleId: enums_1.Bundles.ArbitrumIds.AAVE_V3_EOA_CLOSE,
|
|
759
|
+
strategyId: enums_1.Strategies.Identifiers.EoaCloseOnPrice,
|
|
760
|
+
protocol: exports.PROTOCOLS.AaveV3,
|
|
761
|
+
},
|
|
667
762
|
};
|
|
668
763
|
exports.BUNDLES_INFO = {
|
|
669
764
|
[enums_1.ChainId.Ethereum]: exports.MAINNET_BUNDLES_INFO,
|
package/cjs/index.d.ts
CHANGED
|
@@ -13,11 +13,12 @@ import * as strategiesService from './services/strategiesService';
|
|
|
13
13
|
import * as constants from './constants';
|
|
14
14
|
import * as enums from './types/enums';
|
|
15
15
|
import type * as types from './types';
|
|
16
|
-
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId } from './services/utils';
|
|
16
|
+
import { getRatioStateInfoForAaveCloseStrategy, compareSubHashes, encodeSubId, getCloseStrategyType } from './services/utils';
|
|
17
17
|
declare const utils: {
|
|
18
18
|
getRatioStateInfoForAaveCloseStrategy: typeof getRatioStateInfoForAaveCloseStrategy;
|
|
19
19
|
compareSubHashes: typeof compareSubHashes;
|
|
20
20
|
encodeSubId: typeof encodeSubId;
|
|
21
|
+
getCloseStrategyType: typeof getCloseStrategyType;
|
|
21
22
|
};
|
|
22
23
|
export { LegacyMakerAutomation, LegacyAaveAutomation, LegacyCompoundAutomation, EthereumStrategies, OptimismStrategies, ArbitrumStrategies, BaseStrategies, triggerService, subDataService, strategySubService, utils, enums, constants, strategiesService, };
|
|
23
24
|
export type { types };
|
package/cjs/index.js
CHANGED
|
@@ -60,6 +60,6 @@ const enums = __importStar(require("./types/enums"));
|
|
|
60
60
|
exports.enums = enums;
|
|
61
61
|
const utils_1 = require("./services/utils");
|
|
62
62
|
const utils = {
|
|
63
|
-
getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy, compareSubHashes: utils_1.compareSubHashes, encodeSubId: utils_1.encodeSubId,
|
|
63
|
+
getRatioStateInfoForAaveCloseStrategy: utils_1.getRatioStateInfoForAaveCloseStrategy, compareSubHashes: utils_1.compareSubHashes, encodeSubId: utils_1.encodeSubId, getCloseStrategyType: utils_1.getCloseStrategyType,
|
|
64
64
|
};
|
|
65
65
|
exports.utils = utils;
|
|
@@ -189,21 +189,25 @@ function parseAaveV2LeverageManagement(position, parseData) {
|
|
|
189
189
|
}
|
|
190
190
|
function parseAaveV3LeverageManagement(position, parseData) {
|
|
191
191
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
192
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
192
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
193
193
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
194
194
|
const triggerData = triggerService.aaveV3RatioTrigger.decode(subStruct.triggerData);
|
|
195
195
|
const subData = subDataService.aaveV3LeverageManagementSubData.decode(subStruct.subData);
|
|
196
196
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
197
197
|
_position.strategyData.decoded.subData = subData;
|
|
198
198
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
199
|
-
|
|
199
|
+
// TODO -> check if this change breaks something?
|
|
200
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
201
|
+
// TODO -> check if this change breaks something?
|
|
202
|
+
const isRepay = [enums_1.Strategies.Identifiers.Repay, enums_1.Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
|
|
200
203
|
if (isRepay) {
|
|
201
204
|
_position.specific = {
|
|
202
205
|
triggerRepayRatio: triggerData.ratio,
|
|
203
206
|
targetRepayRatio: subData.targetRatio,
|
|
204
207
|
repayEnabled: true,
|
|
205
208
|
subId1: Number(subId),
|
|
206
|
-
|
|
209
|
+
subHashRepay: subHash,
|
|
210
|
+
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
207
211
|
};
|
|
208
212
|
}
|
|
209
213
|
else {
|
|
@@ -212,10 +216,11 @@ function parseAaveV3LeverageManagement(position, parseData) {
|
|
|
212
216
|
targetBoostRatio: subData.targetRatio,
|
|
213
217
|
boostEnabled: isEnabled,
|
|
214
218
|
subId2: Number(subId),
|
|
215
|
-
|
|
219
|
+
subHashBoost: subHash,
|
|
220
|
+
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
216
221
|
};
|
|
217
222
|
}
|
|
218
|
-
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
223
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
219
224
|
return _position;
|
|
220
225
|
}
|
|
221
226
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
@@ -268,7 +273,13 @@ function parseAaveV3CloseOnPrice(position, parseData) {
|
|
|
268
273
|
ratioState: triggerData.ratioState,
|
|
269
274
|
};
|
|
270
275
|
const { ratioState } = (0, utils_1.getRatioStateInfoForAaveCloseStrategy)(_position.specific.ratioState, (0, utils_1.wethToEthByAddress)(_position.specific.collAsset, parseData.chainId), (0, utils_1.wethToEthByAddress)(_position.specific.debtAsset, parseData.chainId), parseData.chainId);
|
|
271
|
-
|
|
276
|
+
// TODO -> Check if those changes break something?
|
|
277
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
278
|
+
_position.strategy.strategyId = isEOA
|
|
279
|
+
? enums_1.Strategies.Identifiers.EoaCloseOnPrice
|
|
280
|
+
: (_position.strategy.strategyId = (0, utils_1.isRatioStateOver)(ratioState)
|
|
281
|
+
? enums_1.Strategies.IdOverrides.TakeProfit
|
|
282
|
+
: enums_1.Strategies.IdOverrides.StopLoss);
|
|
272
283
|
return _position;
|
|
273
284
|
}
|
|
274
285
|
function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
@@ -342,13 +353,14 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
342
353
|
_position.strategyData.decoded.subData = subData;
|
|
343
354
|
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, triggerData.owner.toLowerCase(), triggerData.market);
|
|
344
355
|
const isRepay = [enums_1.Strategies.Identifiers.Repay, enums_1.Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId);
|
|
356
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
345
357
|
if (isRepay) {
|
|
346
358
|
_position.specific = {
|
|
347
359
|
triggerRepayRatio: triggerData.ratio,
|
|
348
360
|
targetRepayRatio: subData.targetRatio,
|
|
349
361
|
repayEnabled: true,
|
|
350
362
|
subId1: Number(subId),
|
|
351
|
-
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
363
|
+
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
352
364
|
};
|
|
353
365
|
}
|
|
354
366
|
else {
|
|
@@ -357,10 +369,9 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
357
369
|
targetBoostRatio: subData.targetRatio,
|
|
358
370
|
boostEnabled: isEnabled,
|
|
359
371
|
subId2: Number(subId),
|
|
360
|
-
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
372
|
+
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
361
373
|
};
|
|
362
374
|
}
|
|
363
|
-
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
364
375
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
365
376
|
return _position;
|
|
366
377
|
}
|
|
@@ -714,6 +725,9 @@ function parseAaveV3LeverageManagementOnPrice(position, parseData) {
|
|
|
714
725
|
collAssetId: subData.collAssetId,
|
|
715
726
|
ratio: subData.targetRatio,
|
|
716
727
|
};
|
|
728
|
+
// TODO -> check if this change breaks something?
|
|
729
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
730
|
+
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagementOnPrice : enums_1.Strategies.IdOverrides.LeverageManagementOnPrice;
|
|
717
731
|
return _position;
|
|
718
732
|
}
|
|
719
733
|
function parseLiquityV2CloseOnPrice(position, parseData) {
|
|
@@ -812,23 +826,6 @@ function parseFluidT1LeverageManagement(position, parseData) {
|
|
|
812
826
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
813
827
|
return _position;
|
|
814
828
|
}
|
|
815
|
-
function parseLiquityV2InterestRateAdjustment(position, parseData) {
|
|
816
|
-
const _position = (0, lodash_1.cloneDeep)(position);
|
|
817
|
-
const { subStruct } = parseData.subscriptionEventData;
|
|
818
|
-
const triggerData = triggerService.liquityV2InterestRateAdjustmentTrigger.decode(subStruct.triggerData);
|
|
819
|
-
const subData = subDataService.liquityV2InterestRateAdjustmentSubData.decode(subStruct.subData);
|
|
820
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
821
|
-
_position.strategyData.decoded.subData = subData;
|
|
822
|
-
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.troveId, triggerData.market);
|
|
823
|
-
_position.specific = {
|
|
824
|
-
market: subData.market,
|
|
825
|
-
troveId: subData.troveId,
|
|
826
|
-
criticalDebtInFrontLimit: triggerData.criticalDebtInFrontLimit,
|
|
827
|
-
nonCriticalDebtInFrontLimit: triggerData.nonCriticalDebtInFrontLimit,
|
|
828
|
-
interestRateChange: subData.interestRateChange,
|
|
829
|
-
};
|
|
830
|
-
return _position;
|
|
831
|
-
}
|
|
832
829
|
const parsingMethodsMapping = {
|
|
833
830
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
834
831
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -856,7 +853,6 @@ const parsingMethodsMapping = {
|
|
|
856
853
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
857
854
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
858
855
|
[enums_1.Strategies.Identifiers.Payback]: parseLiquityV2Payback,
|
|
859
|
-
[enums_1.Strategies.Identifiers.InterestRateAdjustment]: parseLiquityV2InterestRateAdjustment,
|
|
860
856
|
},
|
|
861
857
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
|
|
862
858
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
|
|
@@ -871,6 +867,11 @@ const parsingMethodsMapping = {
|
|
|
871
867
|
[enums_1.Strategies.Identifiers.CloseToCollateralWithGasPrice]: parseAaveV3CloseOnPriceWithMaximumGasPrice,
|
|
872
868
|
[enums_1.Strategies.Identifiers.OpenOrderFromCollateral]: parseAaveV3LeverageManagementOnPrice,
|
|
873
869
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
870
|
+
[enums_1.Strategies.Identifiers.EoaRepay]: parseAaveV3LeverageManagement,
|
|
871
|
+
[enums_1.Strategies.Identifiers.EoaBoost]: parseAaveV3LeverageManagement,
|
|
872
|
+
[enums_1.Strategies.Identifiers.EoaRepayOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
873
|
+
[enums_1.Strategies.Identifiers.EoaBoostOnPrice]: parseAaveV3LeverageManagementOnPrice,
|
|
874
|
+
[enums_1.Strategies.Identifiers.EoaCloseOnPrice]: parseAaveV3CloseOnPrice,
|
|
874
875
|
},
|
|
875
876
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.CompoundV2]: {
|
|
876
877
|
[enums_1.Strategies.Identifiers.Repay]: parseCompoundV2LeverageManagement,
|
|
@@ -60,7 +60,9 @@ export declare const aaveV3Encode: {
|
|
|
60
60
|
marketAddr: EthereumAddress;
|
|
61
61
|
targetRatio: number;
|
|
62
62
|
}): (number | boolean | string[])[];
|
|
63
|
-
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number): (number | boolean | string[])[];
|
|
63
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId: number, market: EthereumAddress, user: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, isGeneric?: boolean): (number | boolean | string[])[];
|
|
64
|
+
leverageManagementOnPriceGeneric(strategyOrBundleId: number, price: number, ratioState: RatioState, collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, marketAddr: EthereumAddress, targetRatio: number, user: EthereumAddress): (number | boolean | string[])[];
|
|
65
|
+
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[])[];
|
|
64
66
|
};
|
|
65
67
|
export declare const compoundV2Encode: {
|
|
66
68
|
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
@@ -107,7 +109,6 @@ export declare const liquityV2Encode: {
|
|
|
107
109
|
closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
108
110
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, price: number, state: RatioState, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, targetRatio: number, isRepayOnPrice: boolean): (number | boolean | string[])[];
|
|
109
111
|
payback(market: EthereumAddress, troveId: string, boldToken: EthereumAddress, targetRatio: number, ratioState: RatioState, triggerRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
110
|
-
interestRateAdjustment(market: EthereumAddress, troveId: string, criticalDebtInFrontLimit: string, nonCriticalDebtInFrontLimit: string, interestRateChange: string): (boolean | string[] | Strategies.MainnetIds)[];
|
|
111
112
|
};
|
|
112
113
|
export declare const fluidEncode: {
|
|
113
114
|
leverageManagement(nftId: string, vault: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
@@ -175,12 +175,25 @@ exports.aaveV3Encode = {
|
|
|
175
175
|
const triggerDataEncoded = triggerService.aaveV3QuotePriceTrigger.encode(baseTokenAddress, quoteTokenAddress, price, state);
|
|
176
176
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
177
177
|
},
|
|
178
|
-
leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
|
|
178
|
+
leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio, isGeneric = false) {
|
|
179
179
|
const isBundle = true;
|
|
180
|
-
const subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
180
|
+
const subData = subDataService.aaveV3LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState, market, user, isGeneric);
|
|
181
181
|
const triggerData = triggerService.aaveV3RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
182
182
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
183
183
|
},
|
|
184
|
+
leverageManagementOnPriceGeneric(strategyOrBundleId, price, ratioState, collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
|
|
185
|
+
const isBundle = true;
|
|
186
|
+
const subDataEncoded = subDataService.aaveV3LeverageManagementOnPriceGeneric.encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user);
|
|
187
|
+
const triggerDataEncoded = triggerService.aaveV3QuotePriceTrigger.encode(collAsset, debtAsset, price, ratioState);
|
|
188
|
+
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
189
|
+
},
|
|
190
|
+
closeOnPriceGeneric(strategyOrBundleId, collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, user, stopLossPrice = 0, stopLossType = enums_1.CloseToAssetType.DEBT, takeProfitPrice = 0, takeProfitType = enums_1.CloseToAssetType.COLLATERAL) {
|
|
191
|
+
const isBundle = true;
|
|
192
|
+
const closeType = (0, utils_1.getCloseStrategyType)(stopLossPrice, stopLossType, takeProfitPrice, takeProfitType);
|
|
193
|
+
const subDataEncoded = subDataService.aaveV3CloseGenericSubData.encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user);
|
|
194
|
+
const triggerDataEncoded = triggerService.aaveV3QuotePriceRangeTrigger.encode(collAsset, debtAsset, stopLossPrice, takeProfitPrice);
|
|
195
|
+
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
196
|
+
},
|
|
184
197
|
};
|
|
185
198
|
exports.compoundV2Encode = {
|
|
186
199
|
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
@@ -317,13 +330,6 @@ exports.liquityV2Encode = {
|
|
|
317
330
|
const triggerData = triggerService.liquityV2RatioTrigger.encode(market, troveId, triggerRatio, ratioState);
|
|
318
331
|
return [strategyId, isBundle, triggerData, subData];
|
|
319
332
|
},
|
|
320
|
-
interestRateAdjustment(market, troveId, criticalDebtInFrontLimit, nonCriticalDebtInFrontLimit, interestRateChange) {
|
|
321
|
-
const strategyId = enums_1.Strategies.MainnetIds.LIQUITY_V2_INTEREST_RATE_ADJUSTMENT;
|
|
322
|
-
const isBundle = false;
|
|
323
|
-
const subData = subDataService.liquityV2InterestRateAdjustmentSubData.encode(market, troveId, interestRateChange);
|
|
324
|
-
const triggerData = triggerService.liquityV2InterestRateAdjustmentTrigger.encode(market, troveId, criticalDebtInFrontLimit, nonCriticalDebtInFrontLimit);
|
|
325
|
-
return [strategyId, isBundle, triggerData, subData];
|
|
326
|
-
},
|
|
327
333
|
};
|
|
328
334
|
exports.fluidEncode = {
|
|
329
335
|
leverageManagement(nftId, vault, ratioState, targetRatio, triggerRatio, strategyOrBundleId) {
|