@defisaver/automation-sdk 3.3.12-strategies-refactor-1-dev → 3.3.12-strategies-refactor-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.
- package/cjs/services/strategiesService.js +28 -14
- package/cjs/services/strategySubService.d.ts +0 -3
- package/cjs/services/strategySubService.js +2 -7
- package/cjs/services/strategySubService.test.js +0 -31
- package/cjs/services/subDataService.d.ts +2 -7
- package/cjs/services/subDataService.js +31 -38
- package/cjs/services/subDataService.test.js +0 -42
- package/esm/services/strategiesService.js +28 -14
- package/esm/services/strategySubService.d.ts +0 -3
- package/esm/services/strategySubService.js +1 -6
- package/esm/services/strategySubService.test.js +1 -32
- package/esm/services/subDataService.d.ts +2 -7
- package/esm/services/subDataService.js +30 -36
- package/esm/services/subDataService.test.js +0 -42
- package/package.json +1 -1
- package/src/services/strategiesService.ts +28 -14
- package/src/services/strategySubService.test.ts +0 -33
- package/src/services/strategySubService.ts +1 -16
- package/src/services/subDataService.test.ts +0 -48
- package/src/services/subDataService.ts +40 -48
|
@@ -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:
|
|
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:
|
|
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;
|
|
@@ -406,7 +410,7 @@ function parseAaveV4CollateralSwitch(position, parseData) {
|
|
|
406
410
|
}
|
|
407
411
|
function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
408
412
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
409
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
413
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
410
414
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
411
415
|
const triggerData = triggerService.morphoAaveV2RatioTrigger.decode(subStruct.triggerData);
|
|
412
416
|
const subData = subDataService.morphoAaveV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -418,9 +422,10 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
418
422
|
_position.specific = {
|
|
419
423
|
triggerRepayRatio: triggerData.ratio,
|
|
420
424
|
targetRepayRatio: subData.targetRatio,
|
|
421
|
-
repayEnabled:
|
|
425
|
+
repayEnabled: isEnabled,
|
|
422
426
|
subId1: Number(subId),
|
|
423
427
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
428
|
+
subHashRepay: subHash,
|
|
424
429
|
};
|
|
425
430
|
}
|
|
426
431
|
else {
|
|
@@ -430,6 +435,7 @@ function parseMorphoAaveV2LeverageManagement(position, parseData) {
|
|
|
430
435
|
boostEnabled: isEnabled,
|
|
431
436
|
subId2: Number(subId),
|
|
432
437
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
438
|
+
subHashBoost: subHash,
|
|
433
439
|
};
|
|
434
440
|
}
|
|
435
441
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -462,7 +468,7 @@ function parseAaveV3CloseOnPriceWithMaximumGasPrice(position, parseData) {
|
|
|
462
468
|
}
|
|
463
469
|
function parseCompoundV2LeverageManagement(position, parseData) {
|
|
464
470
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
465
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
471
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
466
472
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
467
473
|
const triggerData = triggerService.compoundV2RatioTrigger.decode(subStruct.triggerData);
|
|
468
474
|
const subData = subDataService.compoundV2LeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -475,9 +481,10 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
475
481
|
_position.specific = {
|
|
476
482
|
triggerRepayRatio: triggerData.ratio,
|
|
477
483
|
targetRepayRatio: subData.targetRatio,
|
|
478
|
-
repayEnabled:
|
|
484
|
+
repayEnabled: isEnabled,
|
|
479
485
|
subId1: Number(subId),
|
|
480
486
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
487
|
+
subHashRepay: subHash,
|
|
481
488
|
};
|
|
482
489
|
}
|
|
483
490
|
else {
|
|
@@ -487,6 +494,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
487
494
|
boostEnabled: isEnabled,
|
|
488
495
|
subId2: Number(subId),
|
|
489
496
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
497
|
+
subHashBoost: subHash,
|
|
490
498
|
};
|
|
491
499
|
}
|
|
492
500
|
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
@@ -495,7 +503,7 @@ function parseCompoundV2LeverageManagement(position, parseData) {
|
|
|
495
503
|
}
|
|
496
504
|
function parseCompoundV3LeverageManagement(position, parseData) {
|
|
497
505
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
498
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
506
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
499
507
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
500
508
|
const subDataDecoder = subDataService.compoundV3LeverageManagementSubDataWithoutSubProxy;
|
|
501
509
|
const triggerData = triggerService.compoundV3RatioTrigger.decode(subStruct.triggerData);
|
|
@@ -509,9 +517,10 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
509
517
|
_position.specific = {
|
|
510
518
|
triggerRepayRatio: triggerData.ratio,
|
|
511
519
|
targetRepayRatio: subData.targetRatio,
|
|
512
|
-
repayEnabled:
|
|
520
|
+
repayEnabled: isEnabled,
|
|
513
521
|
subId1: Number(subId),
|
|
514
522
|
mergeWithId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
523
|
+
subHashRepay: subHash,
|
|
515
524
|
};
|
|
516
525
|
}
|
|
517
526
|
else {
|
|
@@ -521,6 +530,7 @@ function parseCompoundV3LeverageManagement(position, parseData) {
|
|
|
521
530
|
boostEnabled: isEnabled,
|
|
522
531
|
subId2: Number(subId),
|
|
523
532
|
mergeId: isEOA ? enums_1.Strategies.Identifiers.EoaBoost : enums_1.Strategies.Identifiers.Boost,
|
|
533
|
+
subHashBoost: subHash,
|
|
524
534
|
};
|
|
525
535
|
}
|
|
526
536
|
_position.strategy.strategyId = isEOA ? enums_1.Strategies.IdOverrides.EoaLeverageManagement : enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -608,7 +618,7 @@ function parseExchangeLimitOrder(position, parseData, chainId) {
|
|
|
608
618
|
}
|
|
609
619
|
function parseLiquityLeverageManagement(position, parseData) {
|
|
610
620
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
611
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
621
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
612
622
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
613
623
|
const triggerData = triggerService.liquityRatioTrigger.decode(subStruct.triggerData);
|
|
614
624
|
const subData = subDataService.liquityLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -620,9 +630,10 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
620
630
|
_position.specific = {
|
|
621
631
|
triggerRepayRatio: triggerData.ratio,
|
|
622
632
|
targetRepayRatio: subData.targetRatio,
|
|
623
|
-
repayEnabled:
|
|
633
|
+
repayEnabled: isEnabled,
|
|
624
634
|
subId1: Number(subId),
|
|
625
635
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
636
|
+
subHashRepay: subHash,
|
|
626
637
|
};
|
|
627
638
|
}
|
|
628
639
|
else {
|
|
@@ -632,6 +643,7 @@ function parseLiquityLeverageManagement(position, parseData) {
|
|
|
632
643
|
boostEnabled: isEnabled,
|
|
633
644
|
subId2: Number(subId),
|
|
634
645
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
646
|
+
subHashBoost: subHash,
|
|
635
647
|
};
|
|
636
648
|
}
|
|
637
649
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -672,7 +684,7 @@ function parseLiquityV2LeverageManagement(position, parseData) {
|
|
|
672
684
|
}
|
|
673
685
|
function parseSparkLeverageManagement(position, parseData) {
|
|
674
686
|
const _position = (0, lodash_1.cloneDeep)(position);
|
|
675
|
-
const { subStruct, subId } = parseData.subscriptionEventData;
|
|
687
|
+
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
676
688
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
677
689
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
678
690
|
const subData = subDataService.sparkLeverageManagementSubData.decode(subStruct.subData);
|
|
@@ -684,9 +696,10 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
684
696
|
_position.specific = {
|
|
685
697
|
triggerRepayRatio: triggerData.ratio,
|
|
686
698
|
targetRepayRatio: subData.targetRatio,
|
|
687
|
-
repayEnabled:
|
|
699
|
+
repayEnabled: isEnabled,
|
|
688
700
|
subId1: Number(subId),
|
|
689
701
|
mergeWithId: enums_1.Strategies.Identifiers.Boost,
|
|
702
|
+
subHashRepay: subHash,
|
|
690
703
|
};
|
|
691
704
|
}
|
|
692
705
|
else {
|
|
@@ -696,6 +709,7 @@ function parseSparkLeverageManagement(position, parseData) {
|
|
|
696
709
|
boostEnabled: isEnabled,
|
|
697
710
|
subId2: Number(subId),
|
|
698
711
|
mergeId: enums_1.Strategies.Identifiers.Boost,
|
|
712
|
+
subHashBoost: subHash,
|
|
699
713
|
};
|
|
700
714
|
}
|
|
701
715
|
_position.strategy.strategyId = enums_1.Strategies.IdOverrides.LeverageManagement;
|
|
@@ -78,9 +78,6 @@ export declare const compoundV3Encode: {
|
|
|
78
78
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, price: number, priceState: RatioState, ratioState: RatioState, user: EthereumAddress): (number | boolean | string[])[];
|
|
79
79
|
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[])[];
|
|
80
80
|
};
|
|
81
|
-
export declare const compoundV3L2Encode: {
|
|
82
|
-
leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA?: boolean): string;
|
|
83
|
-
};
|
|
84
81
|
export declare const morphoAaveV2Encode: {
|
|
85
82
|
leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
|
|
86
83
|
};
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.aaveV4Encode = exports.fluidEncode = exports.liquityV2Encode = exports.morphoBlueEncode = exports.crvUSDEncode = exports.sparkEncode = exports.exchangeEncode = exports.morphoAaveV2Encode = exports.
|
|
29
|
+
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;
|
|
30
30
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
31
31
|
const tokens_1 = require("@defisaver/tokens");
|
|
32
32
|
const enums_1 = require("../types/enums");
|
|
@@ -158,7 +158,7 @@ exports.aaveV2Encode = {
|
|
|
158
158
|
},
|
|
159
159
|
leverageManagementWithoutSubProxy(strategyOrBundleId, market, user, ratioState, targetRatio, triggerRatio) {
|
|
160
160
|
const isBundle = true;
|
|
161
|
-
const subData = subDataService.aaveV2LeverageManagementSubDataWithoutSubProxy.encode(targetRatio, ratioState);
|
|
161
|
+
const subData = subDataService.aaveV2LeverageManagementSubDataWithoutSubProxy.encode(market, targetRatio, ratioState);
|
|
162
162
|
const triggerData = triggerService.aaveV2RatioTrigger.encode(user, market, triggerRatio, ratioState);
|
|
163
163
|
return [strategyOrBundleId, isBundle, triggerData, subData];
|
|
164
164
|
},
|
|
@@ -260,11 +260,6 @@ exports.compoundV3Encode = {
|
|
|
260
260
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
261
261
|
},
|
|
262
262
|
};
|
|
263
|
-
exports.compoundV3L2Encode = {
|
|
264
|
-
leverageManagement(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA = false) {
|
|
265
|
-
return subDataService.compoundV3L2LeverageManagementSubData.encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA);
|
|
266
|
-
},
|
|
267
|
-
};
|
|
268
263
|
exports.morphoAaveV2Encode = {
|
|
269
264
|
leverageManagement(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
|
|
270
265
|
return subDataService.morphoAaveV2LeverageManagementSubData.encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled);
|
|
@@ -1450,37 +1450,6 @@ describe('Feature: strategySubService.ts', () => {
|
|
|
1450
1450
|
});
|
|
1451
1451
|
});
|
|
1452
1452
|
});
|
|
1453
|
-
describe('When testing strategySubService.compoundV3L2Encode', () => {
|
|
1454
|
-
describe('leverageManagement()', () => {
|
|
1455
|
-
const examples = [
|
|
1456
|
-
[
|
|
1457
|
-
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0213D212133AfaB8F2b829B1066C7E43cAD94E2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000001a5e27eef13e00000100',
|
|
1458
|
-
[
|
|
1459
|
-
web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'),
|
|
1460
|
-
web3Utils.toChecksumAddress('0x0213d212133AFaB8F2B829B1066c7E43cAd94E2c'),
|
|
1461
|
-
160, 220, 180, 190,
|
|
1462
|
-
true,
|
|
1463
|
-
false,
|
|
1464
|
-
],
|
|
1465
|
-
],
|
|
1466
|
-
[
|
|
1467
|
-
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0413d212133afAb8F2B829b1066C7e43cAd94e2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000000f43fc2c04ee00000000',
|
|
1468
|
-
[
|
|
1469
|
-
web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'),
|
|
1470
|
-
web3Utils.toChecksumAddress('0x0413d212133AFaB8F2B829B1066c7E43cAd94E2c'),
|
|
1471
|
-
160, 220, 180, 110,
|
|
1472
|
-
false,
|
|
1473
|
-
false,
|
|
1474
|
-
],
|
|
1475
|
-
],
|
|
1476
|
-
];
|
|
1477
|
-
examples.forEach(([expected, actual]) => {
|
|
1478
|
-
it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
|
|
1479
|
-
(0, chai_1.expect)(strategySubService_1.compoundV3L2Encode.leverageManagement(...actual)).to.eql(expected);
|
|
1480
|
-
});
|
|
1481
|
-
});
|
|
1482
|
-
});
|
|
1483
|
-
});
|
|
1484
1453
|
describe('When testing strategySubService.sparkEncode', () => {
|
|
1485
1454
|
describe('leverageManagement()', () => {
|
|
1486
1455
|
const examples = [
|
|
@@ -185,8 +185,9 @@ export declare const aaveV2LeverageManagementSubData: {
|
|
|
185
185
|
};
|
|
186
186
|
};
|
|
187
187
|
export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
|
|
188
|
-
encode(targetRatio: number, ratioState: RatioState): string[];
|
|
188
|
+
encode(market: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
|
|
189
189
|
decode(subData: string[]): {
|
|
190
|
+
market: EthereumAddress;
|
|
190
191
|
targetRatio: number;
|
|
191
192
|
ratioState: RatioState;
|
|
192
193
|
};
|
|
@@ -364,12 +365,6 @@ export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
|
|
|
364
365
|
ratioState: RatioState;
|
|
365
366
|
};
|
|
366
367
|
};
|
|
367
|
-
export declare const compoundV3L2LeverageManagementSubData: {
|
|
368
|
-
encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string;
|
|
369
|
-
decode(subData: string[]): {
|
|
370
|
-
targetRatio: number;
|
|
371
|
-
};
|
|
372
|
-
};
|
|
373
368
|
export declare const compoundV3LeverageManagementOnPriceSubData: {
|
|
374
369
|
encode(market: EthereumAddress, collToken: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState, user: EthereumAddress): string[];
|
|
375
370
|
decode(subData: string[]): {
|
|
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.
|
|
7
|
-
exports.fluidLeverageManagementSubData = void 0;
|
|
6
|
+
exports.fluidLeverageManagementSubData = exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LeverageManagementSubDataWithoutSubProxy = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubDataWithoutSubProxy = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubDataWithoutSubProxy = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
|
|
8
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
9
8
|
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
10
9
|
const web3_utils_1 = require("web3-utils");
|
|
@@ -170,13 +169,18 @@ exports.liquityLeverageManagementSubData = {
|
|
|
170
169
|
};
|
|
171
170
|
exports.liquityLeverageManagementSubDataWithoutSubProxy = {
|
|
172
171
|
encode(targetRatio, ratioState) {
|
|
173
|
-
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
174
172
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
175
|
-
|
|
173
|
+
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
174
|
+
const isRepay = ratioState === enums_1.RatioState.UNDER;
|
|
175
|
+
const collActionType = isRepay ? enums_1.CollActionType.WITHDRAW : enums_1.CollActionType.SUPPLY;
|
|
176
|
+
const debtActionType = isRepay ? enums_1.DebtActionType.PAYBACK : enums_1.DebtActionType.BORROW;
|
|
177
|
+
const collActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', collActionType);
|
|
178
|
+
const debtActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', debtActionType);
|
|
179
|
+
return [encodedRatioState, encodedTargetRatio, collActionTypeEncoded, debtActionTypeEncoded];
|
|
176
180
|
},
|
|
177
181
|
decode(subData) {
|
|
178
|
-
const
|
|
179
|
-
const
|
|
182
|
+
const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[0]);
|
|
183
|
+
const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[1]));
|
|
180
184
|
return { targetRatio, ratioState };
|
|
181
185
|
},
|
|
182
186
|
};
|
|
@@ -412,15 +416,22 @@ exports.aaveV2LeverageManagementSubData = {
|
|
|
412
416
|
},
|
|
413
417
|
};
|
|
414
418
|
exports.aaveV2LeverageManagementSubDataWithoutSubProxy = {
|
|
415
|
-
encode(targetRatio, ratioState) {
|
|
419
|
+
encode(market, targetRatio, ratioState) {
|
|
420
|
+
const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
416
421
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
417
422
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
418
|
-
|
|
423
|
+
const isBoost = ratioState === enums_1.RatioState.OVER;
|
|
424
|
+
if (isBoost) {
|
|
425
|
+
const enableAsCollEncoded = web3_eth_abi_1.default.encodeParameter('uint256', 1);
|
|
426
|
+
return [encodedMarket, encodedTargetRatio, encodedRatioState, enableAsCollEncoded];
|
|
427
|
+
}
|
|
428
|
+
return [encodedMarket, encodedTargetRatio, encodedRatioState];
|
|
419
429
|
},
|
|
420
430
|
decode(subData) {
|
|
421
|
-
const
|
|
422
|
-
const
|
|
423
|
-
|
|
431
|
+
const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
|
|
432
|
+
const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[1]));
|
|
433
|
+
const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[2]);
|
|
434
|
+
return { market, targetRatio, ratioState };
|
|
424
435
|
},
|
|
425
436
|
};
|
|
426
437
|
/**
|
|
@@ -781,6 +792,11 @@ exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
|
|
|
781
792
|
encode(targetRatio, ratioState) {
|
|
782
793
|
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
783
794
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
795
|
+
const isBoost = ratioState === enums_1.RatioState.OVER;
|
|
796
|
+
if (isBoost) {
|
|
797
|
+
const enableAsCollEncoded = web3_eth_abi_1.default.encodeParameter('uint256', 1);
|
|
798
|
+
return [encodedTargetRatio, encodedRatioState, enableAsCollEncoded];
|
|
799
|
+
}
|
|
784
800
|
return [encodedTargetRatio, encodedRatioState];
|
|
785
801
|
},
|
|
786
802
|
decode(subData) {
|
|
@@ -820,43 +836,20 @@ exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
|
|
|
820
836
|
encode(market, baseToken, targetRatio, ratioState) {
|
|
821
837
|
const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
822
838
|
const encodedBaseToken = web3_eth_abi_1.default.encodeParameter('address', baseToken);
|
|
823
|
-
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
824
839
|
const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
825
|
-
|
|
840
|
+
const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
841
|
+
return [encodedMarket, encodedBaseToken, encodedRatioState, encodedTargetRatio];
|
|
826
842
|
},
|
|
827
843
|
decode(subData) {
|
|
828
844
|
const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
|
|
829
845
|
const baseToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]);
|
|
830
|
-
const
|
|
831
|
-
const
|
|
846
|
+
const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[2]);
|
|
847
|
+
const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[3]));
|
|
832
848
|
return {
|
|
833
849
|
market, baseToken, targetRatio, ratioState,
|
|
834
850
|
};
|
|
835
851
|
},
|
|
836
852
|
};
|
|
837
|
-
exports.compoundV3L2LeverageManagementSubData = {
|
|
838
|
-
encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
|
|
839
|
-
let subInput = '0x';
|
|
840
|
-
subInput = subInput.concat(market.slice(2));
|
|
841
|
-
subInput = subInput.concat(baseToken.slice(2));
|
|
842
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerRepayRatio).mul(1e16).toHex().slice(2)
|
|
843
|
-
.padStart(32, '0'));
|
|
844
|
-
subInput = subInput.concat(new decimal_js_1.default(triggerBoostRatio).mul(1e16).toHex().slice(2)
|
|
845
|
-
.padStart(32, '0'));
|
|
846
|
-
subInput = subInput.concat(new decimal_js_1.default(targetBoostRatio).mul(1e16).toHex().slice(2)
|
|
847
|
-
.padStart(32, '0'));
|
|
848
|
-
subInput = subInput.concat(new decimal_js_1.default(targetRepayRatio).mul(1e16).toHex().slice(2)
|
|
849
|
-
.padStart(32, '0'));
|
|
850
|
-
subInput = subInput.concat(boostEnabled ? '01' : '00');
|
|
851
|
-
subInput = subInput.concat(isEOA ? '01' : '00');
|
|
852
|
-
return subInput;
|
|
853
|
-
},
|
|
854
|
-
decode(subData) {
|
|
855
|
-
const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
|
|
856
|
-
const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
|
|
857
|
-
return { targetRatio };
|
|
858
|
-
},
|
|
859
|
-
};
|
|
860
853
|
exports.compoundV3LeverageManagementOnPriceSubData = {
|
|
861
854
|
encode(market, collToken, baseToken, targetRatio, ratioState, user) {
|
|
862
855
|
const marketEncoded = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
@@ -1216,48 +1216,6 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1216
1216
|
});
|
|
1217
1217
|
});
|
|
1218
1218
|
});
|
|
1219
|
-
describe('When testing subDataService.compoundV3L2LeverageManagementSubData', () => {
|
|
1220
|
-
describe('encode()', () => {
|
|
1221
|
-
const examples = [
|
|
1222
|
-
[
|
|
1223
|
-
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0213D212133AfaB8F2b829B1066C7E43cAD94E2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000001a5e27eef13e00000100',
|
|
1224
|
-
[web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'), web3Utils.toChecksumAddress('0x0213d212133AFaB8F2B829B1066c7E43cAd94E2c'), 160, 220, 180, 190, true, false]
|
|
1225
|
-
],
|
|
1226
|
-
[
|
|
1227
|
-
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0413d212133afAb8F2B829b1066C7e43cAd94e2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000000f43fc2c04ee00000000',
|
|
1228
|
-
[web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'), web3Utils.toChecksumAddress('0x0413d212133AFaB8F2B829B1066c7E43cAd94E2c'), 160, 220, 180, 110, false, false]
|
|
1229
|
-
],
|
|
1230
|
-
];
|
|
1231
|
-
examples.forEach(([expected, actual]) => {
|
|
1232
|
-
it(`Given ${actual} should return expected value: ${expected}`, () => {
|
|
1233
|
-
(0, chai_1.expect)(subDataService.compoundV3L2LeverageManagementSubData.encode(...actual)).to.eql(expected);
|
|
1234
|
-
});
|
|
1235
|
-
});
|
|
1236
|
-
});
|
|
1237
|
-
describe('decode()', () => {
|
|
1238
|
-
const examples = [
|
|
1239
|
-
[
|
|
1240
|
-
{ targetRatio: 200 },
|
|
1241
|
-
[
|
|
1242
|
-
'0x0000000000000000000000000313d212133AFaB8F2B829B1066c7E43cAd94E2c', '0x0000000000000000000000000213d212133AFaB8F2B829B1066c7E43cAd94E2c',
|
|
1243
|
-
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
|
|
1244
|
-
],
|
|
1245
|
-
],
|
|
1246
|
-
[
|
|
1247
|
-
{ targetRatio: 123 },
|
|
1248
|
-
[
|
|
1249
|
-
'0x0000000000000000000000000313d212133AFaB8F2B829B1066c7E43cAd94E2c', '0x0000000000000000000000000413d212133AFaB8F2B829B1066c7E43cAd94E2c',
|
|
1250
|
-
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
1251
|
-
],
|
|
1252
|
-
],
|
|
1253
|
-
];
|
|
1254
|
-
examples.forEach(([expected, actual]) => {
|
|
1255
|
-
it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
|
|
1256
|
-
(0, chai_1.expect)(subDataService.compoundV3L2LeverageManagementSubData.decode(actual)).to.eql(expected);
|
|
1257
|
-
});
|
|
1258
|
-
});
|
|
1259
|
-
});
|
|
1260
|
-
});
|
|
1261
1219
|
describe('When testing subDataService.morphoBlueLeverageManagementSubData', () => {
|
|
1262
1220
|
describe('encode()', () => {
|
|
1263
1221
|
const examples = [
|