@defisaver/automation-sdk 3.2.2 → 3.2.3
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/.babelrc +3 -3
- package/.editorconfig +9 -9
- package/.env.dev +4 -4
- package/.eslintignore +6 -6
- package/.eslintrc.js +39 -39
- package/.mocharc.json +4 -4
- package/.nvmrc +1 -1
- package/README.md +46 -46
- package/cjs/abis/Erc20.json +223 -223
- package/cjs/abis/SubStorage.json +21 -21
- package/cjs/abis/UniMulticall.json +17 -17
- package/cjs/abis/index.d.ts +9 -9
- package/cjs/abis/index.js +30 -30
- package/cjs/abis/legacy_AaveV2Subscriptions.json +8 -8
- package/cjs/abis/legacy_AuthCheck.json +8 -8
- package/cjs/abis/legacy_CompoundV2Subscriptions.json +9 -9
- package/cjs/abis/legacy_MakerSubscriptions.json +9 -9
- package/cjs/automation/private/Automation.d.ts +12 -12
- package/cjs/automation/private/Automation.js +42 -42
- package/cjs/automation/private/LegacyAutomation.d.ts +25 -25
- package/cjs/automation/private/LegacyAutomation.js +118 -118
- package/cjs/automation/private/LegacyProtocol.d.ts +22 -22
- package/cjs/automation/private/LegacyProtocol.js +41 -41
- package/cjs/automation/private/LegacyProtocol.test.d.ts +1 -1
- package/cjs/automation/private/LegacyProtocol.test.js +25 -25
- package/cjs/automation/private/Protocol.d.ts +22 -22
- package/cjs/automation/private/Protocol.js +41 -41
- package/cjs/automation/private/Protocol.test.d.ts +1 -1
- package/cjs/automation/private/Protocol.test.js +25 -25
- package/cjs/automation/private/StrategiesAutomation.d.ts +33 -33
- package/cjs/automation/private/StrategiesAutomation.js +189 -189
- package/cjs/automation/private/StrategiesAutomation.test.d.ts +1 -1
- package/cjs/automation/private/StrategiesAutomation.test.js +671 -671
- package/cjs/automation/public/ArbitrumStrategies.d.ts +5 -5
- package/cjs/automation/public/ArbitrumStrategies.js +13 -13
- package/cjs/automation/public/BaseStrategies.d.ts +5 -5
- package/cjs/automation/public/BaseStrategies.js +13 -13
- package/cjs/automation/public/EthereumStrategies.d.ts +5 -5
- package/cjs/automation/public/EthereumStrategies.js +13 -13
- package/cjs/automation/public/OptimismStrategies.d.ts +5 -5
- package/cjs/automation/public/OptimismStrategies.js +13 -13
- package/cjs/automation/public/Strategies.test.d.ts +1 -1
- package/cjs/automation/public/Strategies.test.js +61 -61
- package/cjs/automation/public/legacy/LegacyAaveAutomation.d.ts +6 -6
- package/cjs/automation/public/legacy/LegacyAaveAutomation.js +20 -20
- package/cjs/automation/public/legacy/LegacyCompoundAutomation.d.ts +6 -6
- package/cjs/automation/public/legacy/LegacyCompoundAutomation.js +20 -20
- package/cjs/automation/public/legacy/LegacyMakerAutomation.d.ts +6 -6
- package/cjs/automation/public/legacy/LegacyMakerAutomation.js +20 -20
- package/cjs/configuration.d.ts +1 -1
- package/cjs/configuration.js +12 -12
- package/cjs/constants/index.d.ts +28 -28
- package/cjs/constants/index.js +564 -564
- package/cjs/index.d.ts +23 -23
- package/cjs/index.js +65 -65
- package/cjs/services/contractService.d.ts +12 -12
- package/cjs/services/contractService.js +54 -54
- package/cjs/services/ethereumService.d.ts +7 -7
- package/cjs/services/ethereumService.js +49 -49
- package/cjs/services/ethereumService.test.d.ts +1 -1
- package/cjs/services/ethereumService.test.js +242 -242
- package/cjs/services/strategiesService.d.ts +2 -2
- package/cjs/services/strategiesService.js +898 -898
- package/cjs/services/strategiesService.test.d.ts +1 -1
- package/cjs/services/strategiesService.test.js +110 -110
- package/cjs/services/strategySubService.d.ts +110 -110
- package/cjs/services/strategySubService.js +308 -308
- package/cjs/services/strategySubService.test.d.ts +1 -1
- package/cjs/services/strategySubService.test.js +936 -936
- package/cjs/services/subDataService.d.ts +254 -254
- package/cjs/services/subDataService.js +669 -669
- package/cjs/services/subDataService.test.d.ts +1 -1
- package/cjs/services/subDataService.test.js +1282 -1282
- package/cjs/services/triggerService.d.ts +234 -234
- package/cjs/services/triggerService.js +447 -447
- package/cjs/services/triggerService.test.d.ts +1 -1
- package/cjs/services/triggerService.test.js +926 -926
- package/cjs/services/utils.d.ts +30 -30
- package/cjs/services/utils.js +182 -182
- package/cjs/services/utils.test.d.ts +1 -1
- package/cjs/services/utils.test.js +376 -376
- package/cjs/types/contracts/generated/Erc20.d.ts +53 -53
- package/cjs/types/contracts/generated/Erc20.js +5 -5
- package/cjs/types/contracts/generated/Legacy_AaveV2Subscriptions.d.ts +129 -129
- package/cjs/types/contracts/generated/Legacy_AaveV2Subscriptions.js +5 -5
- package/cjs/types/contracts/generated/Legacy_AuthCheck.d.ts +20 -20
- package/cjs/types/contracts/generated/Legacy_AuthCheck.js +5 -5
- package/cjs/types/contracts/generated/Legacy_CompoundV2Subscriptions.d.ts +128 -128
- package/cjs/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +5 -5
- package/cjs/types/contracts/generated/Legacy_MakerSubscriptions.d.ts +246 -246
- package/cjs/types/contracts/generated/Legacy_MakerSubscriptions.js +5 -5
- package/cjs/types/contracts/generated/SubStorage.d.ts +114 -114
- package/cjs/types/contracts/generated/SubStorage.js +5 -5
- package/cjs/types/contracts/generated/UniMulticall.d.ts +55 -55
- package/cjs/types/contracts/generated/UniMulticall.js +5 -5
- package/cjs/types/contracts/generated/index.d.ts +7 -7
- package/cjs/types/contracts/generated/index.js +2 -2
- package/cjs/types/contracts/generated/types.d.ts +54 -54
- package/cjs/types/contracts/generated/types.js +2 -2
- package/cjs/types/enums.d.ts +226 -226
- package/cjs/types/enums.js +252 -252
- package/cjs/types/index.d.ts +248 -248
- package/cjs/types/index.js +2 -2
- package/esm/abis/Erc20.json +223 -223
- package/esm/abis/SubStorage.json +21 -21
- package/esm/abis/UniMulticall.json +17 -17
- package/esm/abis/index.d.ts +9 -9
- package/esm/abis/index.js +18 -18
- package/esm/abis/legacy_AaveV2Subscriptions.json +8 -8
- package/esm/abis/legacy_AuthCheck.json +8 -8
- package/esm/abis/legacy_CompoundV2Subscriptions.json +9 -9
- package/esm/abis/legacy_MakerSubscriptions.json +9 -9
- package/esm/automation/private/Automation.d.ts +12 -12
- package/esm/automation/private/Automation.js +39 -39
- package/esm/automation/private/LegacyAutomation.d.ts +25 -25
- package/esm/automation/private/LegacyAutomation.js +112 -112
- package/esm/automation/private/LegacyProtocol.d.ts +22 -22
- package/esm/automation/private/LegacyProtocol.js +38 -38
- package/esm/automation/private/LegacyProtocol.test.d.ts +1 -1
- package/esm/automation/private/LegacyProtocol.test.js +20 -20
- package/esm/automation/private/Protocol.d.ts +22 -22
- package/esm/automation/private/Protocol.js +38 -38
- package/esm/automation/private/Protocol.test.d.ts +1 -1
- package/esm/automation/private/Protocol.test.js +20 -20
- package/esm/automation/private/StrategiesAutomation.d.ts +33 -33
- package/esm/automation/private/StrategiesAutomation.js +183 -183
- package/esm/automation/private/StrategiesAutomation.test.d.ts +1 -1
- package/esm/automation/private/StrategiesAutomation.test.js +666 -666
- package/esm/automation/public/ArbitrumStrategies.d.ts +5 -5
- package/esm/automation/public/ArbitrumStrategies.js +7 -7
- package/esm/automation/public/BaseStrategies.d.ts +5 -5
- package/esm/automation/public/BaseStrategies.js +7 -7
- package/esm/automation/public/EthereumStrategies.d.ts +5 -5
- package/esm/automation/public/EthereumStrategies.js +7 -7
- package/esm/automation/public/OptimismStrategies.d.ts +5 -5
- package/esm/automation/public/OptimismStrategies.js +7 -7
- package/esm/automation/public/Strategies.test.d.ts +1 -1
- package/esm/automation/public/Strategies.test.js +56 -56
- package/esm/automation/public/legacy/LegacyAaveAutomation.d.ts +6 -6
- package/esm/automation/public/legacy/LegacyAaveAutomation.js +14 -14
- package/esm/automation/public/legacy/LegacyCompoundAutomation.d.ts +6 -6
- package/esm/automation/public/legacy/LegacyCompoundAutomation.js +14 -14
- package/esm/automation/public/legacy/LegacyMakerAutomation.d.ts +6 -6
- package/esm/automation/public/legacy/LegacyMakerAutomation.js +14 -14
- package/esm/configuration.d.ts +1 -1
- package/esm/configuration.js +7 -7
- package/esm/constants/index.d.ts +28 -28
- package/esm/constants/index.js +558 -558
- package/esm/index.d.ts +23 -23
- package/esm/index.js +23 -23
- package/esm/services/contractService.d.ts +12 -12
- package/esm/services/contractService.js +45 -45
- package/esm/services/ethereumService.d.ts +7 -7
- package/esm/services/ethereumService.js +41 -41
- package/esm/services/ethereumService.test.d.ts +1 -1
- package/esm/services/ethereumService.test.js +237 -237
- package/esm/services/strategiesService.d.ts +2 -2
- package/esm/services/strategiesService.js +868 -868
- package/esm/services/strategiesService.test.d.ts +1 -1
- package/esm/services/strategiesService.test.js +108 -108
- package/esm/services/strategySubService.d.ts +110 -110
- package/esm/services/strategySubService.js +279 -279
- package/esm/services/strategySubService.test.d.ts +1 -1
- package/esm/services/strategySubService.test.js +908 -908
- package/esm/services/subDataService.d.ts +254 -254
- package/esm/services/subDataService.js +663 -663
- package/esm/services/subDataService.test.d.ts +1 -1
- package/esm/services/subDataService.test.js +1254 -1254
- package/esm/services/triggerService.d.ts +234 -234
- package/esm/services/triggerService.js +418 -418
- package/esm/services/triggerService.test.d.ts +1 -1
- package/esm/services/triggerService.test.js +901 -901
- package/esm/services/utils.d.ts +30 -30
- package/esm/services/utils.js +131 -131
- package/esm/services/utils.test.d.ts +1 -1
- package/esm/services/utils.test.js +348 -348
- package/esm/types/contracts/generated/Erc20.d.ts +53 -53
- package/esm/types/contracts/generated/Erc20.js +4 -4
- package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.d.ts +129 -129
- package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.js +4 -4
- package/esm/types/contracts/generated/Legacy_AuthCheck.d.ts +20 -20
- package/esm/types/contracts/generated/Legacy_AuthCheck.js +4 -4
- package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.d.ts +128 -128
- package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +4 -4
- package/esm/types/contracts/generated/Legacy_MakerSubscriptions.d.ts +246 -246
- package/esm/types/contracts/generated/Legacy_MakerSubscriptions.js +4 -4
- package/esm/types/contracts/generated/SubStorage.d.ts +114 -114
- package/esm/types/contracts/generated/SubStorage.js +4 -4
- package/esm/types/contracts/generated/UniMulticall.d.ts +55 -55
- package/esm/types/contracts/generated/UniMulticall.js +4 -4
- package/esm/types/contracts/generated/index.d.ts +7 -7
- package/esm/types/contracts/generated/index.js +1 -1
- package/esm/types/contracts/generated/types.d.ts +54 -54
- package/esm/types/contracts/generated/types.js +1 -1
- package/esm/types/enums.d.ts +226 -226
- package/esm/types/enums.js +249 -249
- package/esm/types/index.d.ts +248 -248
- package/esm/types/index.js +1 -1
- package/package.json +60 -60
- package/scripts/generateContractTypes.js +39 -39
- package/src/abis/Erc20.json +222 -222
- package/src/abis/SubStorage.json +21 -21
- package/src/abis/UniMulticall.json +17 -17
- package/src/abis/index.ts +28 -28
- package/src/abis/legacy_AaveV2Subscriptions.json +7 -7
- package/src/abis/legacy_AuthCheck.json +7 -7
- package/src/abis/legacy_CompoundV2Subscriptions.json +8 -8
- package/src/abis/legacy_MakerSubscriptions.json +8 -8
- package/src/automation/private/Automation.ts +44 -44
- package/src/automation/private/LegacyAutomation.ts +135 -135
- package/src/automation/private/LegacyProtocol.test.ts +23 -23
- package/src/automation/private/LegacyProtocol.ts +51 -51
- package/src/automation/private/Protocol.test.ts +23 -23
- package/src/automation/private/Protocol.ts +51 -51
- package/src/automation/private/StrategiesAutomation.test.ts +663 -663
- package/src/automation/private/StrategiesAutomation.ts +254 -254
- package/src/automation/public/ArbitrumStrategies.ts +10 -10
- package/src/automation/public/BaseStrategies.ts +10 -10
- package/src/automation/public/EthereumStrategies.ts +10 -10
- package/src/automation/public/OptimismStrategies.ts +10 -10
- package/src/automation/public/Strategies.test.ts +49 -49
- package/src/automation/public/legacy/LegacyAaveAutomation.ts +20 -20
- package/src/automation/public/legacy/LegacyCompoundAutomation.ts +20 -20
- package/src/automation/public/legacy/LegacyMakerAutomation.ts +20 -20
- package/src/configuration.ts +8 -8
- package/src/constants/index.ts +593 -593
- package/src/index.ts +39 -39
- package/src/services/contractService.ts +77 -77
- package/src/services/ethereumService.test.ts +257 -257
- package/src/services/ethereumService.ts +69 -69
- package/src/services/strategiesService.test.ts +105 -105
- package/src/services/strategiesService.ts +1158 -1158
- package/src/services/strategySubService.test.ts +1122 -1122
- package/src/services/strategySubService.ts +634 -634
- package/src/services/subDataService.test.ts +1387 -1387
- package/src/services/subDataService.ts +914 -914
- package/src/services/triggerService.test.ts +1004 -1004
- package/src/services/triggerService.ts +573 -573
- package/src/services/utils.test.ts +430 -430
- package/src/services/utils.ts +162 -162
- package/src/types/enums.ts +246 -246
- package/src/types/index.ts +312 -312
- package/tsconfig.esm.json +8 -8
- package/tsconfig.json +22 -22
- package/.env +0 -4
package/cjs/services/utils.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import type { EthereumAddress } from '../types';
|
|
2
|
-
import { ChainId, CloseStrategyType, CloseToAssetType, RatioState } from '../types/enums';
|
|
3
|
-
export declare function isDefined<T>(value: T): value is NonNullable<T>;
|
|
4
|
-
export declare function isUndefined(value: unknown): boolean;
|
|
5
|
-
export declare function compareAddresses(firstAddress: EthereumAddress, secondAddress: EthereumAddress): boolean;
|
|
6
|
-
export declare function isAddress(address: EthereumAddress): boolean;
|
|
7
|
-
export declare function addToArrayIf(condition: boolean, ...items: any): Array<any>;
|
|
8
|
-
export declare function addToObjectIf(condition: boolean, item: any): object;
|
|
9
|
-
export declare function ethToWeth(maybeEth: string): string;
|
|
10
|
-
export declare function wethToEth(maybeWeth: string): string;
|
|
11
|
-
export declare function wethToEthByAddress(maybeWethAddr: EthereumAddress, chainId?: ChainId): EthereumAddress;
|
|
12
|
-
export declare function compareSubHashes(currentSubHash: string, newSubStructDecoded: object): boolean;
|
|
13
|
-
export declare function encodeSubId(subIdDec?: string): string;
|
|
14
|
-
export declare function ratioPercentageToWei(ratioPercentage: number): string;
|
|
15
|
-
export declare function weiToRatioPercentage(ratioWei: string): number;
|
|
16
|
-
export declare function isRatioStateOver(ratioState: RatioState): boolean;
|
|
17
|
-
export declare function isRatioStateUnder(ratioState: RatioState): boolean;
|
|
18
|
-
export declare function isEmptyBytes(string: string): boolean;
|
|
19
|
-
export declare function requireAddress(address: EthereumAddress): void | never;
|
|
20
|
-
export declare function requireAddresses(addresses: EthereumAddress[]): void;
|
|
21
|
-
export declare function getRatioStateInfoForAaveCloseStrategy(currentRatioState: RatioState, collAsset: EthereumAddress, debtAsset: EthereumAddress, chainId: ChainId): {
|
|
22
|
-
shouldFlip: boolean;
|
|
23
|
-
ratioState: RatioState;
|
|
24
|
-
};
|
|
25
|
-
export declare function getPositionId(...args: (number | string)[]): string;
|
|
26
|
-
export declare function getCloseStrategyType(stopLossPrice: number, stopLossType: CloseToAssetType, takeProfitPrice: number, takeProfitType: CloseToAssetType): CloseStrategyType;
|
|
27
|
-
export declare function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType: CloseStrategyType): {
|
|
28
|
-
stopLossType: CloseToAssetType | undefined;
|
|
29
|
-
takeProfitType: CloseToAssetType | undefined;
|
|
30
|
-
};
|
|
1
|
+
import type { EthereumAddress } from '../types';
|
|
2
|
+
import { ChainId, CloseStrategyType, CloseToAssetType, RatioState } from '../types/enums';
|
|
3
|
+
export declare function isDefined<T>(value: T): value is NonNullable<T>;
|
|
4
|
+
export declare function isUndefined(value: unknown): boolean;
|
|
5
|
+
export declare function compareAddresses(firstAddress: EthereumAddress, secondAddress: EthereumAddress): boolean;
|
|
6
|
+
export declare function isAddress(address: EthereumAddress): boolean;
|
|
7
|
+
export declare function addToArrayIf(condition: boolean, ...items: any): Array<any>;
|
|
8
|
+
export declare function addToObjectIf(condition: boolean, item: any): object;
|
|
9
|
+
export declare function ethToWeth(maybeEth: string): string;
|
|
10
|
+
export declare function wethToEth(maybeWeth: string): string;
|
|
11
|
+
export declare function wethToEthByAddress(maybeWethAddr: EthereumAddress, chainId?: ChainId): EthereumAddress;
|
|
12
|
+
export declare function compareSubHashes(currentSubHash: string, newSubStructDecoded: object): boolean;
|
|
13
|
+
export declare function encodeSubId(subIdDec?: string): string;
|
|
14
|
+
export declare function ratioPercentageToWei(ratioPercentage: number): string;
|
|
15
|
+
export declare function weiToRatioPercentage(ratioWei: string): number;
|
|
16
|
+
export declare function isRatioStateOver(ratioState: RatioState): boolean;
|
|
17
|
+
export declare function isRatioStateUnder(ratioState: RatioState): boolean;
|
|
18
|
+
export declare function isEmptyBytes(string: string): boolean;
|
|
19
|
+
export declare function requireAddress(address: EthereumAddress): void | never;
|
|
20
|
+
export declare function requireAddresses(addresses: EthereumAddress[]): void;
|
|
21
|
+
export declare function getRatioStateInfoForAaveCloseStrategy(currentRatioState: RatioState, collAsset: EthereumAddress, debtAsset: EthereumAddress, chainId: ChainId): {
|
|
22
|
+
shouldFlip: boolean;
|
|
23
|
+
ratioState: RatioState;
|
|
24
|
+
};
|
|
25
|
+
export declare function getPositionId(...args: (number | string)[]): string;
|
|
26
|
+
export declare function getCloseStrategyType(stopLossPrice: number, stopLossType: CloseToAssetType, takeProfitPrice: number, takeProfitType: CloseToAssetType): CloseStrategyType;
|
|
27
|
+
export declare function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType: CloseStrategyType): {
|
|
28
|
+
stopLossType: CloseToAssetType | undefined;
|
|
29
|
+
takeProfitType: CloseToAssetType | undefined;
|
|
30
|
+
};
|
package/cjs/services/utils.js
CHANGED
|
@@ -1,182 +1,182 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getStopLossAndTakeProfitTypeByCloseStrategyType = exports.getCloseStrategyType = exports.getPositionId = exports.getRatioStateInfoForAaveCloseStrategy = exports.requireAddresses = exports.requireAddress = exports.isEmptyBytes = exports.isRatioStateUnder = exports.isRatioStateOver = exports.weiToRatioPercentage = exports.ratioPercentageToWei = exports.encodeSubId = exports.compareSubHashes = exports.wethToEthByAddress = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.addToArrayIf = exports.isAddress = exports.compareAddresses = exports.isUndefined = exports.isDefined = void 0;
|
|
30
|
-
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
31
|
-
const web3Utils = __importStar(require("web3-utils"));
|
|
32
|
-
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
33
|
-
const tokens_1 = require("@defisaver/tokens");
|
|
34
|
-
const enums_1 = require("../types/enums");
|
|
35
|
-
function isDefined(value) {
|
|
36
|
-
return value !== undefined && value !== null;
|
|
37
|
-
}
|
|
38
|
-
exports.isDefined = isDefined;
|
|
39
|
-
function isUndefined(value) {
|
|
40
|
-
return !isDefined(value);
|
|
41
|
-
}
|
|
42
|
-
exports.isUndefined = isUndefined;
|
|
43
|
-
function compareAddresses(firstAddress, secondAddress) {
|
|
44
|
-
return firstAddress.toLowerCase() === secondAddress.toLowerCase();
|
|
45
|
-
}
|
|
46
|
-
exports.compareAddresses = compareAddresses;
|
|
47
|
-
function isAddress(address) {
|
|
48
|
-
return new RegExp(/0x[0-9a-fA-F]{40}/).test(address);
|
|
49
|
-
}
|
|
50
|
-
exports.isAddress = isAddress;
|
|
51
|
-
function addToArrayIf(condition, ...items) {
|
|
52
|
-
return (condition ? items : []);
|
|
53
|
-
}
|
|
54
|
-
exports.addToArrayIf = addToArrayIf;
|
|
55
|
-
function addToObjectIf(condition, item) {
|
|
56
|
-
return (condition ? item : {});
|
|
57
|
-
}
|
|
58
|
-
exports.addToObjectIf = addToObjectIf;
|
|
59
|
-
function ethToWeth(maybeEth) {
|
|
60
|
-
return maybeEth === null || maybeEth === void 0 ? void 0 : maybeEth.replace(/^ETH$/, 'WETH');
|
|
61
|
-
}
|
|
62
|
-
exports.ethToWeth = ethToWeth;
|
|
63
|
-
function wethToEth(maybeWeth) {
|
|
64
|
-
return maybeWeth === null || maybeWeth === void 0 ? void 0 : maybeWeth.replace(/^WETH$/, 'ETH');
|
|
65
|
-
}
|
|
66
|
-
exports.wethToEth = wethToEth;
|
|
67
|
-
function wethToEthByAddress(maybeWethAddr, chainId = enums_1.ChainId.Ethereum) {
|
|
68
|
-
return (0, tokens_1.getAssetInfo)(wethToEth((0, tokens_1.getAssetInfoByAddress)(maybeWethAddr, chainId).symbol), chainId).address;
|
|
69
|
-
}
|
|
70
|
-
exports.wethToEthByAddress = wethToEthByAddress;
|
|
71
|
-
function compareSubHashes(currentSubHash, newSubStructDecoded) {
|
|
72
|
-
return currentSubHash === web3Utils.keccak256(web3_eth_abi_1.default.encodeParameter('(uint64,bool,bytes[],bytes32[])', newSubStructDecoded));
|
|
73
|
-
}
|
|
74
|
-
exports.compareSubHashes = compareSubHashes;
|
|
75
|
-
function encodeSubId(subIdDec = '0') {
|
|
76
|
-
return new decimal_js_1.default(subIdDec).toHex().slice(2).padStart(8, '0');
|
|
77
|
-
}
|
|
78
|
-
exports.encodeSubId = encodeSubId;
|
|
79
|
-
function ratioPercentageToWei(ratioPercentage) {
|
|
80
|
-
return web3Utils.toWei(new decimal_js_1.default(ratioPercentage).div(100).toString(), 'ether');
|
|
81
|
-
}
|
|
82
|
-
exports.ratioPercentageToWei = ratioPercentageToWei;
|
|
83
|
-
function weiToRatioPercentage(ratioWei) {
|
|
84
|
-
return new decimal_js_1.default(web3Utils.fromWei(new decimal_js_1.default(ratioWei).mul(100).toString(), 'ether')).toNumber();
|
|
85
|
-
}
|
|
86
|
-
exports.weiToRatioPercentage = weiToRatioPercentage;
|
|
87
|
-
function isRatioStateOver(ratioState) {
|
|
88
|
-
return ratioState === enums_1.RatioState.OVER;
|
|
89
|
-
}
|
|
90
|
-
exports.isRatioStateOver = isRatioStateOver;
|
|
91
|
-
function isRatioStateUnder(ratioState) {
|
|
92
|
-
return ratioState === enums_1.RatioState.UNDER;
|
|
93
|
-
}
|
|
94
|
-
exports.isRatioStateUnder = isRatioStateUnder;
|
|
95
|
-
function isEmptyBytes(string) {
|
|
96
|
-
return string === '0x0000000000000000000000000000000000000000';
|
|
97
|
-
}
|
|
98
|
-
exports.isEmptyBytes = isEmptyBytes;
|
|
99
|
-
function requireAddress(address) {
|
|
100
|
-
if (typeof address !== 'string')
|
|
101
|
-
throw new Error('Address is not a string');
|
|
102
|
-
if (address === '')
|
|
103
|
-
throw new Error('Address is empty string');
|
|
104
|
-
if (address.length < 42)
|
|
105
|
-
throw new Error(`Address too short (${address.length} instead of 42)`);
|
|
106
|
-
if (isEmptyBytes(address))
|
|
107
|
-
throw new Error('Address is empty bytes');
|
|
108
|
-
if (!(new RegExp(/0x[0-9a-fA-F]{40}/).test(address)))
|
|
109
|
-
throw new Error('Address invalid');
|
|
110
|
-
}
|
|
111
|
-
exports.requireAddress = requireAddress;
|
|
112
|
-
function requireAddresses(addresses) {
|
|
113
|
-
addresses.forEach((address) => requireAddress(address));
|
|
114
|
-
}
|
|
115
|
-
exports.requireAddresses = requireAddresses;
|
|
116
|
-
function getRatioStateInfoForAaveCloseStrategy(currentRatioState, collAsset, debtAsset, chainId) {
|
|
117
|
-
// Flip only if stable/volatile to keep human-readable trigger price setting
|
|
118
|
-
const shouldFlip = (0, tokens_1.getAssetInfoByAddress)(collAsset, chainId).isStable && !(0, tokens_1.getAssetInfoByAddress)(debtAsset, chainId).isStable;
|
|
119
|
-
let ratioState = currentRatioState;
|
|
120
|
-
if (shouldFlip) {
|
|
121
|
-
ratioState = isRatioStateOver(currentRatioState)
|
|
122
|
-
? ratioState = enums_1.RatioState.UNDER
|
|
123
|
-
: ratioState = enums_1.RatioState.OVER;
|
|
124
|
-
}
|
|
125
|
-
return { shouldFlip, ratioState };
|
|
126
|
-
}
|
|
127
|
-
exports.getRatioStateInfoForAaveCloseStrategy = getRatioStateInfoForAaveCloseStrategy;
|
|
128
|
-
function getPositionId(...args) {
|
|
129
|
-
return args.map(arg => arg.toString().toLowerCase().split(' ').join('_')).join('-');
|
|
130
|
-
}
|
|
131
|
-
exports.getPositionId = getPositionId;
|
|
132
|
-
function getCloseStrategyType(stopLossPrice, stopLossType, takeProfitPrice, takeProfitType) {
|
|
133
|
-
const isStopLoss = stopLossPrice > 0;
|
|
134
|
-
const isTakeProfit = takeProfitPrice > 0;
|
|
135
|
-
if (!isStopLoss && !isTakeProfit) {
|
|
136
|
-
throw new Error('CloseOnPrice: At least one price must be defined');
|
|
137
|
-
}
|
|
138
|
-
if (isStopLoss && isTakeProfit) {
|
|
139
|
-
if (stopLossType === enums_1.CloseToAssetType.COLLATERAL && takeProfitType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
140
|
-
return enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_COLLATERAL;
|
|
141
|
-
}
|
|
142
|
-
if (stopLossType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
143
|
-
return enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT_AND_STOP_LOSS_IN_COLLATERAL;
|
|
144
|
-
}
|
|
145
|
-
if (takeProfitType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
146
|
-
return enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL_AND_STOP_LOSS_IN_DEBT;
|
|
147
|
-
}
|
|
148
|
-
return enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_DEBT;
|
|
149
|
-
}
|
|
150
|
-
if (isStopLoss) {
|
|
151
|
-
return stopLossType === enums_1.CloseToAssetType.COLLATERAL
|
|
152
|
-
? enums_1.CloseStrategyType.STOP_LOSS_IN_COLLATERAL
|
|
153
|
-
: enums_1.CloseStrategyType.STOP_LOSS_IN_DEBT;
|
|
154
|
-
}
|
|
155
|
-
return takeProfitType === enums_1.CloseToAssetType.COLLATERAL
|
|
156
|
-
? enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL
|
|
157
|
-
: enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT;
|
|
158
|
-
}
|
|
159
|
-
exports.getCloseStrategyType = getCloseStrategyType;
|
|
160
|
-
function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType) {
|
|
161
|
-
switch (closeStrategyType) {
|
|
162
|
-
case enums_1.CloseStrategyType.STOP_LOSS_IN_COLLATERAL:
|
|
163
|
-
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: undefined };
|
|
164
|
-
case enums_1.CloseStrategyType.STOP_LOSS_IN_DEBT:
|
|
165
|
-
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: undefined };
|
|
166
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL:
|
|
167
|
-
return { stopLossType: undefined, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
168
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT:
|
|
169
|
-
return { stopLossType: undefined, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
170
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL_AND_STOP_LOSS_IN_DEBT:
|
|
171
|
-
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
172
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT_AND_STOP_LOSS_IN_COLLATERAL:
|
|
173
|
-
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
174
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_DEBT:
|
|
175
|
-
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
176
|
-
case enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_COLLATERAL:
|
|
177
|
-
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
178
|
-
default:
|
|
179
|
-
throw new Error('CloseStrategyType not supported');
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
exports.getStopLossAndTakeProfitTypeByCloseStrategyType = getStopLossAndTakeProfitTypeByCloseStrategyType;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.getStopLossAndTakeProfitTypeByCloseStrategyType = exports.getCloseStrategyType = exports.getPositionId = exports.getRatioStateInfoForAaveCloseStrategy = exports.requireAddresses = exports.requireAddress = exports.isEmptyBytes = exports.isRatioStateUnder = exports.isRatioStateOver = exports.weiToRatioPercentage = exports.ratioPercentageToWei = exports.encodeSubId = exports.compareSubHashes = exports.wethToEthByAddress = exports.wethToEth = exports.ethToWeth = exports.addToObjectIf = exports.addToArrayIf = exports.isAddress = exports.compareAddresses = exports.isUndefined = exports.isDefined = void 0;
|
|
30
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
31
|
+
const web3Utils = __importStar(require("web3-utils"));
|
|
32
|
+
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
|
|
33
|
+
const tokens_1 = require("@defisaver/tokens");
|
|
34
|
+
const enums_1 = require("../types/enums");
|
|
35
|
+
function isDefined(value) {
|
|
36
|
+
return value !== undefined && value !== null;
|
|
37
|
+
}
|
|
38
|
+
exports.isDefined = isDefined;
|
|
39
|
+
function isUndefined(value) {
|
|
40
|
+
return !isDefined(value);
|
|
41
|
+
}
|
|
42
|
+
exports.isUndefined = isUndefined;
|
|
43
|
+
function compareAddresses(firstAddress, secondAddress) {
|
|
44
|
+
return firstAddress.toLowerCase() === secondAddress.toLowerCase();
|
|
45
|
+
}
|
|
46
|
+
exports.compareAddresses = compareAddresses;
|
|
47
|
+
function isAddress(address) {
|
|
48
|
+
return new RegExp(/0x[0-9a-fA-F]{40}/).test(address);
|
|
49
|
+
}
|
|
50
|
+
exports.isAddress = isAddress;
|
|
51
|
+
function addToArrayIf(condition, ...items) {
|
|
52
|
+
return (condition ? items : []);
|
|
53
|
+
}
|
|
54
|
+
exports.addToArrayIf = addToArrayIf;
|
|
55
|
+
function addToObjectIf(condition, item) {
|
|
56
|
+
return (condition ? item : {});
|
|
57
|
+
}
|
|
58
|
+
exports.addToObjectIf = addToObjectIf;
|
|
59
|
+
function ethToWeth(maybeEth) {
|
|
60
|
+
return maybeEth === null || maybeEth === void 0 ? void 0 : maybeEth.replace(/^ETH$/, 'WETH');
|
|
61
|
+
}
|
|
62
|
+
exports.ethToWeth = ethToWeth;
|
|
63
|
+
function wethToEth(maybeWeth) {
|
|
64
|
+
return maybeWeth === null || maybeWeth === void 0 ? void 0 : maybeWeth.replace(/^WETH$/, 'ETH');
|
|
65
|
+
}
|
|
66
|
+
exports.wethToEth = wethToEth;
|
|
67
|
+
function wethToEthByAddress(maybeWethAddr, chainId = enums_1.ChainId.Ethereum) {
|
|
68
|
+
return (0, tokens_1.getAssetInfo)(wethToEth((0, tokens_1.getAssetInfoByAddress)(maybeWethAddr, chainId).symbol), chainId).address;
|
|
69
|
+
}
|
|
70
|
+
exports.wethToEthByAddress = wethToEthByAddress;
|
|
71
|
+
function compareSubHashes(currentSubHash, newSubStructDecoded) {
|
|
72
|
+
return currentSubHash === web3Utils.keccak256(web3_eth_abi_1.default.encodeParameter('(uint64,bool,bytes[],bytes32[])', newSubStructDecoded));
|
|
73
|
+
}
|
|
74
|
+
exports.compareSubHashes = compareSubHashes;
|
|
75
|
+
function encodeSubId(subIdDec = '0') {
|
|
76
|
+
return new decimal_js_1.default(subIdDec).toHex().slice(2).padStart(8, '0');
|
|
77
|
+
}
|
|
78
|
+
exports.encodeSubId = encodeSubId;
|
|
79
|
+
function ratioPercentageToWei(ratioPercentage) {
|
|
80
|
+
return web3Utils.toWei(new decimal_js_1.default(ratioPercentage).div(100).toString(), 'ether');
|
|
81
|
+
}
|
|
82
|
+
exports.ratioPercentageToWei = ratioPercentageToWei;
|
|
83
|
+
function weiToRatioPercentage(ratioWei) {
|
|
84
|
+
return new decimal_js_1.default(web3Utils.fromWei(new decimal_js_1.default(ratioWei).mul(100).toString(), 'ether')).toNumber();
|
|
85
|
+
}
|
|
86
|
+
exports.weiToRatioPercentage = weiToRatioPercentage;
|
|
87
|
+
function isRatioStateOver(ratioState) {
|
|
88
|
+
return ratioState === enums_1.RatioState.OVER;
|
|
89
|
+
}
|
|
90
|
+
exports.isRatioStateOver = isRatioStateOver;
|
|
91
|
+
function isRatioStateUnder(ratioState) {
|
|
92
|
+
return ratioState === enums_1.RatioState.UNDER;
|
|
93
|
+
}
|
|
94
|
+
exports.isRatioStateUnder = isRatioStateUnder;
|
|
95
|
+
function isEmptyBytes(string) {
|
|
96
|
+
return string === '0x0000000000000000000000000000000000000000';
|
|
97
|
+
}
|
|
98
|
+
exports.isEmptyBytes = isEmptyBytes;
|
|
99
|
+
function requireAddress(address) {
|
|
100
|
+
if (typeof address !== 'string')
|
|
101
|
+
throw new Error('Address is not a string');
|
|
102
|
+
if (address === '')
|
|
103
|
+
throw new Error('Address is empty string');
|
|
104
|
+
if (address.length < 42)
|
|
105
|
+
throw new Error(`Address too short (${address.length} instead of 42)`);
|
|
106
|
+
if (isEmptyBytes(address))
|
|
107
|
+
throw new Error('Address is empty bytes');
|
|
108
|
+
if (!(new RegExp(/0x[0-9a-fA-F]{40}/).test(address)))
|
|
109
|
+
throw new Error('Address invalid');
|
|
110
|
+
}
|
|
111
|
+
exports.requireAddress = requireAddress;
|
|
112
|
+
function requireAddresses(addresses) {
|
|
113
|
+
addresses.forEach((address) => requireAddress(address));
|
|
114
|
+
}
|
|
115
|
+
exports.requireAddresses = requireAddresses;
|
|
116
|
+
function getRatioStateInfoForAaveCloseStrategy(currentRatioState, collAsset, debtAsset, chainId) {
|
|
117
|
+
// Flip only if stable/volatile to keep human-readable trigger price setting
|
|
118
|
+
const shouldFlip = (0, tokens_1.getAssetInfoByAddress)(collAsset, chainId).isStable && !(0, tokens_1.getAssetInfoByAddress)(debtAsset, chainId).isStable;
|
|
119
|
+
let ratioState = currentRatioState;
|
|
120
|
+
if (shouldFlip) {
|
|
121
|
+
ratioState = isRatioStateOver(currentRatioState)
|
|
122
|
+
? ratioState = enums_1.RatioState.UNDER
|
|
123
|
+
: ratioState = enums_1.RatioState.OVER;
|
|
124
|
+
}
|
|
125
|
+
return { shouldFlip, ratioState };
|
|
126
|
+
}
|
|
127
|
+
exports.getRatioStateInfoForAaveCloseStrategy = getRatioStateInfoForAaveCloseStrategy;
|
|
128
|
+
function getPositionId(...args) {
|
|
129
|
+
return args.map(arg => arg.toString().toLowerCase().split(' ').join('_')).join('-');
|
|
130
|
+
}
|
|
131
|
+
exports.getPositionId = getPositionId;
|
|
132
|
+
function getCloseStrategyType(stopLossPrice, stopLossType, takeProfitPrice, takeProfitType) {
|
|
133
|
+
const isStopLoss = stopLossPrice > 0;
|
|
134
|
+
const isTakeProfit = takeProfitPrice > 0;
|
|
135
|
+
if (!isStopLoss && !isTakeProfit) {
|
|
136
|
+
throw new Error('CloseOnPrice: At least one price must be defined');
|
|
137
|
+
}
|
|
138
|
+
if (isStopLoss && isTakeProfit) {
|
|
139
|
+
if (stopLossType === enums_1.CloseToAssetType.COLLATERAL && takeProfitType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
140
|
+
return enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_COLLATERAL;
|
|
141
|
+
}
|
|
142
|
+
if (stopLossType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
143
|
+
return enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT_AND_STOP_LOSS_IN_COLLATERAL;
|
|
144
|
+
}
|
|
145
|
+
if (takeProfitType === enums_1.CloseToAssetType.COLLATERAL) {
|
|
146
|
+
return enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL_AND_STOP_LOSS_IN_DEBT;
|
|
147
|
+
}
|
|
148
|
+
return enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_DEBT;
|
|
149
|
+
}
|
|
150
|
+
if (isStopLoss) {
|
|
151
|
+
return stopLossType === enums_1.CloseToAssetType.COLLATERAL
|
|
152
|
+
? enums_1.CloseStrategyType.STOP_LOSS_IN_COLLATERAL
|
|
153
|
+
: enums_1.CloseStrategyType.STOP_LOSS_IN_DEBT;
|
|
154
|
+
}
|
|
155
|
+
return takeProfitType === enums_1.CloseToAssetType.COLLATERAL
|
|
156
|
+
? enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL
|
|
157
|
+
: enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT;
|
|
158
|
+
}
|
|
159
|
+
exports.getCloseStrategyType = getCloseStrategyType;
|
|
160
|
+
function getStopLossAndTakeProfitTypeByCloseStrategyType(closeStrategyType) {
|
|
161
|
+
switch (closeStrategyType) {
|
|
162
|
+
case enums_1.CloseStrategyType.STOP_LOSS_IN_COLLATERAL:
|
|
163
|
+
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: undefined };
|
|
164
|
+
case enums_1.CloseStrategyType.STOP_LOSS_IN_DEBT:
|
|
165
|
+
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: undefined };
|
|
166
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL:
|
|
167
|
+
return { stopLossType: undefined, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
168
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT:
|
|
169
|
+
return { stopLossType: undefined, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
170
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_COLLATERAL_AND_STOP_LOSS_IN_DEBT:
|
|
171
|
+
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
172
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_IN_DEBT_AND_STOP_LOSS_IN_COLLATERAL:
|
|
173
|
+
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
174
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_DEBT:
|
|
175
|
+
return { stopLossType: enums_1.CloseToAssetType.DEBT, takeProfitType: enums_1.CloseToAssetType.DEBT };
|
|
176
|
+
case enums_1.CloseStrategyType.TAKE_PROFIT_AND_STOP_LOSS_IN_COLLATERAL:
|
|
177
|
+
return { stopLossType: enums_1.CloseToAssetType.COLLATERAL, takeProfitType: enums_1.CloseToAssetType.COLLATERAL };
|
|
178
|
+
default:
|
|
179
|
+
throw new Error('CloseStrategyType not supported');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.getStopLossAndTakeProfitTypeByCloseStrategyType = getStopLossAndTakeProfitTypeByCloseStrategyType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import '../configuration';
|
|
1
|
+
import '../configuration';
|