@defisaver/automation-sdk 3.1.8-dev-1 → 3.1.8
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 +0 -5
- package/cjs/services/strategiesService.js +0 -12
- package/cjs/services/strategySubService.d.ts +0 -1
- package/cjs/services/strategySubService.js +0 -7
- package/cjs/services/subDataService.d.ts +0 -10
- package/cjs/services/subDataService.js +1 -28
- package/cjs/types/enums.d.ts +1 -2
- package/cjs/types/enums.js +0 -1
- package/esm/constants/index.js +0 -5
- package/esm/services/strategiesService.js +0 -12
- package/esm/services/strategySubService.d.ts +0 -1
- package/esm/services/strategySubService.js +0 -7
- package/esm/services/subDataService.d.ts +0 -10
- package/esm/services/subDataService.js +0 -27
- package/esm/types/enums.d.ts +1 -2
- package/esm/types/enums.js +0 -1
- package/package.json +1 -1
- package/src/constants/index.ts +0 -5
- package/src/services/strategiesService.ts +0 -16
- package/src/services/strategySubService.ts +1 -17
- package/src/services/subDataService.ts +0 -35
- package/src/types/enums.ts +0 -1
package/cjs/constants/index.js
CHANGED
|
@@ -96,11 +96,6 @@ exports.MAINNET_STRATEGIES_INFO = {
|
|
|
96
96
|
strategyId: enums_1.Strategies.Identifiers.Payback,
|
|
97
97
|
protocol: exports.PROTOCOLS.CrvUSD,
|
|
98
98
|
},
|
|
99
|
-
[enums_1.Strategies.MainnetIds.LIQUITY_V2_PAYBACK]: {
|
|
100
|
-
strategyOrBundleId: enums_1.Strategies.MainnetIds.LIQUITY_V2_PAYBACK,
|
|
101
|
-
strategyId: enums_1.Strategies.Identifiers.Payback,
|
|
102
|
-
protocol: exports.PROTOCOLS.LiquityV2,
|
|
103
|
-
},
|
|
104
99
|
};
|
|
105
100
|
exports.OPTIMISM_STRATEGIES_INFO = {
|
|
106
101
|
[enums_1.Strategies.OptimismIds.EXCHANGE_DCA]: {
|
|
@@ -721,17 +721,6 @@ function parseLiquityV2LeverageManagementOnPrice(position, parseData) {
|
|
|
721
721
|
};
|
|
722
722
|
return _position;
|
|
723
723
|
}
|
|
724
|
-
function parseLiquityV2Payback(position, parseData) {
|
|
725
|
-
const _position = (0, lodash_1.cloneDeep)(position);
|
|
726
|
-
const { subStruct } = parseData.subscriptionEventData;
|
|
727
|
-
const triggerData = triggerService.liquityV2RatioTrigger.decode(subStruct.triggerData);
|
|
728
|
-
const subData = subDataService.liquityV2PaybackSubData.decode(subStruct.subData);
|
|
729
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
730
|
-
_position.strategyData.decoded.subData = subData;
|
|
731
|
-
_position.positionId = (0, utils_1.getPositionId)(_position.chainId, _position.protocol.id, _position.owner, triggerData.troveId, triggerData.market);
|
|
732
|
-
_position.strategy.strategyId = enums_1.Strategies.Identifiers.Payback;
|
|
733
|
-
return _position;
|
|
734
|
-
}
|
|
735
724
|
const parsingMethodsMapping = {
|
|
736
725
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
737
726
|
[enums_1.Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -758,7 +747,6 @@ const parsingMethodsMapping = {
|
|
|
758
747
|
[enums_1.Strategies.Identifiers.CloseOnPrice]: parseLiquityV2CloseOnPrice,
|
|
759
748
|
[enums_1.Strategies.Identifiers.BoostOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
760
749
|
[enums_1.Strategies.Identifiers.RepayOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
761
|
-
[enums_1.Strategies.Identifiers.Payback]: parseLiquityV2Payback,
|
|
762
750
|
},
|
|
763
751
|
[enums_1.ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
|
|
764
752
|
[enums_1.Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
|
|
@@ -103,5 +103,4 @@ export declare const liquityV2Encode: {
|
|
|
103
103
|
leverageManagement(market: EthereumAddress, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
104
104
|
closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
105
105
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, price: number, state: RatioState, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, targetRatio: number, isRepayOnPrice: boolean): (number | boolean | string[])[];
|
|
106
|
-
payback(market: EthereumAddress, troveId: string, boldToken: EthereumAddress, targetRatio: number, ratioState: RatioState, triggerRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
107
106
|
};
|
|
@@ -290,11 +290,4 @@ exports.liquityV2Encode = {
|
|
|
290
290
|
const isBundle = true;
|
|
291
291
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
292
292
|
},
|
|
293
|
-
payback(market, troveId, boldToken, targetRatio, ratioState, triggerRatio) {
|
|
294
|
-
const strategyId = enums_1.Strategies.MainnetIds.LIQUITY_V2_PAYBACK;
|
|
295
|
-
const isBundle = false;
|
|
296
|
-
const subData = subDataService.liquityV2PaybackSubData.encode(market, troveId, boldToken, targetRatio, ratioState);
|
|
297
|
-
const triggerData = triggerService.liquityV2RatioTrigger.encode(market, troveId, triggerRatio, ratioState);
|
|
298
|
-
return [strategyId, isBundle, triggerData, subData];
|
|
299
|
-
},
|
|
300
293
|
};
|
|
@@ -233,13 +233,3 @@ export declare const morphoBlueLeverageManagementOnPriceSubData: {
|
|
|
233
233
|
user: string;
|
|
234
234
|
};
|
|
235
235
|
};
|
|
236
|
-
export declare const liquityV2PaybackSubData: {
|
|
237
|
-
encode: (market: EthereumAddress, troveId: string, boldToken: EthereumAddress, targetRatio: number, ratioState: RatioState) => string[];
|
|
238
|
-
decode: (subData: string[]) => {
|
|
239
|
-
market: string;
|
|
240
|
-
troveId: string;
|
|
241
|
-
boldToken: string;
|
|
242
|
-
ratioState: RatioState;
|
|
243
|
-
targetRatio: number;
|
|
244
|
-
};
|
|
245
|
-
};
|
|
@@ -3,7 +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.
|
|
6
|
+
exports.morphoBlueLeverageManagementOnPriceSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.sparkQuotePriceSubData = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = exports.compoundV3L2LeverageManagementSubData = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubData = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.liquityRepayFromSavingsSubData = exports.makerRepayFromSavingsSubData = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
9
9
|
const web3_utils_1 = require("web3-utils");
|
|
@@ -607,30 +607,3 @@ exports.morphoBlueLeverageManagementOnPriceSubData = {
|
|
|
607
607
|
};
|
|
608
608
|
},
|
|
609
609
|
};
|
|
610
|
-
exports.liquityV2PaybackSubData = {
|
|
611
|
-
encode: (market, troveId, boldToken, targetRatio, ratioState) => {
|
|
612
|
-
const marketEncoded = web3_eth_abi_1.default.encodeParameter('address', market);
|
|
613
|
-
const troveIdEncoded = web3_eth_abi_1.default.encodeParameter('uint256', troveId);
|
|
614
|
-
const boldTokenEncoded = web3_eth_abi_1.default.encodeParameter('address', boldToken);
|
|
615
|
-
const targetRatioEncoded = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
|
|
616
|
-
const ratioStateEncoded = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
|
|
617
|
-
return [
|
|
618
|
-
marketEncoded,
|
|
619
|
-
troveIdEncoded,
|
|
620
|
-
boldTokenEncoded,
|
|
621
|
-
targetRatioEncoded,
|
|
622
|
-
ratioStateEncoded,
|
|
623
|
-
];
|
|
624
|
-
},
|
|
625
|
-
decode: (subData) => {
|
|
626
|
-
const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
|
|
627
|
-
const troveId = web3_eth_abi_1.default.decodeParameter('uint256', subData[1]);
|
|
628
|
-
const boldToken = web3_eth_abi_1.default.decodeParameter('address', subData[2]);
|
|
629
|
-
const weiRatio = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
|
|
630
|
-
const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[4]);
|
|
631
|
-
const targetRatio = (0, utils_1.weiToRatioPercentage)(weiRatio);
|
|
632
|
-
return {
|
|
633
|
-
market, troveId, boldToken, ratioState, targetRatio,
|
|
634
|
-
};
|
|
635
|
-
},
|
|
636
|
-
};
|
package/cjs/types/enums.d.ts
CHANGED
|
@@ -83,8 +83,7 @@ export declare namespace Strategies {
|
|
|
83
83
|
LIQUITY_DSR_PAYBACK = 69,
|
|
84
84
|
LIQUITY_DSR_SUPPLY = 70,
|
|
85
85
|
LIQUITY_DEBT_IN_FRONT_REPAY = 75,
|
|
86
|
-
CURVEUSD_PAYBACK = 92
|
|
87
|
-
LIQUITY_V2_PAYBACK = 113
|
|
86
|
+
CURVEUSD_PAYBACK = 92
|
|
88
87
|
}
|
|
89
88
|
enum OptimismIds {
|
|
90
89
|
EXCHANGE_DCA = 8,
|
package/cjs/types/enums.js
CHANGED
|
@@ -100,7 +100,6 @@ var Strategies;
|
|
|
100
100
|
MainnetIds[MainnetIds["LIQUITY_DSR_SUPPLY"] = 70] = "LIQUITY_DSR_SUPPLY";
|
|
101
101
|
MainnetIds[MainnetIds["LIQUITY_DEBT_IN_FRONT_REPAY"] = 75] = "LIQUITY_DEBT_IN_FRONT_REPAY";
|
|
102
102
|
MainnetIds[MainnetIds["CURVEUSD_PAYBACK"] = 92] = "CURVEUSD_PAYBACK";
|
|
103
|
-
MainnetIds[MainnetIds["LIQUITY_V2_PAYBACK"] = 113] = "LIQUITY_V2_PAYBACK";
|
|
104
103
|
})(MainnetIds = Strategies.MainnetIds || (Strategies.MainnetIds = {}));
|
|
105
104
|
let OptimismIds;
|
|
106
105
|
(function (OptimismIds) {
|
package/esm/constants/index.js
CHANGED
|
@@ -90,11 +90,6 @@ export const MAINNET_STRATEGIES_INFO = {
|
|
|
90
90
|
strategyId: Strategies.Identifiers.Payback,
|
|
91
91
|
protocol: PROTOCOLS.CrvUSD,
|
|
92
92
|
},
|
|
93
|
-
[Strategies.MainnetIds.LIQUITY_V2_PAYBACK]: {
|
|
94
|
-
strategyOrBundleId: Strategies.MainnetIds.LIQUITY_V2_PAYBACK,
|
|
95
|
-
strategyId: Strategies.Identifiers.Payback,
|
|
96
|
-
protocol: PROTOCOLS.LiquityV2,
|
|
97
|
-
},
|
|
98
93
|
};
|
|
99
94
|
export const OPTIMISM_STRATEGIES_INFO = {
|
|
100
95
|
[Strategies.OptimismIds.EXCHANGE_DCA]: {
|
|
@@ -692,17 +692,6 @@ function parseLiquityV2LeverageManagementOnPrice(position, parseData) {
|
|
|
692
692
|
};
|
|
693
693
|
return _position;
|
|
694
694
|
}
|
|
695
|
-
function parseLiquityV2Payback(position, parseData) {
|
|
696
|
-
const _position = cloneDeep(position);
|
|
697
|
-
const { subStruct } = parseData.subscriptionEventData;
|
|
698
|
-
const triggerData = triggerService.liquityV2RatioTrigger.decode(subStruct.triggerData);
|
|
699
|
-
const subData = subDataService.liquityV2PaybackSubData.decode(subStruct.subData);
|
|
700
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
701
|
-
_position.strategyData.decoded.subData = subData;
|
|
702
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.troveId, triggerData.market);
|
|
703
|
-
_position.strategy.strategyId = Strategies.Identifiers.Payback;
|
|
704
|
-
return _position;
|
|
705
|
-
}
|
|
706
695
|
const parsingMethodsMapping = {
|
|
707
696
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
708
697
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -729,7 +718,6 @@ const parsingMethodsMapping = {
|
|
|
729
718
|
[Strategies.Identifiers.CloseOnPrice]: parseLiquityV2CloseOnPrice,
|
|
730
719
|
[Strategies.Identifiers.BoostOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
731
720
|
[Strategies.Identifiers.RepayOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
732
|
-
[Strategies.Identifiers.Payback]: parseLiquityV2Payback,
|
|
733
721
|
},
|
|
734
722
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
|
|
735
723
|
[Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
|
|
@@ -103,5 +103,4 @@ export declare const liquityV2Encode: {
|
|
|
103
103
|
leverageManagement(market: EthereumAddress, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, strategyOrBundleId: number): (number | boolean | string[])[];
|
|
104
104
|
closeOnPrice(strategyOrBundleId: number, market: EthereumAddress, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, stopLossPrice?: number, stopLossType?: CloseToAssetType, takeProfitPrice?: number, takeProfitType?: CloseToAssetType): (number | boolean | string[])[];
|
|
105
105
|
leverageManagementOnPrice(strategyOrBundleId: number, market: EthereumAddress, price: number, state: RatioState, troveId: string, collToken: EthereumAddress, boldToken: EthereumAddress, targetRatio: number, isRepayOnPrice: boolean): (number | boolean | string[])[];
|
|
106
|
-
payback(market: EthereumAddress, troveId: string, boldToken: EthereumAddress, targetRatio: number, ratioState: RatioState, triggerRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
|
|
107
106
|
};
|
|
@@ -261,11 +261,4 @@ export const liquityV2Encode = {
|
|
|
261
261
|
const isBundle = true;
|
|
262
262
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
263
263
|
},
|
|
264
|
-
payback(market, troveId, boldToken, targetRatio, ratioState, triggerRatio) {
|
|
265
|
-
const strategyId = Strategies.MainnetIds.LIQUITY_V2_PAYBACK;
|
|
266
|
-
const isBundle = false;
|
|
267
|
-
const subData = subDataService.liquityV2PaybackSubData.encode(market, troveId, boldToken, targetRatio, ratioState);
|
|
268
|
-
const triggerData = triggerService.liquityV2RatioTrigger.encode(market, troveId, triggerRatio, ratioState);
|
|
269
|
-
return [strategyId, isBundle, triggerData, subData];
|
|
270
|
-
},
|
|
271
264
|
};
|
|
@@ -233,13 +233,3 @@ export declare const morphoBlueLeverageManagementOnPriceSubData: {
|
|
|
233
233
|
user: string;
|
|
234
234
|
};
|
|
235
235
|
};
|
|
236
|
-
export declare const liquityV2PaybackSubData: {
|
|
237
|
-
encode: (market: EthereumAddress, troveId: string, boldToken: EthereumAddress, targetRatio: number, ratioState: RatioState) => string[];
|
|
238
|
-
decode: (subData: string[]) => {
|
|
239
|
-
market: string;
|
|
240
|
-
troveId: string;
|
|
241
|
-
boldToken: string;
|
|
242
|
-
ratioState: RatioState;
|
|
243
|
-
targetRatio: number;
|
|
244
|
-
};
|
|
245
|
-
};
|
|
@@ -601,30 +601,3 @@ export const morphoBlueLeverageManagementOnPriceSubData = {
|
|
|
601
601
|
};
|
|
602
602
|
},
|
|
603
603
|
};
|
|
604
|
-
export const liquityV2PaybackSubData = {
|
|
605
|
-
encode: (market, troveId, boldToken, targetRatio, ratioState) => {
|
|
606
|
-
const marketEncoded = AbiCoder.encodeParameter('address', market);
|
|
607
|
-
const troveIdEncoded = AbiCoder.encodeParameter('uint256', troveId);
|
|
608
|
-
const boldTokenEncoded = AbiCoder.encodeParameter('address', boldToken);
|
|
609
|
-
const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
610
|
-
const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
|
|
611
|
-
return [
|
|
612
|
-
marketEncoded,
|
|
613
|
-
troveIdEncoded,
|
|
614
|
-
boldTokenEncoded,
|
|
615
|
-
targetRatioEncoded,
|
|
616
|
-
ratioStateEncoded,
|
|
617
|
-
];
|
|
618
|
-
},
|
|
619
|
-
decode: (subData) => {
|
|
620
|
-
const market = AbiCoder.decodeParameter('address', subData[0]);
|
|
621
|
-
const troveId = AbiCoder.decodeParameter('uint256', subData[1]);
|
|
622
|
-
const boldToken = AbiCoder.decodeParameter('address', subData[2]);
|
|
623
|
-
const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
|
|
624
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[4]);
|
|
625
|
-
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
626
|
-
return {
|
|
627
|
-
market, troveId, boldToken, ratioState, targetRatio,
|
|
628
|
-
};
|
|
629
|
-
},
|
|
630
|
-
};
|
package/esm/types/enums.d.ts
CHANGED
|
@@ -83,8 +83,7 @@ export declare namespace Strategies {
|
|
|
83
83
|
LIQUITY_DSR_PAYBACK = 69,
|
|
84
84
|
LIQUITY_DSR_SUPPLY = 70,
|
|
85
85
|
LIQUITY_DEBT_IN_FRONT_REPAY = 75,
|
|
86
|
-
CURVEUSD_PAYBACK = 92
|
|
87
|
-
LIQUITY_V2_PAYBACK = 113
|
|
86
|
+
CURVEUSD_PAYBACK = 92
|
|
88
87
|
}
|
|
89
88
|
enum OptimismIds {
|
|
90
89
|
EXCHANGE_DCA = 8,
|
package/esm/types/enums.js
CHANGED
|
@@ -97,7 +97,6 @@ export var Strategies;
|
|
|
97
97
|
MainnetIds[MainnetIds["LIQUITY_DSR_SUPPLY"] = 70] = "LIQUITY_DSR_SUPPLY";
|
|
98
98
|
MainnetIds[MainnetIds["LIQUITY_DEBT_IN_FRONT_REPAY"] = 75] = "LIQUITY_DEBT_IN_FRONT_REPAY";
|
|
99
99
|
MainnetIds[MainnetIds["CURVEUSD_PAYBACK"] = 92] = "CURVEUSD_PAYBACK";
|
|
100
|
-
MainnetIds[MainnetIds["LIQUITY_V2_PAYBACK"] = 113] = "LIQUITY_V2_PAYBACK";
|
|
101
100
|
})(MainnetIds = Strategies.MainnetIds || (Strategies.MainnetIds = {}));
|
|
102
101
|
let OptimismIds;
|
|
103
102
|
(function (OptimismIds) {
|
package/package.json
CHANGED
package/src/constants/index.ts
CHANGED
|
@@ -113,11 +113,6 @@ export const MAINNET_STRATEGIES_INFO: MainnetStrategiesInfo = {
|
|
|
113
113
|
strategyId: Strategies.Identifiers.Payback,
|
|
114
114
|
protocol: PROTOCOLS.CrvUSD,
|
|
115
115
|
},
|
|
116
|
-
[Strategies.MainnetIds.LIQUITY_V2_PAYBACK]: {
|
|
117
|
-
strategyOrBundleId: Strategies.MainnetIds.LIQUITY_V2_PAYBACK,
|
|
118
|
-
strategyId: Strategies.Identifiers.Payback,
|
|
119
|
-
protocol: PROTOCOLS.LiquityV2,
|
|
120
|
-
},
|
|
121
116
|
};
|
|
122
117
|
|
|
123
118
|
export const OPTIMISM_STRATEGIES_INFO: OptimismStrategiesInfo = {
|
|
@@ -950,21 +950,6 @@ function parseLiquityV2LeverageManagementOnPrice(position: Position.Automated, p
|
|
|
950
950
|
return _position;
|
|
951
951
|
}
|
|
952
952
|
|
|
953
|
-
function parseLiquityV2Payback(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
954
|
-
const _position = cloneDeep(position);
|
|
955
|
-
|
|
956
|
-
const { subStruct } = parseData.subscriptionEventData;
|
|
957
|
-
const triggerData = triggerService.liquityV2RatioTrigger.decode(subStruct.triggerData);
|
|
958
|
-
const subData = subDataService.liquityV2PaybackSubData.decode(subStruct.subData);
|
|
959
|
-
|
|
960
|
-
_position.strategyData.decoded.triggerData = triggerData;
|
|
961
|
-
_position.strategyData.decoded.subData = subData;
|
|
962
|
-
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.troveId, triggerData.market);
|
|
963
|
-
_position.strategy.strategyId = Strategies.Identifiers.Payback;
|
|
964
|
-
|
|
965
|
-
return _position;
|
|
966
|
-
}
|
|
967
|
-
|
|
968
953
|
const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
969
954
|
[ProtocolIdentifiers.StrategiesAutomation.MakerDAO]: {
|
|
970
955
|
[Strategies.Identifiers.SavingsLiqProtection]: parseMakerSavingsLiqProtection,
|
|
@@ -991,7 +976,6 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
991
976
|
[Strategies.Identifiers.CloseOnPrice]: parseLiquityV2CloseOnPrice,
|
|
992
977
|
[Strategies.Identifiers.BoostOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
993
978
|
[Strategies.Identifiers.RepayOnPrice]: parseLiquityV2LeverageManagementOnPrice,
|
|
994
|
-
[Strategies.Identifiers.Payback]: parseLiquityV2Payback,
|
|
995
979
|
},
|
|
996
980
|
[ProtocolIdentifiers.StrategiesAutomation.AaveV2]: {
|
|
997
981
|
[Strategies.Identifiers.Repay]: parseAaveV2LeverageManagement,
|
|
@@ -598,20 +598,4 @@ export const liquityV2Encode = {
|
|
|
598
598
|
const isBundle = true;
|
|
599
599
|
return [strategyOrBundleId, isBundle, triggerDataEncoded, subDataEncoded];
|
|
600
600
|
},
|
|
601
|
-
|
|
602
|
-
market: EthereumAddress,
|
|
603
|
-
troveId: string,
|
|
604
|
-
boldToken: EthereumAddress,
|
|
605
|
-
targetRatio: number,
|
|
606
|
-
ratioState: RatioState,
|
|
607
|
-
triggerRatio: number,
|
|
608
|
-
) {
|
|
609
|
-
const strategyId = Strategies.MainnetIds.LIQUITY_V2_PAYBACK;
|
|
610
|
-
const isBundle = false;
|
|
611
|
-
|
|
612
|
-
const subData = subDataService.liquityV2PaybackSubData.encode(market, troveId, boldToken, targetRatio, ratioState);
|
|
613
|
-
const triggerData = triggerService.liquityV2RatioTrigger.encode(market, troveId, triggerRatio, ratioState);
|
|
614
|
-
|
|
615
|
-
return [strategyId, isBundle, triggerData, subData];
|
|
616
|
-
},
|
|
617
|
-
};
|
|
601
|
+
};
|
|
@@ -833,38 +833,3 @@ export const morphoBlueLeverageManagementOnPriceSubData = {
|
|
|
833
833
|
};
|
|
834
834
|
},
|
|
835
835
|
};
|
|
836
|
-
export const liquityV2PaybackSubData = {
|
|
837
|
-
encode: (
|
|
838
|
-
market: EthereumAddress,
|
|
839
|
-
troveId: string,
|
|
840
|
-
boldToken: EthereumAddress,
|
|
841
|
-
targetRatio: number,
|
|
842
|
-
ratioState: RatioState,
|
|
843
|
-
) => {
|
|
844
|
-
const marketEncoded = AbiCoder.encodeParameter('address', market);
|
|
845
|
-
const troveIdEncoded = AbiCoder.encodeParameter('uint256', troveId);
|
|
846
|
-
const boldTokenEncoded = AbiCoder.encodeParameter('address', boldToken);
|
|
847
|
-
const targetRatioEncoded = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
|
|
848
|
-
const ratioStateEncoded = AbiCoder.encodeParameter('uint8', ratioState);
|
|
849
|
-
|
|
850
|
-
return [
|
|
851
|
-
marketEncoded,
|
|
852
|
-
troveIdEncoded,
|
|
853
|
-
boldTokenEncoded,
|
|
854
|
-
targetRatioEncoded,
|
|
855
|
-
ratioStateEncoded,
|
|
856
|
-
];
|
|
857
|
-
},
|
|
858
|
-
decode: (subData: SubData) => {
|
|
859
|
-
const market = AbiCoder.decodeParameter('address', subData[0]) as unknown as EthereumAddress;
|
|
860
|
-
const troveId = AbiCoder.decodeParameter('uint256', subData[1]) as any as string;
|
|
861
|
-
const boldToken = AbiCoder.decodeParameter('address', subData[2]) as any as EthereumAddress;
|
|
862
|
-
const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]) as any as string;
|
|
863
|
-
const ratioState = AbiCoder.decodeParameter('uint8', subData[4]) as any as RatioState;
|
|
864
|
-
const targetRatio = weiToRatioPercentage(weiRatio);
|
|
865
|
-
|
|
866
|
-
return {
|
|
867
|
-
market, troveId, boldToken, ratioState, targetRatio,
|
|
868
|
-
};
|
|
869
|
-
},
|
|
870
|
-
};
|