@himalaya-quant/ctrader-x 0.0.7

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 (308) hide show
  1. package/.env +6 -0
  2. package/.prettierrc +7 -0
  3. package/README.md +96 -0
  4. package/changelog.md +46 -0
  5. package/dist/src/classes/client.d.ts +21 -0
  6. package/dist/src/classes/client.d.ts.map +1 -0
  7. package/dist/src/classes/client.js +83 -0
  8. package/dist/src/classes/client.js.map +1 -0
  9. package/dist/src/classes/client.test.d.ts +2 -0
  10. package/dist/src/classes/client.test.d.ts.map +1 -0
  11. package/dist/src/classes/client.test.js +83 -0
  12. package/dist/src/classes/client.test.js.map +1 -0
  13. package/dist/src/classes/errors/client-not-connected.error.d.ts +5 -0
  14. package/dist/src/classes/errors/client-not-connected.error.d.ts.map +1 -0
  15. package/dist/src/classes/errors/client-not-connected.error.js +11 -0
  16. package/dist/src/classes/errors/client-not-connected.error.js.map +1 -0
  17. package/dist/src/classes/errors/connection.error.d.ts +5 -0
  18. package/dist/src/classes/errors/connection.error.d.ts.map +1 -0
  19. package/dist/src/classes/errors/connection.error.js +11 -0
  20. package/dist/src/classes/errors/connection.error.js.map +1 -0
  21. package/dist/src/classes/logger.d.ts +13 -0
  22. package/dist/src/classes/logger.d.ts.map +1 -0
  23. package/dist/src/classes/logger.js +21 -0
  24. package/dist/src/classes/logger.js.map +1 -0
  25. package/dist/src/classes/managers/authentication/authentication.manager.d.ts +13 -0
  26. package/dist/src/classes/managers/authentication/authentication.manager.d.ts.map +1 -0
  27. package/dist/src/classes/managers/authentication/authentication.manager.js +49 -0
  28. package/dist/src/classes/managers/authentication/authentication.manager.js.map +1 -0
  29. package/dist/src/classes/managers/authentication/authentication.manager.test.d.ts +2 -0
  30. package/dist/src/classes/managers/authentication/authentication.manager.test.d.ts.map +1 -0
  31. package/dist/src/classes/managers/authentication/authentication.manager.test.js +114 -0
  32. package/dist/src/classes/managers/authentication/authentication.manager.test.js.map +1 -0
  33. package/dist/src/classes/managers/authentication/errors/application-auth.error.d.ts +5 -0
  34. package/dist/src/classes/managers/authentication/errors/application-auth.error.d.ts.map +1 -0
  35. package/dist/src/classes/managers/authentication/errors/application-auth.error.js +11 -0
  36. package/dist/src/classes/managers/authentication/errors/application-auth.error.js.map +1 -0
  37. package/dist/src/classes/managers/authentication/errors/user-auth.error.d.ts +5 -0
  38. package/dist/src/classes/managers/authentication/errors/user-auth.error.d.ts.map +1 -0
  39. package/dist/src/classes/managers/authentication/errors/user-auth.error.js +11 -0
  40. package/dist/src/classes/managers/authentication/errors/user-auth.error.js.map +1 -0
  41. package/dist/src/classes/managers/models/base.manager.d.ts +15 -0
  42. package/dist/src/classes/managers/models/base.manager.d.ts.map +1 -0
  43. package/dist/src/classes/managers/models/base.manager.js +35 -0
  44. package/dist/src/classes/managers/models/base.manager.js.map +1 -0
  45. package/dist/src/classes/managers/models/credentials.model.d.ts +8 -0
  46. package/dist/src/classes/managers/models/credentials.model.d.ts.map +1 -0
  47. package/dist/src/classes/managers/models/credentials.model.js +3 -0
  48. package/dist/src/classes/managers/models/credentials.model.js.map +1 -0
  49. package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.d.ts +5 -0
  50. package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.d.ts.map +1 -0
  51. package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.js +11 -0
  52. package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.js.map +1 -0
  53. package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.d.ts +5 -0
  54. package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.d.ts.map +1 -0
  55. package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.js +11 -0
  56. package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.js.map +1 -0
  57. package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.d.ts +6 -0
  58. package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.d.ts.map +1 -0
  59. package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.js +13 -0
  60. package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.js.map +1 -0
  61. package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.d.ts +8 -0
  62. package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.d.ts.map +1 -0
  63. package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.js +17 -0
  64. package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.js.map +1 -0
  65. package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.d.ts +5 -0
  66. package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.d.ts.map +1 -0
  67. package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.js +11 -0
  68. package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.js.map +1 -0
  69. package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.d.ts +5 -0
  70. package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.d.ts.map +1 -0
  71. package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.js +11 -0
  72. package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.js.map +1 -0
  73. package/dist/src/classes/managers/symbols/symbols-updates.manager.d.ts +54 -0
  74. package/dist/src/classes/managers/symbols/symbols-updates.manager.d.ts.map +1 -0
  75. package/dist/src/classes/managers/symbols/symbols-updates.manager.js +250 -0
  76. package/dist/src/classes/managers/symbols/symbols-updates.manager.js.map +1 -0
  77. package/dist/src/classes/managers/symbols/symbols.manager.d.ts +30 -0
  78. package/dist/src/classes/managers/symbols/symbols.manager.d.ts.map +1 -0
  79. package/dist/src/classes/managers/symbols/symbols.manager.js +78 -0
  80. package/dist/src/classes/managers/symbols/symbols.manager.js.map +1 -0
  81. package/dist/src/classes/managers/symbols/symbols.manager.test.d.ts +2 -0
  82. package/dist/src/classes/managers/symbols/symbols.manager.test.d.ts.map +1 -0
  83. package/dist/src/classes/managers/symbols/symbols.manager.test.js +364 -0
  84. package/dist/src/classes/managers/symbols/symbols.manager.test.js.map +1 -0
  85. package/dist/src/classes/models/client-configuration.model.d.ts +10 -0
  86. package/dist/src/classes/models/client-configuration.model.d.ts.map +1 -0
  87. package/dist/src/classes/models/client-configuration.model.js +3 -0
  88. package/dist/src/classes/models/client-configuration.model.js.map +1 -0
  89. package/dist/src/classes/models/ctrader-x-error.model.d.ts +6 -0
  90. package/dist/src/classes/models/ctrader-x-error.model.d.ts.map +1 -0
  91. package/dist/src/classes/models/ctrader-x-error.model.js +21 -0
  92. package/dist/src/classes/models/ctrader-x-error.model.js.map +1 -0
  93. package/dist/src/config/config.d.ts +10 -0
  94. package/dist/src/config/config.d.ts.map +1 -0
  95. package/dist/src/config/config.js +40 -0
  96. package/dist/src/config/config.js.map +1 -0
  97. package/dist/src/examples/authentication.example.d.ts +2 -0
  98. package/dist/src/examples/authentication.example.d.ts.map +1 -0
  99. package/dist/src/examples/authentication.example.js +9 -0
  100. package/dist/src/examples/authentication.example.js.map +1 -0
  101. package/dist/src/examples/get-symbols-bars.example.d.ts +2 -0
  102. package/dist/src/examples/get-symbols-bars.example.d.ts.map +1 -0
  103. package/dist/src/examples/get-symbols-bars.example.js +18 -0
  104. package/dist/src/examples/get-symbols-bars.example.js.map +1 -0
  105. package/dist/src/examples/get-symbols-list.example.d.ts +2 -0
  106. package/dist/src/examples/get-symbols-list.example.d.ts.map +1 -0
  107. package/dist/src/examples/get-symbols-list.example.js +13 -0
  108. package/dist/src/examples/get-symbols-list.example.js.map +1 -0
  109. package/dist/src/examples/subscribe-live-bars.example.d.ts +2 -0
  110. package/dist/src/examples/subscribe-live-bars.example.d.ts.map +1 -0
  111. package/dist/src/examples/subscribe-live-bars.example.js +42 -0
  112. package/dist/src/examples/subscribe-live-bars.example.js.map +1 -0
  113. package/dist/src/index.d.ts +4 -0
  114. package/dist/src/index.d.ts.map +1 -0
  115. package/dist/src/index.js +20 -0
  116. package/dist/src/index.js.map +1 -0
  117. package/dist/src/models/common/ohlcv.d.ts +10 -0
  118. package/dist/src/models/common/ohlcv.d.ts.map +1 -0
  119. package/dist/src/models/common/ohlcv.js +13 -0
  120. package/dist/src/models/common/ohlcv.js.map +1 -0
  121. package/dist/src/models/proto/base-proto.d.ts +5 -0
  122. package/dist/src/models/proto/base-proto.d.ts.map +1 -0
  123. package/dist/src/models/proto/base-proto.js +9 -0
  124. package/dist/src/models/proto/base-proto.js.map +1 -0
  125. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.d.ts +5 -0
  126. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.d.ts.map +1 -0
  127. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.js +9 -0
  128. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.js.map +1 -0
  129. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.d.ts +4 -0
  130. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.d.ts.map +1 -0
  131. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.js +8 -0
  132. package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.js.map +1 -0
  133. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.d.ts +6 -0
  134. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.d.ts.map +1 -0
  135. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.js +10 -0
  136. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.js.map +1 -0
  137. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.d.ts +4 -0
  138. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.d.ts.map +1 -0
  139. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.js +8 -0
  140. package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.js.map +1 -0
  141. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.d.ts +6 -0
  142. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.d.ts.map +1 -0
  143. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.js +10 -0
  144. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.js.map +1 -0
  145. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.d.ts +4 -0
  146. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.d.ts.map +1 -0
  147. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.js +8 -0
  148. package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.js.map +1 -0
  149. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.d.ts +10 -0
  150. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.d.ts.map +1 -0
  151. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.js +13 -0
  152. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.js.map +1 -0
  153. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.d.ts +11 -0
  154. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.d.ts.map +1 -0
  155. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.js +13 -0
  156. package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.js.map +1 -0
  157. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.d.ts +7 -0
  158. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.d.ts.map +1 -0
  159. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.js +10 -0
  160. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.js.map +1 -0
  161. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.d.ts +4 -0
  162. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.d.ts.map +1 -0
  163. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.js +8 -0
  164. package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.js.map +1 -0
  165. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.d.ts +5 -0
  166. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.d.ts.map +1 -0
  167. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.js +9 -0
  168. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.js.map +1 -0
  169. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.d.ts +8 -0
  170. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.d.ts.map +1 -0
  171. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.js +10 -0
  172. package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.js.map +1 -0
  173. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.d.ts +5 -0
  174. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.d.ts.map +1 -0
  175. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.js +9 -0
  176. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.js.map +1 -0
  177. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.d.ts +7 -0
  178. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.d.ts.map +1 -0
  179. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.js +10 -0
  180. package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.js.map +1 -0
  181. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.d.ts +7 -0
  182. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.d.ts.map +1 -0
  183. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.js +10 -0
  184. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.js.map +1 -0
  185. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.d.ts +4 -0
  186. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.d.ts.map +1 -0
  187. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.js +8 -0
  188. package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.js.map +1 -0
  189. package/dist/src/models/proto/models/ProtoOAArchivedSymbol.d.ts +7 -0
  190. package/dist/src/models/proto/models/ProtoOAArchivedSymbol.d.ts.map +1 -0
  191. package/dist/src/models/proto/models/ProtoOAArchivedSymbol.js +11 -0
  192. package/dist/src/models/proto/models/ProtoOAArchivedSymbol.js.map +1 -0
  193. package/dist/src/models/proto/models/ProtoOAErrorRes.d.ts +8 -0
  194. package/dist/src/models/proto/models/ProtoOAErrorRes.d.ts.map +1 -0
  195. package/dist/src/models/proto/models/ProtoOAErrorRes.js +12 -0
  196. package/dist/src/models/proto/models/ProtoOAErrorRes.js.map +1 -0
  197. package/dist/src/models/proto/models/ProtoOAHoliday.d.ts +9 -0
  198. package/dist/src/models/proto/models/ProtoOAHoliday.d.ts.map +1 -0
  199. package/dist/src/models/proto/models/ProtoOAHoliday.js +13 -0
  200. package/dist/src/models/proto/models/ProtoOAHoliday.js.map +1 -0
  201. package/dist/src/models/proto/models/ProtoOAInterval.d.ts +6 -0
  202. package/dist/src/models/proto/models/ProtoOAInterval.d.ts.map +1 -0
  203. package/dist/src/models/proto/models/ProtoOAInterval.js +10 -0
  204. package/dist/src/models/proto/models/ProtoOAInterval.js.map +1 -0
  205. package/dist/src/models/proto/models/ProtoOALightSymbol.d.ts +11 -0
  206. package/dist/src/models/proto/models/ProtoOALightSymbol.d.ts.map +1 -0
  207. package/dist/src/models/proto/models/ProtoOALightSymbol.js +15 -0
  208. package/dist/src/models/proto/models/ProtoOALightSymbol.js.map +1 -0
  209. package/dist/src/models/proto/models/ProtoOASpotEvent.d.ts +11 -0
  210. package/dist/src/models/proto/models/ProtoOASpotEvent.d.ts.map +1 -0
  211. package/dist/src/models/proto/models/ProtoOASpotEvent.js +14 -0
  212. package/dist/src/models/proto/models/ProtoOASpotEvent.js.map +1 -0
  213. package/dist/src/models/proto/models/ProtoOASymbol.d.ts +44 -0
  214. package/dist/src/models/proto/models/ProtoOASymbol.d.ts.map +1 -0
  215. package/dist/src/models/proto/models/ProtoOASymbol.js +46 -0
  216. package/dist/src/models/proto/models/ProtoOASymbol.js.map +1 -0
  217. package/dist/src/models/proto/models/ProtoOATrendbar.d.ts +11 -0
  218. package/dist/src/models/proto/models/ProtoOATrendbar.d.ts.map +1 -0
  219. package/dist/src/models/proto/models/ProtoOATrendbar.js +14 -0
  220. package/dist/src/models/proto/models/ProtoOATrendbar.js.map +1 -0
  221. package/dist/src/models/proto/models/ProtoOATrendbarPeriod.d.ts +17 -0
  222. package/dist/src/models/proto/models/ProtoOATrendbarPeriod.d.ts.map +1 -0
  223. package/dist/src/models/proto/models/ProtoOATrendbarPeriod.js +21 -0
  224. package/dist/src/models/proto/models/ProtoOATrendbarPeriod.js.map +1 -0
  225. package/dist/src/models/proto/payload-types/payload-types.enum.d.ts +78 -0
  226. package/dist/src/models/proto/payload-types/payload-types.enum.d.ts.map +1 -0
  227. package/dist/src/models/proto/payload-types/payload-types.enum.js +82 -0
  228. package/dist/src/models/proto/payload-types/payload-types.enum.js.map +1 -0
  229. package/dist/src/utils/price.utils.d.ts +4 -0
  230. package/dist/src/utils/price.utils.d.ts.map +1 -0
  231. package/dist/src/utils/price.utils.js +36 -0
  232. package/dist/src/utils/price.utils.js.map +1 -0
  233. package/dist/src/utils/sleep.utils.d.ts +5 -0
  234. package/dist/src/utils/sleep.utils.d.ts.map +1 -0
  235. package/dist/src/utils/sleep.utils.js +15 -0
  236. package/dist/src/utils/sleep.utils.js.map +1 -0
  237. package/dist/src/utils/timeframe.utils.d.ts +6 -0
  238. package/dist/src/utils/timeframe.utils.d.ts.map +1 -0
  239. package/dist/src/utils/timeframe.utils.js +47 -0
  240. package/dist/src/utils/timeframe.utils.js.map +1 -0
  241. package/dist/src/utils/trendbar.utils.d.ts +7 -0
  242. package/dist/src/utils/trendbar.utils.d.ts.map +1 -0
  243. package/dist/src/utils/trendbar.utils.js +28 -0
  244. package/dist/src/utils/trendbar.utils.js.map +1 -0
  245. package/dist/tsconfig.tsbuildinfo +1 -0
  246. package/dist/vitest.config.d.ts +3 -0
  247. package/dist/vitest.config.d.ts.map +1 -0
  248. package/dist/vitest.config.js +12 -0
  249. package/dist/vitest.config.js.map +1 -0
  250. package/package.json +48 -0
  251. package/src/classes/client.test.ts +100 -0
  252. package/src/classes/client.ts +102 -0
  253. package/src/classes/errors/client-not-connected.error.ts +7 -0
  254. package/src/classes/errors/connection.error.ts +7 -0
  255. package/src/classes/logger.ts +26 -0
  256. package/src/classes/managers/authentication/authentication.manager.test.ts +187 -0
  257. package/src/classes/managers/authentication/authentication.manager.ts +65 -0
  258. package/src/classes/managers/authentication/errors/application-auth.error.ts +9 -0
  259. package/src/classes/managers/authentication/errors/user-auth.error.ts +9 -0
  260. package/src/classes/managers/models/base.manager.ts +50 -0
  261. package/src/classes/managers/models/credentials.model.ts +15 -0
  262. package/src/classes/managers/symbols/errors/get-symbols-details.error.ts +9 -0
  263. package/src/classes/managers/symbols/errors/get-symbols-list.error.ts +9 -0
  264. package/src/classes/managers/symbols/errors/get-trend-bars.error.ts +7 -0
  265. package/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.ts +17 -0
  266. package/src/classes/managers/symbols/errors/subscribe-spot-events.error.ts +9 -0
  267. package/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.ts +9 -0
  268. package/src/classes/managers/symbols/symbols-updates.manager.ts +440 -0
  269. package/src/classes/managers/symbols/symbols.manager.test.ts +455 -0
  270. package/src/classes/managers/symbols/symbols.manager.ts +134 -0
  271. package/src/classes/models/client-configuration.model.ts +39 -0
  272. package/src/classes/models/ctrader-x-error.model.ts +16 -0
  273. package/src/config/config.ts +48 -0
  274. package/src/index.ts +4 -0
  275. package/src/models/common/ohlcv.ts +19 -0
  276. package/src/models/proto/base-proto.ts +13 -0
  277. package/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.ts +8 -0
  278. package/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.ts +3 -0
  279. package/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.ts +13 -0
  280. package/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.ts +3 -0
  281. package/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.ts +6 -0
  282. package/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.ts +3 -0
  283. package/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.ts +29 -0
  284. package/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.ts +30 -0
  285. package/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.ts +7 -0
  286. package/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.ts +3 -0
  287. package/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.ts +8 -0
  288. package/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.ts +15 -0
  289. package/src/models/proto/messages/symbols/ProtoOASymbolsListReq.ts +8 -0
  290. package/src/models/proto/messages/symbols/ProtoOASymbolsListRes.ts +14 -0
  291. package/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.ts +11 -0
  292. package/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.ts +3 -0
  293. package/src/models/proto/models/ProtoOAArchivedSymbol.ts +21 -0
  294. package/src/models/proto/models/ProtoOAErrorRes.ts +20 -0
  295. package/src/models/proto/models/ProtoOAHoliday.ts +31 -0
  296. package/src/models/proto/models/ProtoOAInterval.ts +16 -0
  297. package/src/models/proto/models/ProtoOALightSymbol.ts +38 -0
  298. package/src/models/proto/models/ProtoOASpotEvent.ts +31 -0
  299. package/src/models/proto/models/ProtoOASymbol.ts +220 -0
  300. package/src/models/proto/models/ProtoOATrendbar.ts +11 -0
  301. package/src/models/proto/models/ProtoOATrendbarPeriod.ts +16 -0
  302. package/src/models/proto/payload-types/payload-types.enum.ts +77 -0
  303. package/src/utils/price.utils.ts +42 -0
  304. package/src/utils/sleep.utils.ts +13 -0
  305. package/src/utils/timeframe.utils.ts +50 -0
  306. package/src/utils/trendbar.utils.ts +59 -0
  307. package/tsconfig.tsbuildinfo +1 -0
  308. package/vitest.config.ts +11 -0
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const ctrader_layer_1 = require("@reiryoku/ctrader-layer");
5
+ const config_1 = require("../../../config/config");
6
+ const application_auth_error_1 = require("./errors/application-auth.error");
7
+ const user_auth_error_1 = require("./errors/user-auth.error");
8
+ const logger_1 = require("../../logger");
9
+ const authentication_manager_1 = require("./authentication.manager");
10
+ (0, vitest_1.describe)('AuthenticationManager - Integration Tests', () => {
11
+ let connection;
12
+ let authManager;
13
+ let logger;
14
+ const host = 'demo.ctraderapi.com';
15
+ const port = 5035;
16
+ (0, vitest_1.beforeAll)(async () => {
17
+ logger = new logger_1.Logger();
18
+ connection = new ctrader_layer_1.CTraderConnection({
19
+ host,
20
+ port,
21
+ });
22
+ const credentials = {
23
+ clientId: config_1.Config.SPOTWARE_CLIENT_ID,
24
+ clientSecret: config_1.Config.SPOTWARE_CLIENT_SECRET,
25
+ accessToken: config_1.Config.SPOTWARE_ACCESS_TOKEN,
26
+ ctidTraderAccountId: config_1.Config.SPOTWARE_CTID_TRADER_ACCOUNT_ID,
27
+ };
28
+ authManager = new authentication_manager_1.AuthenticationManager(credentials, connection, logger);
29
+ await connection.open();
30
+ });
31
+ (0, vitest_1.afterAll)(async () => {
32
+ await connection.close();
33
+ });
34
+ (0, vitest_1.describe)('authenticateApp', () => {
35
+ (0, vitest_1.it)('should authenticate application successfully', async () => {
36
+ await (0, vitest_1.expect)(authManager.authenticateApp()).resolves.not.toThrow();
37
+ });
38
+ (0, vitest_1.it)('should throw ApplicationAuthenticationError with invalid credentials', async () => {
39
+ const invalidConnection = new ctrader_layer_1.CTraderConnection({
40
+ host,
41
+ port,
42
+ });
43
+ await invalidConnection.open();
44
+ const invalidCredentials = {
45
+ clientId: 'invalid_client_id',
46
+ clientSecret: 'invalid_client_secret',
47
+ accessToken: config_1.Config.SPOTWARE_ACCESS_TOKEN,
48
+ ctidTraderAccountId: config_1.Config.SPOTWARE_CTID_TRADER_ACCOUNT_ID,
49
+ };
50
+ const invalidAuthManager = new authentication_manager_1.AuthenticationManager(invalidCredentials, invalidConnection, logger);
51
+ await (0, vitest_1.expect)(invalidAuthManager.authenticateApp()).rejects.toThrow(application_auth_error_1.ApplicationAuthenticationError);
52
+ await invalidConnection.close();
53
+ });
54
+ });
55
+ (0, vitest_1.describe)('authenticateUser', () => {
56
+ (0, vitest_1.it)('should authenticate user successfully after app authentication', async () => {
57
+ await (0, vitest_1.expect)(authManager.authenticateUser()).resolves.not.toThrow();
58
+ });
59
+ (0, vitest_1.it)('should throw UserAuthenticationError with invalid access token', async () => {
60
+ const invalidConnection = new ctrader_layer_1.CTraderConnection({
61
+ host,
62
+ port,
63
+ });
64
+ await invalidConnection.open();
65
+ const validAppCredentials = {
66
+ clientId: config_1.Config.SPOTWARE_CLIENT_ID,
67
+ clientSecret: config_1.Config.SPOTWARE_CLIENT_SECRET,
68
+ accessToken: 'invalid_access_token',
69
+ ctidTraderAccountId: config_1.Config.SPOTWARE_CTID_TRADER_ACCOUNT_ID,
70
+ };
71
+ const invalidAuthManager = new authentication_manager_1.AuthenticationManager(validAppCredentials, invalidConnection, logger);
72
+ await invalidAuthManager.authenticateApp();
73
+ await (0, vitest_1.expect)(invalidAuthManager.authenticateUser()).rejects.toThrow(user_auth_error_1.UserAuthenticationError);
74
+ await invalidConnection.close();
75
+ });
76
+ (0, vitest_1.it)('should throw UserAuthenticationError with invalid ctidTraderAccountId', async () => {
77
+ const invalidConnection = new ctrader_layer_1.CTraderConnection({
78
+ host,
79
+ port,
80
+ });
81
+ await invalidConnection.open();
82
+ const invalidCredentials = {
83
+ clientId: config_1.Config.SPOTWARE_CLIENT_ID,
84
+ clientSecret: config_1.Config.SPOTWARE_CLIENT_SECRET,
85
+ accessToken: config_1.Config.SPOTWARE_ACCESS_TOKEN,
86
+ ctidTraderAccountId: 999999999,
87
+ };
88
+ const invalidAuthManager = new authentication_manager_1.AuthenticationManager(invalidCredentials, invalidConnection, logger);
89
+ await invalidAuthManager.authenticateApp();
90
+ await (0, vitest_1.expect)(invalidAuthManager.authenticateUser()).rejects.toThrow(user_auth_error_1.UserAuthenticationError);
91
+ await invalidConnection.close();
92
+ });
93
+ });
94
+ (0, vitest_1.describe)('Full authentication flow', () => {
95
+ (0, vitest_1.it)('should complete full authentication flow successfully', async () => {
96
+ const newConnection = new ctrader_layer_1.CTraderConnection({
97
+ host,
98
+ port,
99
+ });
100
+ await newConnection.open();
101
+ const credentials = {
102
+ clientId: config_1.Config.SPOTWARE_CLIENT_ID,
103
+ clientSecret: config_1.Config.SPOTWARE_CLIENT_SECRET,
104
+ accessToken: config_1.Config.SPOTWARE_ACCESS_TOKEN,
105
+ ctidTraderAccountId: config_1.Config.SPOTWARE_CTID_TRADER_ACCOUNT_ID,
106
+ };
107
+ const newAuthManager = new authentication_manager_1.AuthenticationManager(credentials, newConnection, logger);
108
+ await (0, vitest_1.expect)(newAuthManager.authenticateApp()).resolves.not.toThrow();
109
+ await (0, vitest_1.expect)(newAuthManager.authenticateUser()).resolves.not.toThrow();
110
+ await newConnection.close();
111
+ });
112
+ });
113
+ });
114
+ //# sourceMappingURL=authentication.manager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.manager.test.js","sourceRoot":"","sources":["../../../../../src/classes/managers/authentication/authentication.manager.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class ApplicationAuthenticationError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=application-auth.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-auth.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/authentication/errors/application-auth.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,8BAA+B,SAAQ,aAAa;gBACjD,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationAuthenticationError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class ApplicationAuthenticationError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Application authentication error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.ApplicationAuthenticationError = ApplicationAuthenticationError;
11
+ //# sourceMappingURL=application-auth.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-auth.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/authentication/errors/application-auth.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,8BAA+B,SAAQ,qCAAa;IAC7D,YAAY,KAAc;QACtB,KAAK,CACD,qCAAqC,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAC;IACN,CAAC;CACJ;AAND,wEAMC"}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class UserAuthenticationError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=user-auth.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-auth.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/authentication/errors/user-auth.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,uBAAwB,SAAQ,aAAa;gBAC1C,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserAuthenticationError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class UserAuthenticationError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`User authentication error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.UserAuthenticationError = UserAuthenticationError;
11
+ //# sourceMappingURL=user-auth.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-auth.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/authentication/errors/user-auth.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,uBAAwB,SAAQ,qCAAa;IACtD,YAAY,KAAc;QACtB,KAAK,CACD,8BAA8B,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACvE,CAAC;IACN,CAAC;CACJ;AAND,0DAMC"}
@@ -0,0 +1,15 @@
1
+ import { cTraderXError } from '../../models/ctrader-x-error.model';
2
+ import { ILogger } from '../../logger';
3
+ import { CTraderConnection } from '@reiryoku/ctrader-layer';
4
+ import { ICredentials } from './credentials.model';
5
+ import { ProtoOAErrorRes } from '../../../models/proto/models/ProtoOAErrorRes';
6
+ export declare abstract class BaseManager {
7
+ protected readonly logger: ILogger;
8
+ protected readonly credentials: ICredentials;
9
+ protected readonly connection: CTraderConnection;
10
+ protected logCallAttempt(method: Function, extra?: Record<string, any>): void;
11
+ protected logCallAttemptSuccess(method: Function, extra?: Record<string, any>): void;
12
+ protected logCallAttemptFailure(method: Function, error: unknown): void;
13
+ protected handleCTraderCallError(error: ProtoOAErrorRes, method: Function, rethrowError: cTraderXError): cTraderXError;
14
+ }
15
+ //# sourceMappingURL=base.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.manager.d.ts","sourceRoot":"","sources":["../../../../../src/classes/managers/models/base.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAE/E,8BAAsB,WAAW;IAC7B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEjD,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAUtE,SAAS,CAAC,qBAAqB,CAC3B,MAAM,EAAE,QAAQ,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAW/B,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;IAMhE,SAAS,CAAC,sBAAsB,CAC5B,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,aAAa,GAC5B,aAAa;CAKnB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseManager = void 0;
4
+ const ctrader_x_error_model_1 = require("../../models/ctrader-x-error.model");
5
+ class BaseManager {
6
+ logger;
7
+ credentials;
8
+ connection;
9
+ logCallAttempt(method, extra) {
10
+ if (extra) {
11
+ this.logger.debug(`Attempting ${method.name} call: ${JSON.stringify(extra)}`);
12
+ }
13
+ else {
14
+ this.logger.debug(`Attempting ${method.name} call`);
15
+ }
16
+ }
17
+ logCallAttemptSuccess(method, extra) {
18
+ if (extra) {
19
+ this.logger.debug(`Call attempt to ${method.name} succeeded: ${JSON.stringify(extra)}`);
20
+ }
21
+ else {
22
+ this.logger.debug(`Call attempt to ${method.name} succeeded`);
23
+ }
24
+ }
25
+ logCallAttemptFailure(method, error) {
26
+ this.logger.error(`Call attempt to ${method.name} failed: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
27
+ }
28
+ handleCTraderCallError(error, method, rethrowError) {
29
+ const message = ctrader_x_error_model_1.cTraderXError.getMessageError(error);
30
+ this.logCallAttemptFailure(method, message);
31
+ return rethrowError;
32
+ }
33
+ }
34
+ exports.BaseManager = BaseManager;
35
+ //# sourceMappingURL=base.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.manager.js","sourceRoot":"","sources":["../../../../../src/classes/managers/models/base.manager.ts"],"names":[],"mappings":";;;AAAA,8EAAmE;AAMnE,MAAsB,WAAW;IACV,MAAM,CAAU;IAChB,WAAW,CAAe;IAC1B,UAAU,CAAoB;IAEvC,cAAc,CAAC,MAAgB,EAAE,KAA2B;QAClE,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,cAAc,MAAM,CAAC,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAES,qBAAqB,CAC3B,MAAgB,EAChB,KAA2B;QAE3B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,mBAAmB,MAAM,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACvE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAES,qBAAqB,CAAC,MAAgB,EAAE,KAAc;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,mBAAmB,MAAM,CAAC,IAAI,YAAY,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;IACN,CAAC;IAES,sBAAsB,CAC5B,KAAsB,EACtB,MAAgB,EAChB,YAA2B;QAE3B,MAAM,OAAO,GAAG,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AA3CD,kCA2CC"}
@@ -0,0 +1,8 @@
1
+ import { IConfiguration } from '../../models/client-configuration.model';
2
+ export interface ICredentials extends Pick<IConfiguration, 'clientId' | 'clientSecret' | 'ctidTraderAccountId' | 'accessToken' | 'accessToken'> {
3
+ clientId: string;
4
+ accessToken: string;
5
+ clientSecret: string;
6
+ ctidTraderAccountId: number;
7
+ }
8
+ //# sourceMappingURL=credentials.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.model.d.ts","sourceRoot":"","sources":["../../../../../src/classes/managers/models/credentials.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,YAAa,SAAQ,IAAI,CACtC,cAAc,EACZ,UAAU,GACV,cAAc,GACd,qBAAqB,GACrB,aAAa,GACb,aAAa,CAClB;IACG,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=credentials.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.model.js","sourceRoot":"","sources":["../../../../../src/classes/managers/models/credentials.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class GetSymbolsDetailsError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=get-symbols-details.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-symbols-details.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-symbols-details.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,sBAAuB,SAAQ,aAAa;gBACzC,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetSymbolsDetailsError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class GetSymbolsDetailsError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Get symbols details error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.GetSymbolsDetailsError = GetSymbolsDetailsError;
11
+ //# sourceMappingURL=get-symbols-details.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-symbols-details.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-symbols-details.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,sBAAuB,SAAQ,qCAAa;IACrD,YAAY,KAAc;QACtB,KAAK,CACD,8BAA8B,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACvE,CAAC;IACN,CAAC;CACJ;AAND,wDAMC"}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class GetSymbolsListError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=get-symbols-list.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-symbols-list.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-symbols-list.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,mBAAoB,SAAQ,aAAa;gBACtC,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetSymbolsListError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class GetSymbolsListError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Get symbols list error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.GetSymbolsListError = GetSymbolsListError;
11
+ //# sourceMappingURL=get-symbols-list.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-symbols-list.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-symbols-list.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,mBAAoB,SAAQ,qCAAa;IAClD,YAAY,KAAc;QACtB,KAAK,CACD,2BAA2B,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACpE,CAAC;IACN,CAAC;CACJ;AAND,kDAMC"}
@@ -0,0 +1,6 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class GetTrendBarsError extends cTraderXError {
3
+ readonly error: unknown;
4
+ constructor(error: unknown);
5
+ }
6
+ //# sourceMappingURL=get-trend-bars.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-trend-bars.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-trend-bars.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,aAAa;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO;gBAAd,KAAK,EAAE,OAAO;CAGtC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetTrendBarsError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class GetTrendBarsError extends ctrader_x_error_model_1.cTraderXError {
6
+ error;
7
+ constructor(error) {
8
+ super(`Get trend bars error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
9
+ this.error = error;
10
+ }
11
+ }
12
+ exports.GetTrendBarsError = GetTrendBarsError;
13
+ //# sourceMappingURL=get-trend-bars.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-trend-bars.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/get-trend-bars.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,iBAAkB,SAAQ,qCAAa;IAC3B;IAArB,YAAqB,KAAc;QAC/B,KAAK,CAAC,yBAAyB,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QADtD,UAAK,GAAL,KAAK,CAAS;IAEnC,CAAC;CACJ;AAJD,8CAIC"}
@@ -0,0 +1,8 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class SubscribeLiveTrendBarsError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ export declare class SubscribeLiveTrendBarsInternalError extends cTraderXError {
6
+ constructor(error: unknown);
7
+ }
8
+ //# sourceMappingURL=subscribe-live-trend-bars.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe-live-trend-bars.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,2BAA4B,SAAQ,aAAa;gBAC9C,KAAK,EAAE,OAAO;CAK7B;AAED,qBAAa,mCAAoC,SAAQ,aAAa;gBACtD,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscribeLiveTrendBarsInternalError = exports.SubscribeLiveTrendBarsError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class SubscribeLiveTrendBarsError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Subscribe live trend bars error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.SubscribeLiveTrendBarsError = SubscribeLiveTrendBarsError;
11
+ class SubscribeLiveTrendBarsInternalError extends ctrader_x_error_model_1.cTraderXError {
12
+ constructor(error) {
13
+ super(`[INTERNAL] Subscribe live trend bars error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
14
+ }
15
+ }
16
+ exports.SubscribeLiveTrendBarsInternalError = SubscribeLiveTrendBarsInternalError;
17
+ //# sourceMappingURL=subscribe-live-trend-bars.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe-live-trend-bars.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,2BAA4B,SAAQ,qCAAa;IAC1D,YAAY,KAAc;QACtB,KAAK,CACD,oCAAoC,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAC;IACN,CAAC;CACJ;AAND,kEAMC;AAED,MAAa,mCAAoC,SAAQ,qCAAa;IAClE,YAAY,KAAc;QACtB,KAAK,CACD,+CAA+C,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;IACN,CAAC;CACJ;AAND,kFAMC"}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class SubscribeSpotEventsError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=subscribe-spot-events.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe-spot-events.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/subscribe-spot-events.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,wBAAyB,SAAQ,aAAa;gBAC3C,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscribeSpotEventsError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class SubscribeSpotEventsError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Subscribe spot events error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.SubscribeSpotEventsError = SubscribeSpotEventsError;
11
+ //# sourceMappingURL=subscribe-spot-events.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe-spot-events.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/subscribe-spot-events.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,wBAAyB,SAAQ,qCAAa;IACvD,YAAY,KAAc;QACtB,KAAK,CACD,gCAAgC,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACzE,CAAC;IACN,CAAC;CACJ;AAND,4DAMC"}
@@ -0,0 +1,5 @@
1
+ import { cTraderXError } from '../../../models/ctrader-x-error.model';
2
+ export declare class UnsubscribeLiveTrendBarsError extends cTraderXError {
3
+ constructor(error: unknown);
4
+ }
5
+ //# sourceMappingURL=unsubscribe-live-trend-bars.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsubscribe-live-trend-bars.error.d.ts","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,qBAAa,6BAA8B,SAAQ,aAAa;gBAChD,KAAK,EAAE,OAAO;CAK7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnsubscribeLiveTrendBarsError = void 0;
4
+ const ctrader_x_error_model_1 = require("../../../models/ctrader-x-error.model");
5
+ class UnsubscribeLiveTrendBarsError extends ctrader_x_error_model_1.cTraderXError {
6
+ constructor(error) {
7
+ super(`Unsubscribe live trend bars error: ${ctrader_x_error_model_1.cTraderXError.getMessageError(error)}`);
8
+ }
9
+ }
10
+ exports.UnsubscribeLiveTrendBarsError = UnsubscribeLiveTrendBarsError;
11
+ //# sourceMappingURL=unsubscribe-live-trend-bars.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsubscribe-live-trend-bars.error.js","sourceRoot":"","sources":["../../../../../../src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.ts"],"names":[],"mappings":";;;AAAA,iFAAsE;AAEtE,MAAa,6BAA8B,SAAQ,qCAAa;IAC5D,YAAY,KAAc;QACtB,KAAK,CACD,sCAAsC,qCAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC/E,CAAC;IACN,CAAC;CACJ;AAND,sEAMC"}
@@ -0,0 +1,54 @@
1
+ import { CTraderConnection } from '@reiryoku/ctrader-layer';
2
+ import { ILogger } from '../../logger';
3
+ import { BaseManager } from '../models/base.manager';
4
+ import { ICredentials } from '../models/credentials.model';
5
+ import { ProtoOASubscribeLiveTrendbarReq } from '../../../models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq';
6
+ import { Subject } from 'rxjs';
7
+ import { OHLCV } from '../../../models/common/ohlcv';
8
+ import { ProtoOATrendbarPeriod } from '../../../models/proto/models/ProtoOATrendbarPeriod';
9
+ import { ProtoOAUnsubscribeLiveTrendbarReq } from '../../../models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq';
10
+ import { SymbolsManager } from './symbols.manager';
11
+ export interface ISubscribeBarsOptions extends ProtoOASubscribeLiveTrendbarReq {
12
+ }
13
+ export interface IUnsubscribeBarsOptions extends ProtoOAUnsubscribeLiveTrendbarReq {
14
+ }
15
+ export interface SubscribeLiveTrendBarsEvent {
16
+ symbolId: number;
17
+ ohlcv: OHLCV;
18
+ lastBarTime: number;
19
+ isInitialized: boolean;
20
+ period: ProtoOATrendbarPeriod;
21
+ }
22
+ export interface ILiveBarsSubscriber {
23
+ period: number;
24
+ lastBar: OHLCV | null;
25
+ isInitialized: boolean;
26
+ lastBarTime: number | null;
27
+ subscriber: Subject<unknown>;
28
+ }
29
+ export interface ILiveBarsSubscribers {
30
+ symbolId: number;
31
+ subscribers: ILiveBarsSubscriber[];
32
+ }
33
+ export declare class SymbolsUpdatesManager extends BaseManager {
34
+ protected readonly credentials: ICredentials;
35
+ protected readonly connection: CTraderConnection;
36
+ protected readonly logger: ILogger;
37
+ private readonly symbolsManager;
38
+ private readonly liveBarsSubscriptions$;
39
+ private readonly liveBarsSubscriptionsMapper$;
40
+ private liveBarsSubsSymbolsToSubscribersMap;
41
+ constructor(credentials: ICredentials, connection: CTraderConnection, logger: ILogger, symbolsManager: SymbolsManager);
42
+ unsubscribeLiveTrendBars(opts: IUnsubscribeBarsOptions): Promise<void>;
43
+ subscribeLiveTrendBars(opts: ISubscribeBarsOptions): import("rxjs").Observable<Omit<SubscribeLiveTrendBarsEvent, "lastBarTime">>;
44
+ private spotEventDescriptorToSubscribeLiveBarsEvent;
45
+ private normalizePrice;
46
+ private isTrackedSubscribeLiveTrendBarsDescriptor;
47
+ private getSubscribeLiveTrendBarsSubscriptions;
48
+ private removeSubscribeLiveTrendBarsSubscription;
49
+ private addSubscribeLiveTrendBarsSubscription;
50
+ private updateSubscribeLiveTrendBarsSubscriptions;
51
+ private subscribeSpotEvents;
52
+ private subscribeLiveTrendBarsInternal;
53
+ }
54
+ //# sourceMappingURL=symbols-updates.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols-updates.manager.d.ts","sourceRoot":"","sources":["../../../../../src/classes/managers/symbols/symbols-updates.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AACzH,OAAO,EAGH,OAAO,EAKV,MAAM,MAAM,CAAC;AAQd,OAAO,EAAE,KAAK,EAAkB,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,0EAA0E,CAAC;AAG7H,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,WAAW,qBAAsB,SAAQ,+BAA+B;CAAG;AACjF,MAAM,WAAW,uBAAwB,SAAQ,iCAAiC;CAAG;AAErF,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;IAiB9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY;IAC5C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAnBnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAEX;IAE5B,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAOvC;IAEN,OAAO,CAAC,mCAAmC,CAA6B;gBAGjD,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,OAAO,EACjB,cAAc,EAAE,cAAc;IAyD7C,wBAAwB,CAAC,IAAI,EAAE,uBAAuB;IAiC5D,sBAAsB,CAAC,IAAI,EAAE,qBAAqB;IAgClD,OAAO,CAAC,2CAA2C;IAkFnD,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,yCAAyC;IAQjD,OAAO,CAAC,sCAAsC;IAsB9C,OAAO,CAAC,wCAAwC;IAyBhD,OAAO,CAAC,qCAAqC;IAsC7C,OAAO,CAAC,yCAAyC;YASnC,mBAAmB;YA2BnB,8BAA8B;CA2B/C"}