@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.
- package/.env +6 -0
- package/.prettierrc +7 -0
- package/README.md +96 -0
- package/changelog.md +46 -0
- package/dist/src/classes/client.d.ts +21 -0
- package/dist/src/classes/client.d.ts.map +1 -0
- package/dist/src/classes/client.js +83 -0
- package/dist/src/classes/client.js.map +1 -0
- package/dist/src/classes/client.test.d.ts +2 -0
- package/dist/src/classes/client.test.d.ts.map +1 -0
- package/dist/src/classes/client.test.js +83 -0
- package/dist/src/classes/client.test.js.map +1 -0
- package/dist/src/classes/errors/client-not-connected.error.d.ts +5 -0
- package/dist/src/classes/errors/client-not-connected.error.d.ts.map +1 -0
- package/dist/src/classes/errors/client-not-connected.error.js +11 -0
- package/dist/src/classes/errors/client-not-connected.error.js.map +1 -0
- package/dist/src/classes/errors/connection.error.d.ts +5 -0
- package/dist/src/classes/errors/connection.error.d.ts.map +1 -0
- package/dist/src/classes/errors/connection.error.js +11 -0
- package/dist/src/classes/errors/connection.error.js.map +1 -0
- package/dist/src/classes/logger.d.ts +13 -0
- package/dist/src/classes/logger.d.ts.map +1 -0
- package/dist/src/classes/logger.js +21 -0
- package/dist/src/classes/logger.js.map +1 -0
- package/dist/src/classes/managers/authentication/authentication.manager.d.ts +13 -0
- package/dist/src/classes/managers/authentication/authentication.manager.d.ts.map +1 -0
- package/dist/src/classes/managers/authentication/authentication.manager.js +49 -0
- package/dist/src/classes/managers/authentication/authentication.manager.js.map +1 -0
- package/dist/src/classes/managers/authentication/authentication.manager.test.d.ts +2 -0
- package/dist/src/classes/managers/authentication/authentication.manager.test.d.ts.map +1 -0
- package/dist/src/classes/managers/authentication/authentication.manager.test.js +114 -0
- package/dist/src/classes/managers/authentication/authentication.manager.test.js.map +1 -0
- package/dist/src/classes/managers/authentication/errors/application-auth.error.d.ts +5 -0
- package/dist/src/classes/managers/authentication/errors/application-auth.error.d.ts.map +1 -0
- package/dist/src/classes/managers/authentication/errors/application-auth.error.js +11 -0
- package/dist/src/classes/managers/authentication/errors/application-auth.error.js.map +1 -0
- package/dist/src/classes/managers/authentication/errors/user-auth.error.d.ts +5 -0
- package/dist/src/classes/managers/authentication/errors/user-auth.error.d.ts.map +1 -0
- package/dist/src/classes/managers/authentication/errors/user-auth.error.js +11 -0
- package/dist/src/classes/managers/authentication/errors/user-auth.error.js.map +1 -0
- package/dist/src/classes/managers/models/base.manager.d.ts +15 -0
- package/dist/src/classes/managers/models/base.manager.d.ts.map +1 -0
- package/dist/src/classes/managers/models/base.manager.js +35 -0
- package/dist/src/classes/managers/models/base.manager.js.map +1 -0
- package/dist/src/classes/managers/models/credentials.model.d.ts +8 -0
- package/dist/src/classes/managers/models/credentials.model.d.ts.map +1 -0
- package/dist/src/classes/managers/models/credentials.model.js +3 -0
- package/dist/src/classes/managers/models/credentials.model.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.d.ts +5 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.js +11 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-details.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.d.ts +5 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.js +11 -0
- package/dist/src/classes/managers/symbols/errors/get-symbols-list.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.d.ts +6 -0
- package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.js +13 -0
- package/dist/src/classes/managers/symbols/errors/get-trend-bars.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.d.ts +8 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.js +17 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.d.ts +5 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.js +11 -0
- package/dist/src/classes/managers/symbols/errors/subscribe-spot-events.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.d.ts +5 -0
- package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.js +11 -0
- package/dist/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.js.map +1 -0
- package/dist/src/classes/managers/symbols/symbols-updates.manager.d.ts +54 -0
- package/dist/src/classes/managers/symbols/symbols-updates.manager.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/symbols-updates.manager.js +250 -0
- package/dist/src/classes/managers/symbols/symbols-updates.manager.js.map +1 -0
- package/dist/src/classes/managers/symbols/symbols.manager.d.ts +30 -0
- package/dist/src/classes/managers/symbols/symbols.manager.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/symbols.manager.js +78 -0
- package/dist/src/classes/managers/symbols/symbols.manager.js.map +1 -0
- package/dist/src/classes/managers/symbols/symbols.manager.test.d.ts +2 -0
- package/dist/src/classes/managers/symbols/symbols.manager.test.d.ts.map +1 -0
- package/dist/src/classes/managers/symbols/symbols.manager.test.js +364 -0
- package/dist/src/classes/managers/symbols/symbols.manager.test.js.map +1 -0
- package/dist/src/classes/models/client-configuration.model.d.ts +10 -0
- package/dist/src/classes/models/client-configuration.model.d.ts.map +1 -0
- package/dist/src/classes/models/client-configuration.model.js +3 -0
- package/dist/src/classes/models/client-configuration.model.js.map +1 -0
- package/dist/src/classes/models/ctrader-x-error.model.d.ts +6 -0
- package/dist/src/classes/models/ctrader-x-error.model.d.ts.map +1 -0
- package/dist/src/classes/models/ctrader-x-error.model.js +21 -0
- package/dist/src/classes/models/ctrader-x-error.model.js.map +1 -0
- package/dist/src/config/config.d.ts +10 -0
- package/dist/src/config/config.d.ts.map +1 -0
- package/dist/src/config/config.js +40 -0
- package/dist/src/config/config.js.map +1 -0
- package/dist/src/examples/authentication.example.d.ts +2 -0
- package/dist/src/examples/authentication.example.d.ts.map +1 -0
- package/dist/src/examples/authentication.example.js +9 -0
- package/dist/src/examples/authentication.example.js.map +1 -0
- package/dist/src/examples/get-symbols-bars.example.d.ts +2 -0
- package/dist/src/examples/get-symbols-bars.example.d.ts.map +1 -0
- package/dist/src/examples/get-symbols-bars.example.js +18 -0
- package/dist/src/examples/get-symbols-bars.example.js.map +1 -0
- package/dist/src/examples/get-symbols-list.example.d.ts +2 -0
- package/dist/src/examples/get-symbols-list.example.d.ts.map +1 -0
- package/dist/src/examples/get-symbols-list.example.js +13 -0
- package/dist/src/examples/get-symbols-list.example.js.map +1 -0
- package/dist/src/examples/subscribe-live-bars.example.d.ts +2 -0
- package/dist/src/examples/subscribe-live-bars.example.d.ts.map +1 -0
- package/dist/src/examples/subscribe-live-bars.example.js +42 -0
- package/dist/src/examples/subscribe-live-bars.example.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +20 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/models/common/ohlcv.d.ts +10 -0
- package/dist/src/models/common/ohlcv.d.ts.map +1 -0
- package/dist/src/models/common/ohlcv.js +13 -0
- package/dist/src/models/common/ohlcv.js.map +1 -0
- package/dist/src/models/proto/base-proto.d.ts +5 -0
- package/dist/src/models/proto/base-proto.d.ts.map +1 -0
- package/dist/src/models/proto/base-proto.js +9 -0
- package/dist/src/models/proto/base-proto.js.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.d.ts +5 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.js +9 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.js.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.d.ts +4 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.js +8 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.js.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.d.ts +6 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.js +10 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.js.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.d.ts +4 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.js +8 -0
- package/dist/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.js.map +1 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.d.ts +6 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.js +10 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.js.map +1 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.d.ts +4 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.js +8 -0
- package/dist/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.d.ts +10 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.js +13 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.d.ts +11 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.js +13 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.d.ts +7 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.js +10 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.d.ts +4 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.js +8 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.d.ts +5 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.js +9 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.d.ts +8 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.js +10 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.d.ts +5 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.js +9 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListReq.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.d.ts +7 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.js +10 -0
- package/dist/src/models/proto/messages/symbols/ProtoOASymbolsListRes.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.d.ts +7 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.js +10 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.js.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.d.ts +4 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.d.ts.map +1 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.js +8 -0
- package/dist/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOAArchivedSymbol.d.ts +7 -0
- package/dist/src/models/proto/models/ProtoOAArchivedSymbol.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOAArchivedSymbol.js +11 -0
- package/dist/src/models/proto/models/ProtoOAArchivedSymbol.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOAErrorRes.d.ts +8 -0
- package/dist/src/models/proto/models/ProtoOAErrorRes.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOAErrorRes.js +12 -0
- package/dist/src/models/proto/models/ProtoOAErrorRes.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOAHoliday.d.ts +9 -0
- package/dist/src/models/proto/models/ProtoOAHoliday.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOAHoliday.js +13 -0
- package/dist/src/models/proto/models/ProtoOAHoliday.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOAInterval.d.ts +6 -0
- package/dist/src/models/proto/models/ProtoOAInterval.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOAInterval.js +10 -0
- package/dist/src/models/proto/models/ProtoOAInterval.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOALightSymbol.d.ts +11 -0
- package/dist/src/models/proto/models/ProtoOALightSymbol.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOALightSymbol.js +15 -0
- package/dist/src/models/proto/models/ProtoOALightSymbol.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOASpotEvent.d.ts +11 -0
- package/dist/src/models/proto/models/ProtoOASpotEvent.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOASpotEvent.js +14 -0
- package/dist/src/models/proto/models/ProtoOASpotEvent.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOASymbol.d.ts +44 -0
- package/dist/src/models/proto/models/ProtoOASymbol.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOASymbol.js +46 -0
- package/dist/src/models/proto/models/ProtoOASymbol.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOATrendbar.d.ts +11 -0
- package/dist/src/models/proto/models/ProtoOATrendbar.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOATrendbar.js +14 -0
- package/dist/src/models/proto/models/ProtoOATrendbar.js.map +1 -0
- package/dist/src/models/proto/models/ProtoOATrendbarPeriod.d.ts +17 -0
- package/dist/src/models/proto/models/ProtoOATrendbarPeriod.d.ts.map +1 -0
- package/dist/src/models/proto/models/ProtoOATrendbarPeriod.js +21 -0
- package/dist/src/models/proto/models/ProtoOATrendbarPeriod.js.map +1 -0
- package/dist/src/models/proto/payload-types/payload-types.enum.d.ts +78 -0
- package/dist/src/models/proto/payload-types/payload-types.enum.d.ts.map +1 -0
- package/dist/src/models/proto/payload-types/payload-types.enum.js +82 -0
- package/dist/src/models/proto/payload-types/payload-types.enum.js.map +1 -0
- package/dist/src/utils/price.utils.d.ts +4 -0
- package/dist/src/utils/price.utils.d.ts.map +1 -0
- package/dist/src/utils/price.utils.js +36 -0
- package/dist/src/utils/price.utils.js.map +1 -0
- package/dist/src/utils/sleep.utils.d.ts +5 -0
- package/dist/src/utils/sleep.utils.d.ts.map +1 -0
- package/dist/src/utils/sleep.utils.js +15 -0
- package/dist/src/utils/sleep.utils.js.map +1 -0
- package/dist/src/utils/timeframe.utils.d.ts +6 -0
- package/dist/src/utils/timeframe.utils.d.ts.map +1 -0
- package/dist/src/utils/timeframe.utils.js +47 -0
- package/dist/src/utils/timeframe.utils.js.map +1 -0
- package/dist/src/utils/trendbar.utils.d.ts +7 -0
- package/dist/src/utils/trendbar.utils.d.ts.map +1 -0
- package/dist/src/utils/trendbar.utils.js +28 -0
- package/dist/src/utils/trendbar.utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +12 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +48 -0
- package/src/classes/client.test.ts +100 -0
- package/src/classes/client.ts +102 -0
- package/src/classes/errors/client-not-connected.error.ts +7 -0
- package/src/classes/errors/connection.error.ts +7 -0
- package/src/classes/logger.ts +26 -0
- package/src/classes/managers/authentication/authentication.manager.test.ts +187 -0
- package/src/classes/managers/authentication/authentication.manager.ts +65 -0
- package/src/classes/managers/authentication/errors/application-auth.error.ts +9 -0
- package/src/classes/managers/authentication/errors/user-auth.error.ts +9 -0
- package/src/classes/managers/models/base.manager.ts +50 -0
- package/src/classes/managers/models/credentials.model.ts +15 -0
- package/src/classes/managers/symbols/errors/get-symbols-details.error.ts +9 -0
- package/src/classes/managers/symbols/errors/get-symbols-list.error.ts +9 -0
- package/src/classes/managers/symbols/errors/get-trend-bars.error.ts +7 -0
- package/src/classes/managers/symbols/errors/subscribe-live-trend-bars.error.ts +17 -0
- package/src/classes/managers/symbols/errors/subscribe-spot-events.error.ts +9 -0
- package/src/classes/managers/symbols/errors/unsubscribe-live-trend-bars.error.ts +9 -0
- package/src/classes/managers/symbols/symbols-updates.manager.ts +440 -0
- package/src/classes/managers/symbols/symbols.manager.test.ts +455 -0
- package/src/classes/managers/symbols/symbols.manager.ts +134 -0
- package/src/classes/models/client-configuration.model.ts +39 -0
- package/src/classes/models/ctrader-x-error.model.ts +16 -0
- package/src/config/config.ts +48 -0
- package/src/index.ts +4 -0
- package/src/models/common/ohlcv.ts +19 -0
- package/src/models/proto/base-proto.ts +13 -0
- package/src/models/proto/messages/authentication/ProtoOAAccountAuthReq.ts +8 -0
- package/src/models/proto/messages/authentication/ProtoOAAccountAuthRes.ts +3 -0
- package/src/models/proto/messages/authentication/ProtoOAApplicationAuthReq.ts +13 -0
- package/src/models/proto/messages/authentication/ProtoOAApplicationAuthRes.ts +3 -0
- package/src/models/proto/messages/common/ProtoOASubscribeSpotsReq.ts +6 -0
- package/src/models/proto/messages/common/ProtoOASubscribeSpotsRes.ts +3 -0
- package/src/models/proto/messages/symbols/ProtoOAGetTrendbarsReq.ts +29 -0
- package/src/models/proto/messages/symbols/ProtoOAGetTrendbarsRes.ts +30 -0
- package/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarReq.ts +7 -0
- package/src/models/proto/messages/symbols/ProtoOASubscribeLiveTrendbarRes.ts +3 -0
- package/src/models/proto/messages/symbols/ProtoOASymbolByIdReq.ts +8 -0
- package/src/models/proto/messages/symbols/ProtoOASymbolByIdRes.ts +15 -0
- package/src/models/proto/messages/symbols/ProtoOASymbolsListReq.ts +8 -0
- package/src/models/proto/messages/symbols/ProtoOASymbolsListRes.ts +14 -0
- package/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarReq.ts +11 -0
- package/src/models/proto/messages/symbols/ProtoOAUnsubscribeLiveTrendbarRes.ts +3 -0
- package/src/models/proto/models/ProtoOAArchivedSymbol.ts +21 -0
- package/src/models/proto/models/ProtoOAErrorRes.ts +20 -0
- package/src/models/proto/models/ProtoOAHoliday.ts +31 -0
- package/src/models/proto/models/ProtoOAInterval.ts +16 -0
- package/src/models/proto/models/ProtoOALightSymbol.ts +38 -0
- package/src/models/proto/models/ProtoOASpotEvent.ts +31 -0
- package/src/models/proto/models/ProtoOASymbol.ts +220 -0
- package/src/models/proto/models/ProtoOATrendbar.ts +11 -0
- package/src/models/proto/models/ProtoOATrendbarPeriod.ts +16 -0
- package/src/models/proto/payload-types/payload-types.enum.ts +77 -0
- package/src/utils/price.utils.ts +42 -0
- package/src/utils/sleep.utils.ts +13 -0
- package/src/utils/timeframe.utils.ts +50 -0
- package/src/utils/trendbar.utils.ts +59 -0
- package/tsconfig.tsbuildinfo +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.model.js","sourceRoot":"","sources":["../../../../../src/classes/managers/models/credentials.model.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|