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.
Files changed (155) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +531 -0
  3. package/dist/bin/IQOption.d.ts +2 -0
  4. package/dist/bin/IQOption.js +100 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +26 -0
  7. package/dist/lib/Helper/Logger/ILogger.d.ts +39 -0
  8. package/dist/lib/Helper/Logger/ILogger.js +3 -0
  9. package/dist/lib/Helper/Logger/LogLevel.d.ts +10 -0
  10. package/dist/lib/Helper/Logger/LogLevel.js +23 -0
  11. package/dist/lib/Helper/Logger/LoggerContext.d.ts +59 -0
  12. package/dist/lib/Helper/Logger/LoggerContext.js +49 -0
  13. package/dist/lib/Helper/Logger/LoggerFactory.d.ts +22 -0
  14. package/dist/lib/Helper/Logger/LoggerFactory.js +87 -0
  15. package/dist/lib/Helper/Logger/WinstonLogger.d.ts +21 -0
  16. package/dist/lib/Helper/Logger/WinstonLogger.js +56 -0
  17. package/dist/lib/Helper/Logger/index.d.ts +5 -0
  18. package/dist/lib/Helper/Logger/index.js +30 -0
  19. package/dist/lib/Helper/LoggerHelper.d.ts +11 -0
  20. package/dist/lib/Helper/LoggerHelper.js +48 -0
  21. package/dist/lib/Helper/SleepHelper.d.ts +6 -0
  22. package/dist/lib/Helper/SleepHelper.js +15 -0
  23. package/dist/lib/Helper/index.d.ts +3 -0
  24. package/dist/lib/Helper/index.js +20 -0
  25. package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.d.ts +16 -0
  26. package/dist/lib/Service/IQOptionService/Adapter/StreamAdapter.js +47 -0
  27. package/dist/lib/Service/IQOptionService/Adapter/index.d.ts +1 -0
  28. package/dist/lib/Service/IQOptionService/Adapter/index.js +26 -0
  29. package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.d.ts +44 -0
  30. package/dist/lib/Service/IQOptionService/Builder/OrderBuilder.js +91 -0
  31. package/dist/lib/Service/IQOptionService/Builder/OrderRequest.d.ts +28 -0
  32. package/dist/lib/Service/IQOptionService/Builder/OrderRequest.js +20 -0
  33. package/dist/lib/Service/IQOptionService/Builder/index.d.ts +2 -0
  34. package/dist/lib/Service/IQOptionService/Builder/index.js +27 -0
  35. package/dist/lib/Service/IQOptionService/Command/CommandInvoker.d.ts +13 -0
  36. package/dist/lib/Service/IQOptionService/Command/CommandInvoker.js +35 -0
  37. package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.d.ts +13 -0
  38. package/dist/lib/Service/IQOptionService/Command/GetProfileCommand.js +20 -0
  39. package/dist/lib/Service/IQOptionService/Command/ICommand.d.ts +13 -0
  40. package/dist/lib/Service/IQOptionService/Command/ICommand.js +11 -0
  41. package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.d.ts +14 -0
  42. package/dist/lib/Service/IQOptionService/Command/SendOrderCommand.js +20 -0
  43. package/dist/lib/Service/IQOptionService/Command/index.d.ts +4 -0
  44. package/dist/lib/Service/IQOptionService/Command/index.js +29 -0
  45. package/dist/lib/Service/IQOptionService/Error/AuthenticationError.d.ts +7 -0
  46. package/dist/lib/Service/IQOptionService/Error/AuthenticationError.js +22 -0
  47. package/dist/lib/Service/IQOptionService/Error/ConnectionError.d.ts +7 -0
  48. package/dist/lib/Service/IQOptionService/Error/ConnectionError.js +22 -0
  49. package/dist/lib/Service/IQOptionService/Error/ErrorHandler.d.ts +17 -0
  50. package/dist/lib/Service/IQOptionService/Error/ErrorHandler.js +58 -0
  51. package/dist/lib/Service/IQOptionService/Error/IQOptionError.d.ts +15 -0
  52. package/dist/lib/Service/IQOptionService/Error/IQOptionError.js +46 -0
  53. package/dist/lib/Service/IQOptionService/Error/OrderError.d.ts +7 -0
  54. package/dist/lib/Service/IQOptionService/Error/OrderError.js +22 -0
  55. package/dist/lib/Service/IQOptionService/Error/RetryStrategy.d.ts +42 -0
  56. package/dist/lib/Service/IQOptionService/Error/RetryStrategy.js +67 -0
  57. package/dist/lib/Service/IQOptionService/Error/Retryable.d.ts +20 -0
  58. package/dist/lib/Service/IQOptionService/Error/Retryable.js +36 -0
  59. package/dist/lib/Service/IQOptionService/Error/TimeoutError.d.ts +7 -0
  60. package/dist/lib/Service/IQOptionService/Error/TimeoutError.js +23 -0
  61. package/dist/lib/Service/IQOptionService/Error/index.d.ts +8 -0
  62. package/dist/lib/Service/IQOptionService/Error/index.js +33 -0
  63. package/dist/lib/Service/IQOptionService/Factory/StreamFactory.d.ts +17 -0
  64. package/dist/lib/Service/IQOptionService/Factory/StreamFactory.js +43 -0
  65. package/dist/lib/Service/IQOptionService/Factory/StreamType.d.ts +9 -0
  66. package/dist/lib/Service/IQOptionService/Factory/StreamType.js +22 -0
  67. package/dist/lib/Service/IQOptionService/Factory/index.d.ts +2 -0
  68. package/dist/lib/Service/IQOptionService/Factory/index.js +27 -0
  69. package/dist/lib/Service/IQOptionService/Helper/InputValidator.d.ts +34 -0
  70. package/dist/lib/Service/IQOptionService/Helper/InputValidator.js +101 -0
  71. package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.d.ts +18 -0
  72. package/dist/lib/Service/IQOptionService/Helper/RequestIdGenerator.js +37 -0
  73. package/dist/lib/Service/IQOptionService/Helper/index.d.ts +2 -0
  74. package/dist/lib/Service/IQOptionService/Helper/index.js +27 -0
  75. package/dist/lib/Service/IQOptionService/IQOptionApi.d.ts +96 -0
  76. package/dist/lib/Service/IQOptionService/IQOptionApi.js +343 -0
  77. package/dist/lib/Service/IQOptionService/IQOptionExpired.d.ts +7 -0
  78. package/dist/lib/Service/IQOptionService/IQOptionExpired.js +27 -0
  79. package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.d.ts +55 -0
  80. package/dist/lib/Service/IQOptionService/IQOptionStreamCandleGenerated.js +88 -0
  81. package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.d.ts +33 -0
  82. package/dist/lib/Service/IQOptionService/IQOptionStreamOptionClose.js +59 -0
  83. package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.d.ts +46 -0
  84. package/dist/lib/Service/IQOptionService/IQOptionStreamTradersSentiment.js +84 -0
  85. package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.d.ts +40 -0
  86. package/dist/lib/Service/IQOptionService/IQOptionStreamUserAlerts.js +79 -0
  87. package/dist/lib/Service/IQOptionService/IQOptionWrapper.d.ts +51 -0
  88. package/dist/lib/Service/IQOptionService/IQOptionWrapper.js +111 -0
  89. package/dist/lib/Service/IQOptionService/IQOptionWs.d.ts +56 -0
  90. package/dist/lib/Service/IQOptionService/IQOptionWs.js +125 -0
  91. package/dist/lib/Service/IQOptionService/Interface/IAuthService.d.ts +12 -0
  92. package/dist/lib/Service/IQOptionService/Interface/IAuthService.js +11 -0
  93. package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.d.ts +9 -0
  94. package/dist/lib/Service/IQOptionService/Interface/IIQOptionStream.js +11 -0
  95. package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.d.ts +26 -0
  96. package/dist/lib/Service/IQOptionService/Interface/IWebSocketClient.js +3 -0
  97. package/dist/lib/Service/IQOptionService/Interface/index.d.ts +3 -0
  98. package/dist/lib/Service/IQOptionService/Interface/index.js +28 -0
  99. package/dist/lib/Service/IQOptionService/Model/IQOptionAction.d.ts +23 -0
  100. package/dist/lib/Service/IQOptionService/Model/IQOptionAction.js +36 -0
  101. package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.d.ts +61 -0
  102. package/dist/lib/Service/IQOptionService/Model/IQOptionCandle.js +11 -0
  103. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.d.ts +9 -0
  104. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrency.js +22 -0
  105. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.d.ts +8 -0
  106. package/dist/lib/Service/IQOptionService/Model/IQOptionCurrencyType.js +21 -0
  107. package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.d.ts +117 -0
  108. package/dist/lib/Service/IQOptionService/Model/IQOptionInitializationData.js +14 -0
  109. package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.d.ts +4 -0
  110. package/dist/lib/Service/IQOptionService/Model/IQOptionInstrumentType.js +9 -0
  111. package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.d.ts +22 -0
  112. package/dist/lib/Service/IQOptionService/Model/IQOptionInstruments.js +3 -0
  113. package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.d.ts +100 -0
  114. package/dist/lib/Service/IQOptionService/Model/IQOptionMarket.js +113 -0
  115. package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.d.ts +6 -0
  116. package/dist/lib/Service/IQOptionService/Model/IQOptionMarketInvert.js +108 -0
  117. package/dist/lib/Service/IQOptionService/Model/IQOptionMode.d.ts +7 -0
  118. package/dist/lib/Service/IQOptionService/Model/IQOptionMode.js +20 -0
  119. package/dist/lib/Service/IQOptionService/Model/IQOptionModel.d.ts +13 -0
  120. package/dist/lib/Service/IQOptionService/Model/IQOptionModel.js +26 -0
  121. package/dist/lib/Service/IQOptionService/Model/IQOptionName.d.ts +8 -0
  122. package/dist/lib/Service/IQOptionService/Model/IQOptionName.js +21 -0
  123. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.d.ts +43 -0
  124. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionClosed.js +11 -0
  125. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.d.ts +39 -0
  126. package/dist/lib/Service/IQOptionService/Model/IQOptionOptionOpened.js +11 -0
  127. package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.d.ts +152 -0
  128. package/dist/lib/Service/IQOptionService/Model/IQOptionProfile.js +11 -0
  129. package/dist/lib/Service/IQOptionService/Model/IQOptionResult.d.ts +17 -0
  130. package/dist/lib/Service/IQOptionService/Model/IQOptionResult.js +30 -0
  131. package/dist/lib/Service/IQOptionService/Model/IQOptionTime.d.ts +12 -0
  132. package/dist/lib/Service/IQOptionService/Model/IQOptionTime.js +25 -0
  133. package/dist/lib/Service/IQOptionService/Model/index.d.ts +17 -0
  134. package/dist/lib/Service/IQOptionService/Model/index.js +42 -0
  135. package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.d.ts +26 -0
  136. package/dist/lib/Service/IQOptionService/Repository/IQOptionRepository.js +3 -0
  137. package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.d.ts +19 -0
  138. package/dist/lib/Service/IQOptionService/Repository/WebSocketRepository.js +99 -0
  139. package/dist/lib/Service/IQOptionService/Repository/index.d.ts +2 -0
  140. package/dist/lib/Service/IQOptionService/Repository/index.js +27 -0
  141. package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.d.ts +15 -0
  142. package/dist/lib/Service/IQOptionService/Strategy/BinaryOrderStrategy.js +66 -0
  143. package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.d.ts +15 -0
  144. package/dist/lib/Service/IQOptionService/Strategy/DigitalOrderStrategy.js +83 -0
  145. package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.d.ts +10 -0
  146. package/dist/lib/Service/IQOptionService/Strategy/IOrderStrategy.js +3 -0
  147. package/dist/lib/Service/IQOptionService/Strategy/index.d.ts +3 -0
  148. package/dist/lib/Service/IQOptionService/Strategy/index.js +28 -0
  149. package/dist/lib/Service/IQOptionService/index.d.ts +16 -0
  150. package/dist/lib/Service/IQOptionService/index.js +41 -0
  151. package/dist/lib/Service/index.d.ts +1 -0
  152. package/dist/lib/Service/index.js +26 -0
  153. package/dist/lib/index.d.ts +2 -0
  154. package/dist/lib/index.js +27 -0
  155. package/package.json +67 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Options times.
3
+ */
4
+ export declare enum IQOptionTime {
5
+ FIFTEEN_MINUTES = 15,
6
+ TEN_MINUTES = 10,
7
+ FIVE_MINUTES = 5,
8
+ FOUR_MINUTES = 4,
9
+ THREE_MINUTES = 3,
10
+ TWO_MINUTES = 2,
11
+ ONE_MINUTE = 1
12
+ }
@@ -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,2 @@
1
+ export * from "./IQOptionRepository";
2
+ export * from "./WebSocketRepository";
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlnaXRhbE9yZGVyU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL1NlcnZpY2UvSVFPcHRpb25TZXJ2aWNlL1N0cmF0ZWd5L0RpZ2l0YWxPcmRlclN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7O0dBT0c7QUFDSCwwQ0FBMEM7QUFJMUMsbURBQXVEO0FBQ3ZELHVDQUF1QztBQUN2QyxvREFBaUQ7QUFDakQscUVBQWtFO0FBQ2xFLDZEQUEwRDtBQUUxRDs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBSzdCLFlBQVksVUFBOEIsRUFBRSxlQUF1QixFQUFFLE1BQWdCO1FBQ2pGLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLHNCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDaEIsTUFBMkIsRUFDM0IsSUFBd0IsRUFDeEIsSUFBWSxFQUNaLGFBQXFCLEVBQ3JCLE1BQWMsRUFDZCxTQUFrQjtRQUVsQixrQkFBa0I7UUFDbEIsK0JBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsK0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsK0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCwrQkFBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtZQUN6QyxTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNO1lBQ04sU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtTQUM3QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUM7WUFDRCxNQUFNLGNBQWMsR0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FDTixRQUFRLENBQ0osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUNwRCxFQUFFLENBQ0wsR0FBRyxJQUFJLENBQ1gsR0FBRyxJQUFJLENBQUM7WUFDYixNQUFNLE9BQU8sR0FBRyxNQUFNO2lCQUNqQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssQ0FBQztpQkFDM0QsR0FBRyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUM7aUJBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsTUFBTSxZQUFZLEdBQUcsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksV0FBVyxLQUFLLENBQUM7WUFFaEYsTUFBTSxlQUFlLEdBQUcsU0FBUyxJQUFJLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQzlCO2dCQUNJLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQjtnQkFDN0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFO29CQUNGLGVBQWUsRUFBRSxhQUFhO29CQUM5QixhQUFhLEVBQUUsWUFBWTtvQkFDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7b0JBQ3RCLFFBQVEsRUFBRSxNQUFNO29CQUNoQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZUFBZTtpQkFDekM7YUFDSixFQUNELGVBQWUsQ0FDbEIsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQ3ZDLGVBQWUsRUFDZixJQUFJLENBQ1AsQ0FBQztZQUVGLElBQUksQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxNQUFLLElBQUksRUFBRSxDQUFDO2dCQUMxQixNQUFNLElBQUksdUJBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLENBQUM7WUFFRCxJQUFJLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sTUFBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxJQUFJLHVCQUFVLENBQUMsNkNBQTZDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDMUgsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUU7Z0JBQ3RDLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixNQUFNO2dCQUNOLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDN0IsRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxLQUFLLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCO1FBQzFCLE9BQU8sdUNBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBN0ZELG9EQTZGQyJ9
@@ -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,3 @@
1
+ export * from "./IOrderStrategy";
2
+ export * from "./BinaryOrderStrategy";
3
+ export * from "./DigitalOrderStrategy";
@@ -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==
@@ -0,0 +1,2 @@
1
+ export * from "./Helper";
2
+ export * from "./Service";