iq-option-client 1.3.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/LICENSE +16 -0
- package/README.md +531 -0
- package/dist/bin/IQOption.d.ts +2 -0
- package/dist/bin/IQOption.js +100 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +26 -0
- package/dist/lib/Helper/Logger/ILogger.d.ts +39 -0
- package/dist/lib/Helper/Logger/ILogger.js +3 -0
- package/dist/lib/Helper/Logger/LogLevel.d.ts +10 -0
- package/dist/lib/Helper/Logger/LogLevel.js +23 -0
- package/dist/lib/Helper/Logger/LoggerContext.d.ts +59 -0
- package/dist/lib/Helper/Logger/LoggerContext.js +49 -0
- package/dist/lib/Helper/Logger/LoggerFactory.d.ts +22 -0
- package/dist/lib/Helper/Logger/LoggerFactory.js +87 -0
- package/dist/lib/Helper/Logger/WinstonLogger.d.ts +21 -0
- package/dist/lib/Helper/Logger/WinstonLogger.js +56 -0
- package/dist/lib/Helper/Logger/index.d.ts +5 -0
- package/dist/lib/Helper/Logger/index.js +30 -0
- package/dist/lib/Helper/LoggerHelper.d.ts +11 -0
- package/dist/lib/Helper/LoggerHelper.js +48 -0
- package/dist/lib/Helper/SleepHelper.d.ts +6 -0
- package/dist/lib/Helper/SleepHelper.js +15 -0
- package/dist/lib/Helper/index.d.ts +3 -0
- package/dist/lib/Helper/index.js +20 -0
- package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.d.ts +16 -0
- package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.js +47 -0
- package/dist/lib/Service/IQOptionService/Adapter/index.d.ts +1 -0
- package/dist/lib/Service/IQOptionService/Adapter/index.js +26 -0
- package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.d.ts +44 -0
- package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.js +91 -0
- package/dist/lib/Service/IQOptionService/Builder/OrderRequest.d.ts +28 -0
- package/dist/lib/Service/IQOptionService/Builder/OrderRequest.js +20 -0
- package/dist/lib/Service/IQOptionService/Builder/index.d.ts +2 -0
- package/dist/lib/Service/IQOptionService/Builder/index.js +27 -0
- package/dist/lib/Service/IQOptionService/Command/CommandInvoker.d.ts +13 -0
- package/dist/lib/Service/IQOptionService/Command/CommandInvoker.js +35 -0
- package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.d.ts +13 -0
- package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.js +20 -0
- package/dist/lib/Service/IQOptionService/Command/ICommand.d.ts +13 -0
- package/dist/lib/Service/IQOptionService/Command/ICommand.js +11 -0
- package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.d.ts +14 -0
- package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.js +20 -0
- package/dist/lib/Service/IQOptionService/Command/index.d.ts +4 -0
- package/dist/lib/Service/IQOptionService/Command/index.js +29 -0
- package/dist/lib/Service/IQOptionService/Error/AuthenticationError.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/Error/AuthenticationError.js +22 -0
- package/dist/lib/Service/IQOptionService/Error/ConnectionError.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/Error/ConnectionError.js +22 -0
- package/dist/lib/Service/IQOptionService/Error/ErrorHandler.d.ts +17 -0
- package/dist/lib/Service/IQOptionService/Error/ErrorHandler.js +58 -0
- package/dist/lib/Service/IQOptionService/Error/IQOptionError.d.ts +15 -0
- package/dist/lib/Service/IQOptionService/Error/IQOptionError.js +46 -0
- package/dist/lib/Service/IQOptionService/Error/OrderError.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/Error/OrderError.js +22 -0
- package/dist/lib/Service/IQOptionService/Error/RetryStrategy.d.ts +42 -0
- package/dist/lib/Service/IQOptionService/Error/RetryStrategy.js +67 -0
- package/dist/lib/Service/IQOptionService/Error/Retryable.d.ts +20 -0
- package/dist/lib/Service/IQOptionService/Error/Retryable.js +36 -0
- package/dist/lib/Service/IQOptionService/Error/TimeoutError.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/Error/TimeoutError.js +23 -0
- package/dist/lib/Service/IQOptionService/Error/index.d.ts +8 -0
- package/dist/lib/Service/IQOptionService/Error/index.js +33 -0
- package/dist/lib/Service/IQOptionService/Factory/StreamFactory.d.ts +17 -0
- package/dist/lib/Service/IQOptionService/Factory/StreamFactory.js +43 -0
- package/dist/lib/Service/IQOptionService/Factory/StreamType.d.ts +9 -0
- package/dist/lib/Service/IQOptionService/Factory/StreamType.js +22 -0
- package/dist/lib/Service/IQOptionService/Factory/index.d.ts +2 -0
- package/dist/lib/Service/IQOptionService/Factory/index.js +27 -0
- package/dist/lib/Service/IQOptionService/Helper/InputValidator.d.ts +34 -0
- package/dist/lib/Service/IQOptionService/Helper/InputValidator.js +101 -0
- package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.d.ts +18 -0
- package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.js +37 -0
- package/dist/lib/Service/IQOptionService/Helper/index.d.ts +2 -0
- package/dist/lib/Service/IQOptionService/Helper/index.js +27 -0
- package/dist/lib/Service/IQOptionService/IQOptionApi.d.ts +96 -0
- package/dist/lib/Service/IQOptionService/IQOptionApi.js +343 -0
- package/dist/lib/Service/IQOptionService/IQOptionExpired.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/IQOptionExpired.js +27 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.d.ts +55 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.js +88 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.d.ts +33 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.js +59 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.d.ts +46 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.js +84 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.d.ts +40 -0
- package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.js +79 -0
- package/dist/lib/Service/IQOptionService/IQOptionWrapper.d.ts +51 -0
- package/dist/lib/Service/IQOptionService/IQOptionWrapper.js +111 -0
- package/dist/lib/Service/IQOptionService/IQOptionWs.d.ts +56 -0
- package/dist/lib/Service/IQOptionService/IQOptionWs.js +125 -0
- package/dist/lib/Service/IQOptionService/Interface/IAuthService.d.ts +12 -0
- package/dist/lib/Service/IQOptionService/Interface/IAuthService.js +11 -0
- package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.d.ts +9 -0
- package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.js +11 -0
- package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.d.ts +26 -0
- package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.js +3 -0
- package/dist/lib/Service/IQOptionService/Interface/index.d.ts +3 -0
- package/dist/lib/Service/IQOptionService/Interface/index.js +28 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionAction.d.ts +23 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionAction.js +36 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.d.ts +61 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.js +11 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.d.ts +9 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.js +22 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.d.ts +8 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.js +21 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.d.ts +117 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.js +14 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.d.ts +4 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.js +9 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.d.ts +22 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.js +3 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.d.ts +100 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.js +113 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.d.ts +6 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.js +108 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMode.d.ts +7 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionMode.js +20 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionModel.d.ts +13 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionModel.js +26 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionName.d.ts +8 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionName.js +21 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.d.ts +43 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.js +11 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.d.ts +39 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.js +11 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.d.ts +152 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.js +11 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionResult.d.ts +17 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionResult.js +30 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionTime.d.ts +12 -0
- package/dist/lib/Service/IQOptionService/Model/IQOptionTime.js +25 -0
- package/dist/lib/Service/IQOptionService/Model/index.d.ts +17 -0
- package/dist/lib/Service/IQOptionService/Model/index.js +42 -0
- package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.d.ts +26 -0
- package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.js +3 -0
- package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.d.ts +19 -0
- package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.js +99 -0
- package/dist/lib/Service/IQOptionService/Repository/index.d.ts +2 -0
- package/dist/lib/Service/IQOptionService/Repository/index.js +27 -0
- package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.d.ts +15 -0
- package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.js +66 -0
- package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.d.ts +15 -0
- package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.js +83 -0
- package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.d.ts +10 -0
- package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.js +3 -0
- package/dist/lib/Service/IQOptionService/Strategy/index.d.ts +3 -0
- package/dist/lib/Service/IQOptionService/Strategy/index.js +28 -0
- package/dist/lib/Service/IQOptionService/index.d.ts +16 -0
- package/dist/lib/Service/IQOptionService/index.js +41 -0
- package/dist/lib/Service/index.d.ts +1 -0
- package/dist/lib/Service/index.js +26 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +27 -0
- package/package.json +67 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
4
|
+
* All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
7
|
+
*
|
|
8
|
+
* Proprietary and confidential.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.IQOptionTime = void 0;
|
|
12
|
+
/**
|
|
13
|
+
* Options times.
|
|
14
|
+
*/
|
|
15
|
+
var IQOptionTime;
|
|
16
|
+
(function (IQOptionTime) {
|
|
17
|
+
IQOptionTime[IQOptionTime["FIFTEEN_MINUTES"] = 15] = "FIFTEEN_MINUTES";
|
|
18
|
+
IQOptionTime[IQOptionTime["TEN_MINUTES"] = 10] = "TEN_MINUTES";
|
|
19
|
+
IQOptionTime[IQOptionTime["FIVE_MINUTES"] = 5] = "FIVE_MINUTES";
|
|
20
|
+
IQOptionTime[IQOptionTime["FOUR_MINUTES"] = 4] = "FOUR_MINUTES";
|
|
21
|
+
IQOptionTime[IQOptionTime["THREE_MINUTES"] = 3] = "THREE_MINUTES";
|
|
22
|
+
IQOptionTime[IQOptionTime["TWO_MINUTES"] = 2] = "TWO_MINUTES";
|
|
23
|
+
IQOptionTime[IQOptionTime["ONE_MINUTE"] = 1] = "ONE_MINUTE";
|
|
24
|
+
})(IQOptionTime || (exports.IQOptionTime = IQOptionTime = {}));
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVFPcHRpb25UaW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9TZXJ2aWNlL0lRT3B0aW9uU2VydmljZS9Nb2RlbC9JUU9wdGlvblRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7O0dBT0c7OztBQUVIOztHQUVHO0FBQ0gsSUFBWSxZQVFYO0FBUkQsV0FBWSxZQUFZO0lBQ3BCLHNFQUFvQixDQUFBO0lBQ3BCLDhEQUFnQixDQUFBO0lBQ2hCLCtEQUFnQixDQUFBO0lBQ2hCLCtEQUFnQixDQUFBO0lBQ2hCLGlFQUFpQixDQUFBO0lBQ2pCLDZEQUFlLENBQUE7SUFDZiwyREFBYyxDQUFBO0FBQ2xCLENBQUMsRUFSVyxZQUFZLDRCQUFaLFlBQVksUUFRdkIifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from "./IQOptionMarket";
|
|
2
|
+
export * from "./IQOptionTime";
|
|
3
|
+
export * from "./IQOptionName";
|
|
4
|
+
export * from "./IQOptionAction";
|
|
5
|
+
export * from "./IQOptionModel";
|
|
6
|
+
export * from "./IQOptionCandle";
|
|
7
|
+
export * from "./IQOptionProfile";
|
|
8
|
+
export * from "./IQOptionCurrency";
|
|
9
|
+
export * from "./IQOptionCurrencyType";
|
|
10
|
+
export * from "./IQOptionOptionOpened";
|
|
11
|
+
export * from "./IQOptionOptionClosed";
|
|
12
|
+
export * from "./IQOptionInstrumentType";
|
|
13
|
+
export * from "./IQOptionInstruments";
|
|
14
|
+
export * from "./IQOptionInitializationData";
|
|
15
|
+
export * from "./IQOptionResult";
|
|
16
|
+
export * from "./IQOptionMode";
|
|
17
|
+
export * from "./IQOptionMarketInvert";
|
|
@@ -0,0 +1,42 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/*
|
|
18
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
19
|
+
* All Rights Reserved.
|
|
20
|
+
*
|
|
21
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
22
|
+
*
|
|
23
|
+
* Proprietary and confidential.
|
|
24
|
+
*/
|
|
25
|
+
__exportStar(require("./IQOptionMarket"), exports);
|
|
26
|
+
__exportStar(require("./IQOptionTime"), exports);
|
|
27
|
+
__exportStar(require("./IQOptionName"), exports);
|
|
28
|
+
__exportStar(require("./IQOptionAction"), exports);
|
|
29
|
+
__exportStar(require("./IQOptionModel"), exports);
|
|
30
|
+
__exportStar(require("./IQOptionCandle"), exports);
|
|
31
|
+
__exportStar(require("./IQOptionProfile"), exports);
|
|
32
|
+
__exportStar(require("./IQOptionCurrency"), exports);
|
|
33
|
+
__exportStar(require("./IQOptionCurrencyType"), exports);
|
|
34
|
+
__exportStar(require("./IQOptionOptionOpened"), exports);
|
|
35
|
+
__exportStar(require("./IQOptionOptionClosed"), exports);
|
|
36
|
+
__exportStar(require("./IQOptionInstrumentType"), exports);
|
|
37
|
+
__exportStar(require("./IQOptionInstruments"), exports);
|
|
38
|
+
__exportStar(require("./IQOptionInitializationData"), exports);
|
|
39
|
+
__exportStar(require("./IQOptionResult"), exports);
|
|
40
|
+
__exportStar(require("./IQOptionMode"), exports);
|
|
41
|
+
__exportStar(require("./IQOptionMarketInvert"), exports);
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL01vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7OztHQU9HO0FBQ0gsbURBQWlDO0FBQ2pDLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyxtREFBaUM7QUFDakMsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyx5REFBdUM7QUFDdkMseURBQXVDO0FBQ3ZDLHlEQUF1QztBQUN2QywyREFBeUM7QUFDekMsd0RBQXNDO0FBQ3RDLCtEQUE2QztBQUM3QyxtREFBaUM7QUFDakMsaURBQStCO0FBQy9CLHlEQUF1QyJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as Core from "../../../index";
|
|
2
|
+
/**
|
|
3
|
+
* Repository interface for IQ Option data access.
|
|
4
|
+
*/
|
|
5
|
+
export interface IQOptionRepository {
|
|
6
|
+
/**
|
|
7
|
+
* Send message via WebSocket.
|
|
8
|
+
*/
|
|
9
|
+
sendMessage(name: string, msg: any, requestID?: number): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Wait for specific message response.
|
|
12
|
+
*/
|
|
13
|
+
waitForMessage(action: Core.IQOptionAction, requestID?: string | number, timeoutMs?: number): Promise<any>;
|
|
14
|
+
/**
|
|
15
|
+
* Get user profile.
|
|
16
|
+
*/
|
|
17
|
+
getProfile(timeoutMs?: number): Promise<Core.IQOptionProfile>;
|
|
18
|
+
/**
|
|
19
|
+
* Get initialization data.
|
|
20
|
+
*/
|
|
21
|
+
getInitializationData(timeoutMs?: number): Promise<Core.IQOptionInitializationData>;
|
|
22
|
+
/**
|
|
23
|
+
* Get digital option instruments.
|
|
24
|
+
*/
|
|
25
|
+
getDigitalOptionInstruments(market: Core.IQOptionMarket, timeoutMs?: number): Promise<Core.IQOptionInstruments>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVFPcHRpb25SZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9TZXJ2aWNlL0lRT3B0aW9uU2VydmljZS9SZXBvc2l0b3J5L0lRT3B0aW9uUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IWebSocketClient } from "../Interface/IWebSocketClient";
|
|
2
|
+
import { ILogger } from "../../../Helper/Logger";
|
|
3
|
+
import { IQOptionRepository } from "./IQOptionRepository";
|
|
4
|
+
import * as Core from "../../../index";
|
|
5
|
+
/**
|
|
6
|
+
* WebSocket repository implementation.
|
|
7
|
+
*/
|
|
8
|
+
export declare class WebSocketRepository implements IQOptionRepository {
|
|
9
|
+
private readonly wsClient;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly errorHandler;
|
|
12
|
+
constructor(wsClient: IWebSocketClient, logger?: ILogger);
|
|
13
|
+
sendMessage(name: string, msg: any, requestID?: number): Promise<void>;
|
|
14
|
+
waitForMessage(action: Core.IQOptionAction, requestID?: string | number, timeoutMs?: number): Promise<any>;
|
|
15
|
+
getProfile(timeoutMs?: number): Promise<Core.IQOptionProfile>;
|
|
16
|
+
getInitializationData(timeoutMs?: number): Promise<Core.IQOptionInitializationData>;
|
|
17
|
+
getDigitalOptionInstruments(market: Core.IQOptionMarket, timeoutMs?: number): Promise<Core.IQOptionInstruments>;
|
|
18
|
+
private getNextRequestID;
|
|
19
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketRepository = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
9
|
+
*
|
|
10
|
+
* Proprietary and confidential.
|
|
11
|
+
*/
|
|
12
|
+
const WebSocket = require("ws");
|
|
13
|
+
const Core = require("../../../index");
|
|
14
|
+
const TimeoutError_1 = require("../Error/TimeoutError");
|
|
15
|
+
const ErrorHandler_1 = require("../Error/ErrorHandler");
|
|
16
|
+
const RequestIdGenerator_1 = require("../Helper/RequestIdGenerator");
|
|
17
|
+
/**
|
|
18
|
+
* WebSocket repository implementation.
|
|
19
|
+
*/
|
|
20
|
+
class WebSocketRepository {
|
|
21
|
+
constructor(wsClient, logger) {
|
|
22
|
+
this.wsClient = wsClient;
|
|
23
|
+
const { LoggerFactory } = require("../../../Helper/Logger");
|
|
24
|
+
this.logger = logger || LoggerFactory.getDefault();
|
|
25
|
+
this.errorHandler = new ErrorHandler_1.ErrorHandler(this.logger);
|
|
26
|
+
}
|
|
27
|
+
async sendMessage(name, msg, requestID) {
|
|
28
|
+
return this.errorHandler.wrap(async () => {
|
|
29
|
+
await this.wsClient.send(name, msg, requestID);
|
|
30
|
+
}, { operation: "sendMessage", requestId: requestID });
|
|
31
|
+
}
|
|
32
|
+
async waitForMessage(action, requestID, timeoutMs = 5000) {
|
|
33
|
+
return this.errorHandler.wrap(async () => {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
const socket = this.wsClient.socket();
|
|
36
|
+
if (!socket || socket.readyState !== WebSocket.OPEN) {
|
|
37
|
+
reject(new Error("WebSocket is not connected"));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const listener = (message) => {
|
|
41
|
+
var _a;
|
|
42
|
+
try {
|
|
43
|
+
const messageJSON = JSON.parse(message.toString());
|
|
44
|
+
if (messageJSON.name === action) {
|
|
45
|
+
if (requestID !== undefined && messageJSON.request_id !== String(requestID)) {
|
|
46
|
+
return; // Not the message we're waiting for
|
|
47
|
+
}
|
|
48
|
+
socket.off("message", listener);
|
|
49
|
+
if ((_a = messageJSON.msg) === null || _a === void 0 ? void 0 : _a.message) {
|
|
50
|
+
reject(new Error(messageJSON.msg.message));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
resolve(messageJSON.msg);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
socket.off("message", listener);
|
|
59
|
+
reject(error);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
socket.on("message", listener);
|
|
63
|
+
const timeout = setTimeout(() => {
|
|
64
|
+
socket.off("message", listener);
|
|
65
|
+
reject(new TimeoutError_1.TimeoutError(`Timeout waiting for ${action}`, timeoutMs));
|
|
66
|
+
}, timeoutMs);
|
|
67
|
+
});
|
|
68
|
+
}, { operation: "waitForMessage", action, requestId: requestID });
|
|
69
|
+
}
|
|
70
|
+
async getProfile(timeoutMs = 5000) {
|
|
71
|
+
return this.waitForMessage(Core.IQOptionAction.PROFILE, undefined, timeoutMs);
|
|
72
|
+
}
|
|
73
|
+
async getInitializationData(timeoutMs = 5000) {
|
|
74
|
+
const requestID = await this.getNextRequestID();
|
|
75
|
+
await this.sendMessage(Core.IQOptionName.SEND_MESSAGE, {
|
|
76
|
+
name: Core.IQOptionAction.GET_INITIALIZATION_DATA,
|
|
77
|
+
version: "3.0",
|
|
78
|
+
body: {},
|
|
79
|
+
}, requestID);
|
|
80
|
+
return this.waitForMessage(Core.IQOptionAction.INITIALIZATION_DATA, requestID, timeoutMs);
|
|
81
|
+
}
|
|
82
|
+
async getDigitalOptionInstruments(market, timeoutMs = 5000) {
|
|
83
|
+
const requestID = await this.getNextRequestID();
|
|
84
|
+
await this.sendMessage(Core.IQOptionName.SEND_MESSAGE, {
|
|
85
|
+
name: Core.IQOptionAction.GET_DIGITAL_OPTION_INSTRUMENTS,
|
|
86
|
+
version: "1.0",
|
|
87
|
+
body: {
|
|
88
|
+
instrument_type: "digital-option",
|
|
89
|
+
asset_id: market,
|
|
90
|
+
},
|
|
91
|
+
}, requestID);
|
|
92
|
+
return this.waitForMessage(Core.IQOptionAction.GET_DIGITAL_OPTION_INSTRUMENTS, requestID, timeoutMs);
|
|
93
|
+
}
|
|
94
|
+
async getNextRequestID() {
|
|
95
|
+
return RequestIdGenerator_1.RequestIdGenerator.getNext();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.WebSocketRepository = WebSocketRepository;
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU29ja2V0UmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvU2VydmljZS9JUU9wdGlvblNlcnZpY2UvUmVwb3NpdG9yeS9XZWJTb2NrZXRSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCxnQ0FBZ0M7QUFJaEMsdUNBQXVDO0FBQ3ZDLHdEQUFxRDtBQUNyRCx3REFBcUQ7QUFDckQscUVBQWtFO0FBRWxFOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFLNUIsWUFBWSxRQUEwQixFQUFFLE1BQWdCO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLDJCQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQVksRUFBRSxHQUFRLEVBQUUsU0FBa0I7UUFDL0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNyQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FDdkIsTUFBMkIsRUFDM0IsU0FBMkIsRUFDM0IsWUFBb0IsSUFBSTtRQUV4QixPQUFPLElBQUksQ0FBQyxZ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
|
|
@@ -0,0 +1,27 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/*
|
|
18
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
19
|
+
* All Rights Reserved.
|
|
20
|
+
*
|
|
21
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
22
|
+
*
|
|
23
|
+
* Proprietary and confidential.
|
|
24
|
+
*/
|
|
25
|
+
__exportStar(require("./IQOptionRepository"), exports);
|
|
26
|
+
__exportStar(require("./WebSocketRepository"), exports);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL1JlcG9zaXRvcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCx1REFBcUM7QUFDckMsd0RBQXNDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IOrderStrategy } from "./IOrderStrategy";
|
|
2
|
+
import { IQOptionRepository } from "../Repository/IQOptionRepository";
|
|
3
|
+
import { ILogger } from "../../../Helper/Logger";
|
|
4
|
+
import * as Core from "../../../index";
|
|
5
|
+
/**
|
|
6
|
+
* Binary order strategy.
|
|
7
|
+
*/
|
|
8
|
+
export declare class BinaryOrderStrategy implements IOrderStrategy {
|
|
9
|
+
private readonly repository;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly profitPercent;
|
|
12
|
+
constructor(repository: IQOptionRepository, profitPercent: number, logger?: ILogger);
|
|
13
|
+
execute(market: Core.IQOptionMarket, side: Core.IQOptionModel, time: number, userBalanceId: number, amount: number, requestID?: number): Promise<Core.IQOptionOptionOpened>;
|
|
14
|
+
private getNextRequestID;
|
|
15
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BinaryOrderStrategy = void 0;
|
|
4
|
+
const Logger_1 = require("../../../Helper/Logger");
|
|
5
|
+
const Core = require("../../../index");
|
|
6
|
+
const OrderError_1 = require("../Error/OrderError");
|
|
7
|
+
const RequestIdGenerator_1 = require("../Helper/RequestIdGenerator");
|
|
8
|
+
const InputValidator_1 = require("../Helper/InputValidator");
|
|
9
|
+
/**
|
|
10
|
+
* Binary order strategy.
|
|
11
|
+
*/
|
|
12
|
+
class BinaryOrderStrategy {
|
|
13
|
+
constructor(repository, profitPercent, logger) {
|
|
14
|
+
this.repository = repository;
|
|
15
|
+
this.profitPercent = profitPercent;
|
|
16
|
+
this.logger = logger || Logger_1.LoggerFactory.create({ className: "BinaryOrderStrategy" });
|
|
17
|
+
}
|
|
18
|
+
async execute(market, side, time, userBalanceId, amount, requestID) {
|
|
19
|
+
// Validate inputs
|
|
20
|
+
InputValidator_1.InputValidator.validateMarket(market);
|
|
21
|
+
InputValidator_1.InputValidator.validateTime(time);
|
|
22
|
+
InputValidator_1.InputValidator.validateUserBalanceId(userBalanceId);
|
|
23
|
+
InputValidator_1.InputValidator.validateAmount(amount);
|
|
24
|
+
this.logger.debug("Executing binary order", {
|
|
25
|
+
operation: "execute",
|
|
26
|
+
market,
|
|
27
|
+
requestId: requestID,
|
|
28
|
+
metadata: { side, amount },
|
|
29
|
+
});
|
|
30
|
+
try {
|
|
31
|
+
const actualRequestID = requestID || await this.getNextRequestID();
|
|
32
|
+
await this.repository.sendMessage(Core.IQOptionName.SEND_MESSAGE, {
|
|
33
|
+
name: Core.IQOptionAction.BINARY_OPEN_OPTION,
|
|
34
|
+
version: "1.0",
|
|
35
|
+
body: {
|
|
36
|
+
active_id: market,
|
|
37
|
+
direction: side,
|
|
38
|
+
option_type_id: 3,
|
|
39
|
+
expired: time,
|
|
40
|
+
price: amount,
|
|
41
|
+
user_balance_id: userBalanceId,
|
|
42
|
+
refund_value: 0,
|
|
43
|
+
profit_percent: this.profitPercent,
|
|
44
|
+
},
|
|
45
|
+
}, actualRequestID);
|
|
46
|
+
const result = await this.repository.waitForMessage(Core.IQOptionAction.BINARY_OPTION_OPENED, actualRequestID, 5000);
|
|
47
|
+
if (result === null || result === void 0 ? void 0 : result.message) {
|
|
48
|
+
throw new OrderError_1.OrderError(result.message, { market, side, amount });
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
this.logger.error("Binary order failed", {
|
|
54
|
+
operation: "execute",
|
|
55
|
+
market,
|
|
56
|
+
metadata: { side, amount },
|
|
57
|
+
}, error instanceof Error ? error : new Error(String(error)));
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async getNextRequestID() {
|
|
62
|
+
return RequestIdGenerator_1.RequestIdGenerator.getNext();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.BinaryOrderStrategy = BinaryOrderStrategy;
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluYXJ5T3JkZXJTdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvU2VydmljZS9JUU9wdGlvblNlcnZpY2UvU3RyYXRlZ3kvQmluYXJ5T3JkZXJTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxtREFBdUQ7QUFDdkQsdUNBQXVDO0FBQ3ZDLG9EQUFpRDtBQUNqRCxxRUFBa0U7QUFDbEUsNkRBQTBEO0FBRTFEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFLNUIsWUFBWSxVQUE4QixFQUFFLGFBQXFCLEVBQUUsTUFBZ0I7UUFDL0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksc0JBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUNoQixNQUEyQixFQUMzQixJQUF3QixFQUN4QixJQUFZLEVBQ1osYUFBcUIsRUFDckIsTUFBYyxFQUNkLFNBQWtCO1FBRWxCLGtCQUFrQjtRQUNsQiwrQkFBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QywrQkFBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQywrQkFBYyxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELCtCQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFO1lBQ3hDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU07WUFDTixTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQztZQUNELE1BQU0sZUFBZSxHQUFHLFNBQVMsSUFBSSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25FLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUM5QjtnQkFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7Z0JBQzVDLE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRTtvQkFDRixTQUFTLEVBQUUsTUFBTTtvQkFDakIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxNQUFNO29CQUNiLGVBQWUsRUFBRSxhQUFhO29CQUM5QixZQUFZLEVBQUUsQ0FBQztvQkFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7aUJBQ3JDO2FBQ0osRUFDRCxlQUFlLENBQ2xCLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUN4QyxlQUFlLEVBQ2YsSUFBSSxDQUNQLENBQUM7WUFFRixJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxJQUFJLHVCQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRTtnQkFDckMsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLE1BQU07Z0JBQ04sUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUM3QixFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxNQUFNLEtBQUssQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0I7UUFDMUIsT0FBTyx1Q0FBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUE3RUQsa0RBNkVDIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IOrderStrategy } from "./IOrderStrategy";
|
|
2
|
+
import { IQOptionRepository } from "../Repository/IQOptionRepository";
|
|
3
|
+
import { ILogger } from "../../../Helper/Logger";
|
|
4
|
+
import * as Core from "../../../index";
|
|
5
|
+
/**
|
|
6
|
+
* Digital order strategy.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DigitalOrderStrategy implements IOrderStrategy {
|
|
9
|
+
private readonly repository;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly instrumentIndex;
|
|
12
|
+
constructor(repository: IQOptionRepository, instrumentIndex: number, logger?: ILogger);
|
|
13
|
+
execute(market: Core.IQOptionMarket, side: Core.IQOptionModel, time: number, userBalanceId: number, amount: number, requestID?: number): Promise<Core.IQOptionOptionOpened>;
|
|
14
|
+
private getNextRequestID;
|
|
15
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DigitalOrderStrategy = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
9
|
+
*
|
|
10
|
+
* Proprietary and confidential.
|
|
11
|
+
*/
|
|
12
|
+
const moment = require("moment-timezone");
|
|
13
|
+
const Logger_1 = require("../../../Helper/Logger");
|
|
14
|
+
const Core = require("../../../index");
|
|
15
|
+
const OrderError_1 = require("../Error/OrderError");
|
|
16
|
+
const RequestIdGenerator_1 = require("../Helper/RequestIdGenerator");
|
|
17
|
+
const InputValidator_1 = require("../Helper/InputValidator");
|
|
18
|
+
/**
|
|
19
|
+
* Digital order strategy.
|
|
20
|
+
*/
|
|
21
|
+
class DigitalOrderStrategy {
|
|
22
|
+
constructor(repository, instrumentIndex, logger) {
|
|
23
|
+
this.repository = repository;
|
|
24
|
+
this.instrumentIndex = instrumentIndex;
|
|
25
|
+
this.logger = logger || Logger_1.LoggerFactory.create({ className: "DigitalOrderStrategy" });
|
|
26
|
+
}
|
|
27
|
+
async execute(market, side, time, userBalanceId, amount, requestID) {
|
|
28
|
+
// Validate inputs
|
|
29
|
+
InputValidator_1.InputValidator.validateMarket(market);
|
|
30
|
+
InputValidator_1.InputValidator.validateTime(time);
|
|
31
|
+
InputValidator_1.InputValidator.validateUserBalanceId(userBalanceId);
|
|
32
|
+
InputValidator_1.InputValidator.validateAmount(amount);
|
|
33
|
+
this.logger.debug("Executing digital order", {
|
|
34
|
+
operation: "execute",
|
|
35
|
+
market,
|
|
36
|
+
requestId: requestID,
|
|
37
|
+
metadata: { side, amount },
|
|
38
|
+
});
|
|
39
|
+
try {
|
|
40
|
+
const timeCalculated = Math.floor(parseInt(moment().tz("UTC").add(time, "minutes").format("mm"), 10) / time) * time;
|
|
41
|
+
const timeStr = moment
|
|
42
|
+
.tz(moment().tz("UTC").format("YYYY-MM-DD HH:00:00"), "UTC")
|
|
43
|
+
.add(timeCalculated, "minutes")
|
|
44
|
+
.format("HHmmss");
|
|
45
|
+
const sideDigital = side === Core.IQOptionModel.BUY ? "C" : "P";
|
|
46
|
+
const date = moment().tz("UTC").format("YYYYMMDD");
|
|
47
|
+
const instrumentId = `do${market}A${date}D${timeStr}T${time}M${sideDigital}SPT`;
|
|
48
|
+
const actualRequestID = requestID || await this.getNextRequestID();
|
|
49
|
+
await this.repository.sendMessage(Core.IQOptionName.SEND_MESSAGE, {
|
|
50
|
+
name: Core.IQOptionAction.DIGITAL_OPEN_OPTION,
|
|
51
|
+
version: "2.0",
|
|
52
|
+
body: {
|
|
53
|
+
user_balance_id: userBalanceId,
|
|
54
|
+
instrument_id: instrumentId,
|
|
55
|
+
amount: String(amount),
|
|
56
|
+
asset_id: market,
|
|
57
|
+
instrument_index: this.instrumentIndex,
|
|
58
|
+
},
|
|
59
|
+
}, actualRequestID);
|
|
60
|
+
const result = await this.repository.waitForMessage(Core.IQOptionAction.DIGITAL_OPEN_PLACED, actualRequestID, 5000);
|
|
61
|
+
if ((result === null || result === void 0 ? void 0 : result.status) === 5000) {
|
|
62
|
+
throw new OrderError_1.OrderError(result.message || "Digital order rejected", { market, side, amount });
|
|
63
|
+
}
|
|
64
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 2000) {
|
|
65
|
+
throw new OrderError_1.OrderError("Unexpected status in digital order response", { market, side, amount, status: result === null || result === void 0 ? void 0 : result.status });
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.logger.error("Digital order failed", {
|
|
71
|
+
operation: "execute",
|
|
72
|
+
market,
|
|
73
|
+
metadata: { side, amount },
|
|
74
|
+
}, error instanceof Error ? error : new Error(String(error)));
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async getNextRequestID() {
|
|
79
|
+
return RequestIdGenerator_1.RequestIdGenerator.getNext();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.DigitalOrderStrategy = DigitalOrderStrategy;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlnaXRhbE9yZGVyU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL1N0cmF0ZWd5L0RpZ2l0YWxPcmRlclN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCwwQ0FBMEM7QUFJMUMsbURBQXVEO0FBQ3ZELHVDQUF1QztBQUN2QyxvREFBaUQ7QUFDakQscUVBQWtFO0FBQ2xFLDZEQUEwRDtBQUUxRDs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBSzdCLFlBQVksVUFBOEIsRUFBRSxlQUF1QixFQUFFLE1BQWdCO1FBQ2pGLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLHNCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDaEIsTUFBMkIsRUFDM0IsSUFBd0IsRUFDeEIsSUFBWSxFQUNaLGFBQXFCLEVBQ3JCLE1BQWMsRUFDZCxTQUFrQjtRQUVsQixrQkFBa0I7UUFDbEIsK0JBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsK0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsK0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCwrQkFBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtZQUN6QyxTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNO1lBQ04sU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFB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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Core from "../../../index";
|
|
2
|
+
/**
|
|
3
|
+
* Order strategy interface.
|
|
4
|
+
*/
|
|
5
|
+
export interface IOrderStrategy {
|
|
6
|
+
/**
|
|
7
|
+
* Execute order.
|
|
8
|
+
*/
|
|
9
|
+
execute(market: Core.IQOptionMarket, side: Core.IQOptionModel, time: number, userBalanceId: number, amount: number, requestID?: number): Promise<Core.IQOptionOptionOpened>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9yZGVyU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL1N0cmF0ZWd5L0lPcmRlclN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/*
|
|
18
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
19
|
+
* All Rights Reserved.
|
|
20
|
+
*
|
|
21
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
22
|
+
*
|
|
23
|
+
* Proprietary and confidential.
|
|
24
|
+
*/
|
|
25
|
+
__exportStar(require("./IOrderStrategy"), exports);
|
|
26
|
+
__exportStar(require("./BinaryOrderStrategy"), exports);
|
|
27
|
+
__exportStar(require("./DigitalOrderStrategy"), exports);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL1N0cmF0ZWd5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7OztHQU9HO0FBQ0gsbURBQWlDO0FBQ2pDLHdEQUFzQztBQUN0Qyx5REFBdUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./Model";
|
|
2
|
+
export * from "./IQOptionApi";
|
|
3
|
+
export * from "./IQOptionExpired";
|
|
4
|
+
export * from "./IQOptionStreamCandleGenerated";
|
|
5
|
+
export * from "./IQOptionStreamOptionClose";
|
|
6
|
+
export * from "./IQOptionStreamTradersSentiment";
|
|
7
|
+
export * from "./IQOptionStreamUserAlerts";
|
|
8
|
+
export * from "./Interface";
|
|
9
|
+
export * from "./Error";
|
|
10
|
+
export * from "./Repository";
|
|
11
|
+
export * from "./Strategy";
|
|
12
|
+
export * from "./Factory";
|
|
13
|
+
export * from "./Builder";
|
|
14
|
+
export * from "./Command";
|
|
15
|
+
export * from "./Adapter";
|
|
16
|
+
export * from "./Helper";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
4
|
+
* All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
7
|
+
*
|
|
8
|
+
* Proprietary and confidential.
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
__exportStar(require("./Model"), exports);
|
|
26
|
+
__exportStar(require("./IQOptionApi"), exports);
|
|
27
|
+
__exportStar(require("./IQOptionExpired"), exports);
|
|
28
|
+
__exportStar(require("./IQOptionStreamCandleGenerated"), exports);
|
|
29
|
+
__exportStar(require("./IQOptionStreamOptionClose"), exports);
|
|
30
|
+
__exportStar(require("./IQOptionStreamTradersSentiment"), exports);
|
|
31
|
+
__exportStar(require("./IQOptionStreamUserAlerts"), exports);
|
|
32
|
+
__exportStar(require("./Interface"), exports);
|
|
33
|
+
__exportStar(require("./Error"), exports);
|
|
34
|
+
__exportStar(require("./Repository"), exports);
|
|
35
|
+
__exportStar(require("./Strategy"), exports);
|
|
36
|
+
__exportStar(require("./Factory"), exports);
|
|
37
|
+
__exportStar(require("./Builder"), exports);
|
|
38
|
+
__exportStar(require("./Command"), exports);
|
|
39
|
+
__exportStar(require("./Adapter"), exports);
|
|
40
|
+
__exportStar(require("./Helper"), exports);
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMENBQXdCO0FBQ3hCLGdEQUE4QjtBQUM5QixvREFBa0M7QUFDbEMsa0VBQWdEO0FBQ2hELDhEQUE0QztBQUM1QyxtRUFBaUQ7QUFDakQsNkRBQTJDO0FBQzNDLDhDQUE0QjtBQUM1QiwwQ0FBd0I7QUFDeEIsK0NBQTZCO0FBQzdCLDZDQUEyQjtBQUMzQiw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiw0Q0FBMEI7QUFDMUIsMkNBQXlCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./IQOptionService";
|
|
@@ -0,0 +1,26 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/*
|
|
18
|
+
* Copyright (C) 2020 Wellington Rocha
|
|
19
|
+
* All Rights Reserved.
|
|
20
|
+
*
|
|
21
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
22
|
+
*
|
|
23
|
+
* Proprietary and confidential.
|
|
24
|
+
*/
|
|
25
|
+
__exportStar(require("./IQOptionService"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCxvREFBa0MifQ==
|