ctrader-ts 0.1.4 → 0.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAKnD,eAAO,MAAM,aAAa,mCAAmC,CAAC;AAC9D,eAAO,MAAM,aAAa,mCAAmC,CAAC;AAE9D,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGtD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAgBD,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,aAAa,CAmBtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAKnD,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B,wCAAwC;AACxC,eAAO,MAAM,aAAa,wBAAY,CAAC;AACvC,wCAAwC;AACxC,eAAO,MAAM,aAAa,wBAAY,CAAC;AAEvC,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAEnE;AAED,iDAAiD;AACjD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGtD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAuBD,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,aAAa,CA+BtE"}
@@ -3,10 +3,19 @@ import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  const CONFIG_DIR = join(homedir(), ".config", "ctrader-ts");
5
5
  const CONFIG_PATH = join(CONFIG_DIR, "config.json");
6
- export const DEMO_ENDPOINT = "wss://demo.ctraderapi.com:5036";
7
- export const LIVE_ENDPOINT = "wss://live.ctraderapi.com:5036";
6
+ export const DEMO_HOST = "demo.ctraderapi.com";
7
+ export const LIVE_HOST = "live.ctraderapi.com";
8
+ export const API_PORT = 5035;
9
+ /** @deprecated Use DEMO_HOST instead */
10
+ export const DEMO_ENDPOINT = DEMO_HOST;
11
+ /** @deprecated Use LIVE_HOST instead */
12
+ export const LIVE_ENDPOINT = LIVE_HOST;
13
+ export function hostForEnvironment(environment) {
14
+ return environment === "live" ? LIVE_HOST : DEMO_HOST;
15
+ }
16
+ /** @deprecated Use hostForEnvironment instead */
8
17
  export function endpointForEnvironment(environment) {
9
- return environment === "live" ? LIVE_ENDPOINT : DEMO_ENDPOINT;
18
+ return hostForEnvironment(environment);
10
19
  }
11
20
  export function loadStoredConfig() {
12
21
  if (!existsSync(CONFIG_PATH))
@@ -39,7 +48,8 @@ function fromEnv() {
39
48
  result.refreshToken = env["CTRADER_REFRESH_TOKEN"];
40
49
  if (env["CTRADER_ACCOUNT_ID"])
41
50
  result.accountId = Number(env["CTRADER_ACCOUNT_ID"]);
42
- if (env["CTRADER_ENVIRONMENT"] === "live" || env["CTRADER_ENVIRONMENT"] === "demo") {
51
+ if (env["CTRADER_ENVIRONMENT"] === "live" ||
52
+ env["CTRADER_ENVIRONMENT"] === "demo") {
43
53
  result.environment = env["CTRADER_ENVIRONMENT"];
44
54
  }
45
55
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- import { type PartialConfig, DEMO_ENDPOINT, LIVE_ENDPOINT } from "./config.js";
1
+ import { API_PORT, type PartialConfig, DEMO_HOST, LIVE_HOST } from "./config.js";
2
2
  import { CTrader } from "./client.js";
3
- export { DEMO_ENDPOINT, LIVE_ENDPOINT };
3
+ export { DEMO_HOST, LIVE_HOST, API_PORT };
4
+ /** @deprecated Use DEMO_HOST */
5
+ export declare const DEMO_ENDPOINT = "demo.ctraderapi.com";
6
+ /** @deprecated Use LIVE_HOST */
7
+ export declare const LIVE_ENDPOINT = "live.ctraderapi.com";
4
8
  export interface ConnectOptions extends PartialConfig {
5
9
  /**
6
10
  * Dynamic token resolver — called on every reconnect to get a fresh access token.
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAExC,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAwE1E"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,KAAK,aAAa,EAClB,SAAS,EACT,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC1C,gCAAgC;AAChC,eAAO,MAAM,aAAa,wBAAY,CAAC;AACvC,gCAAgC;AAChC,eAAO,MAAM,aAAa,wBAAY,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAyE1E"}
@@ -1,7 +1,11 @@
1
- import { resolveConfig, endpointForEnvironment, DEMO_ENDPOINT, LIVE_ENDPOINT, } from "./config.js";
1
+ import { resolveConfig, hostForEnvironment, API_PORT, DEMO_HOST, LIVE_HOST, } from "./config.js";
2
2
  import { CTrader } from "./client.js";
3
3
  import { CTraderError } from "./errors.js";
4
- export { DEMO_ENDPOINT, LIVE_ENDPOINT };
4
+ export { DEMO_HOST, LIVE_HOST, API_PORT };
5
+ /** @deprecated Use DEMO_HOST */
6
+ export const DEMO_ENDPOINT = DEMO_HOST;
7
+ /** @deprecated Use LIVE_HOST */
8
+ export const LIVE_ENDPOINT = LIVE_HOST;
5
9
  /**
6
10
  * Connect to cTrader Open API and authenticate in one call.
7
11
  *
@@ -30,12 +34,13 @@ export { DEMO_ENDPOINT, LIVE_ENDPOINT };
30
34
  export async function connect(overrides) {
31
35
  const { getAccessToken, ...configOverrides } = overrides ?? {};
32
36
  const config = resolveConfig(configOverrides);
33
- const endpoint = endpointForEnvironment(config.environment);
37
+ const host = hostForEnvironment(config.environment);
34
38
  // Track the current access token in a mutable variable so reconnects
35
39
  // always use the latest token (whether refreshed or original).
36
40
  let currentAccessToken = config.accessToken;
37
41
  const client = new CTrader({
38
- endpoint,
42
+ host,
43
+ port: API_PORT,
39
44
  accountId: config.accountId,
40
45
  onReconnect: async () => {
41
46
  await client.raw.auth.authenticateApp(config.clientId, config.clientSecret);
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,32 @@
1
+ /**
2
+ * TLS/TCP connection to cTrader Open API (port 5035).
3
+ *
4
+ * Wire format (matching the official Python SDK):
5
+ * [4-byte big-endian length N][N bytes of serialized ProtoMessage]
6
+ *
7
+ * Heartbeat behaviour (matching the official Python SDK):
8
+ * - If no message sent for HEARTBEAT_IDLE_MS, send a ProtoHeartbeatEvent
9
+ * - When a heartbeat is received from the server, immediately echo one back
10
+ * - If no heartbeat received from server for HEARTBEAT_TIMEOUT_MS, close
11
+ */
1
12
  import type { ConnectionState } from "./types.js";
2
13
  type PayloadHandler = (payload: Record<string, unknown>) => void;
3
14
  export type ConnectionEvent = "stateChange" | "error" | "message";
4
15
  type ConnectionEventHandler = (data: unknown) => void;
5
16
  export interface CTraderConnectionConfig {
6
- endpoint: string;
17
+ /** Hostname, e.g. "demo.ctraderapi.com" */
18
+ host: string;
19
+ /** Port — default 5035 */
20
+ port?: number;
7
21
  maxReconnectAttempts?: number;
8
22
  requestTimeoutMs?: number;
9
- /** Called after WebSocket reconnects (not initial connect). Use for re-auth + subscription restore. */
23
+ /** Called after TCP reconnects (not initial connect). Use for re-auth + subscription restore. */
10
24
  onReconnect?: () => Promise<void>;
11
25
  }
12
26
  export declare class CTraderConnection {
13
- private ws;
14
- private readonly endpoint;
27
+ private socket;
28
+ private readonly host;
29
+ private readonly port;
15
30
  private readonly maxReconnectAttempts;
16
31
  private readonly requestTimeoutMs;
17
32
  private readonly onReconnect;
@@ -24,6 +39,8 @@ export declare class CTraderConnection {
24
39
  private heartbeatCheckInterval;
25
40
  private lastHeartbeatAt;
26
41
  private lastSendAt;
42
+ /** Incoming data buffer for length-prefix framing */
43
+ private recvBuffer;
27
44
  private readonly pending;
28
45
  private readonly payloadHandlers;
29
46
  private readonly eventHandlers;
@@ -38,11 +55,8 @@ export declare class CTraderConnection {
38
55
  off(payloadType: number, handler: PayloadHandler): void;
39
56
  onEvent(event: ConnectionEvent, handler: ConnectionEventHandler): () => void;
40
57
  offEvent(event: ConnectionEvent, handler: ConnectionEventHandler): void;
58
+ private handleData;
41
59
  private handleMessage;
42
- /**
43
- * Send a bare heartbeat frame (no clientMsgId).
44
- * Mirrors the Python SDK's `self.send(ProtoHeartbeatEvent(), True)`.
45
- */
46
60
  private sendHeartbeat;
47
61
  private startHeartbeat;
48
62
  private stopHeartbeat;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AA6B5E,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAClE,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,sBAAsB,CAA+C;IAC7E,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG1B;gBAEQ,MAAM,EAAE,uBAAuB;IAO3C,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDxB,UAAU,IAAI,IAAI;IAmBlB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAepE,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAmBnC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IAU5D,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAIvD,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAU5E,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAIvE,OAAO,CAAC,aAAa;IA8DrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,IAAI;CAYb"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;AAsBlE,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAClE,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,sBAAsB,CAA+C;IAC7E,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAK;IAEvB,qDAAqD;IACrD,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG1B;gBAEQ,MAAM,EAAE,uBAAuB;IAQ3C,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAID,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqDxB,UAAU,IAAI,IAAI;IAqBlB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAYpE,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAqBnC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IAU5D,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAIvD,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAU5E,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAMvE,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,aAAa;IA2DrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,IAAI;CAYb"}
@@ -1,27 +1,28 @@
1
+ /**
2
+ * TLS/TCP connection to cTrader Open API (port 5035).
3
+ *
4
+ * Wire format (matching the official Python SDK):
5
+ * [4-byte big-endian length N][N bytes of serialized ProtoMessage]
6
+ *
7
+ * Heartbeat behaviour (matching the official Python SDK):
8
+ * - If no message sent for HEARTBEAT_IDLE_MS, send a ProtoHeartbeatEvent
9
+ * - When a heartbeat is received from the server, immediately echo one back
10
+ * - If no heartbeat received from server for HEARTBEAT_TIMEOUT_MS, close
11
+ */
12
+ import * as tls from "node:tls";
1
13
  import { CTraderError, NotConnectedError, RequestTimeoutError, } from "./errors.js";
2
14
  import { PayloadType } from "./enums.js";
15
+ import { encodeMessage, encodeHeartbeat, decodeMessage, } from "./codec.js";
3
16
  const REQUEST_TIMEOUT_MS = 15_000;
4
- /**
5
- * How often (ms) to check whether we should send a heartbeat.
6
- * The official Python SDK checks every 1 s.
7
- */
8
17
  const HEARTBEAT_CHECK_MS = 1_000;
9
- /**
10
- * Send a heartbeat if no message was sent for this many ms.
11
- * cTrader docs: "send a heartbeat at least once every 10 seconds".
12
- * The official Python SDK uses 20 s; we use the stricter 10 s.
13
- */
14
18
  const HEARTBEAT_IDLE_MS = 10_000;
15
- /**
16
- * Close the WebSocket if we haven't received a heartbeat from the server
17
- * within this window.
18
- */
19
19
  const HEARTBEAT_TIMEOUT_MS = 60_000;
20
20
  const INITIAL_RECONNECT_DELAY_MS = 2_000;
21
21
  const MAX_RECONNECT_DELAY_MS = 60_000;
22
22
  export class CTraderConnection {
23
- ws = null;
24
- endpoint;
23
+ socket = null;
24
+ host;
25
+ port;
25
26
  maxReconnectAttempts;
26
27
  requestTimeoutMs;
27
28
  onReconnect;
@@ -34,11 +35,14 @@ export class CTraderConnection {
34
35
  heartbeatCheckInterval = null;
35
36
  lastHeartbeatAt = 0;
36
37
  lastSendAt = 0;
38
+ /** Incoming data buffer for length-prefix framing */
39
+ recvBuffer = Buffer.alloc(0);
37
40
  pending = new Map();
38
41
  payloadHandlers = new Map();
39
42
  eventHandlers = new Map();
40
43
  constructor(config) {
41
- this.endpoint = config.endpoint;
44
+ this.host = config.host;
45
+ this.port = config.port ?? 5035;
42
46
  this.maxReconnectAttempts = config.maxReconnectAttempts ?? 0;
43
47
  this.requestTimeoutMs = config.requestTimeoutMs ?? REQUEST_TIMEOUT_MS;
44
48
  this.onReconnect = config.onReconnect;
@@ -49,40 +53,41 @@ export class CTraderConnection {
49
53
  get isConnected() {
50
54
  return this._state.status === "connected" || this._state.status === "ready";
51
55
  }
56
+ // ─── Connect ────────────────────────────────────────────────────────────
52
57
  connect() {
53
58
  return new Promise((resolve, reject) => {
54
- if (this._state.status === "connected") {
59
+ if (this._state.status === "connected" ||
60
+ this._state.status === "ready") {
55
61
  resolve();
56
62
  return;
57
63
  }
58
64
  this.shouldReconnect = true;
59
65
  this.reconnectAttempt = 0;
60
66
  this.setState({ status: "connecting", attempt: 1 });
61
- const ws = new WebSocket(this.endpoint);
62
- this.ws = ws;
63
- const onOpen = () => {
67
+ const socket = tls.connect({ host: this.host, port: this.port });
68
+ this.socket = socket;
69
+ const onSecureConnect = () => {
64
70
  cleanup();
65
71
  this.reconnectAttempt = 0;
66
72
  this.hasConnectedOnce = true;
73
+ this.recvBuffer = Buffer.alloc(0);
67
74
  this.setState({ status: "connected", since: Date.now() });
68
75
  this.startHeartbeat();
69
76
  resolve();
70
77
  };
71
- const onError = (event) => {
78
+ const onError = (err) => {
72
79
  cleanup();
73
- this.emit("error", event);
74
- reject(new Error("WebSocket connection failed"));
80
+ this.emit("error", err);
81
+ reject(new Error(`TLS connection failed: ${err.message}`));
75
82
  };
76
83
  const cleanup = () => {
77
- ws.removeEventListener("open", onOpen);
78
- ws.removeEventListener("error", onError);
84
+ socket.removeListener("secureConnect", onSecureConnect);
85
+ socket.removeListener("error", onError);
79
86
  };
80
- ws.addEventListener("open", onOpen);
81
- ws.addEventListener("error", onError);
82
- ws.addEventListener("message", (event) => {
83
- this.handleMessage(event);
84
- });
85
- ws.addEventListener("close", () => {
87
+ socket.on("secureConnect", onSecureConnect);
88
+ socket.on("error", onError);
89
+ socket.on("data", (chunk) => this.handleData(chunk));
90
+ socket.on("close", () => {
86
91
  this.stopHeartbeat();
87
92
  this.rejectPending(new Error("Connection closed"));
88
93
  if (this._state.status !== "disconnected") {
@@ -100,21 +105,20 @@ export class CTraderConnection {
100
105
  }
101
106
  this.stopHeartbeat();
102
107
  this.rejectPending(new Error("Client disconnected"));
103
- if (this.ws !== null) {
104
- this.ws.close();
105
- this.ws = null;
108
+ if (this.socket !== null) {
109
+ this.socket.destroy();
110
+ this.socket = null;
106
111
  }
107
112
  this.setState({ status: "disconnected" });
108
113
  }
114
+ // ─── Send ───────────────────────────────────────────────────────────────
109
115
  send(payloadType, payload) {
110
- if (this.ws === null || this.ws.readyState !== WebSocket.OPEN) {
116
+ if (this.socket === null || this.socket.destroyed) {
111
117
  throw new NotConnectedError();
112
118
  }
113
119
  const clientMsgId = crypto.randomUUID();
114
- const envelope = payload !== undefined
115
- ? { clientMsgId, payloadType, payload }
116
- : { clientMsgId, payloadType };
117
- this.ws.send(JSON.stringify(envelope));
120
+ const frame = encodeMessage(payloadType, payload, clientMsgId);
121
+ this.socket.write(frame);
118
122
  this.lastSendAt = Date.now();
119
123
  return clientMsgId;
120
124
  }
@@ -128,6 +132,7 @@ export class CTraderConnection {
128
132
  this.pending.set(clientMsgId, { resolve, reject, timeout });
129
133
  });
130
134
  }
135
+ // ─── Event handlers ─────────────────────────────────────────────────────
131
136
  on(payloadType, handler) {
132
137
  let handlers = this.payloadHandlers.get(payloadType);
133
138
  if (handlers === undefined) {
@@ -152,48 +157,59 @@ export class CTraderConnection {
152
157
  offEvent(event, handler) {
153
158
  this.eventHandlers.get(event)?.delete(handler);
154
159
  }
155
- handleMessage(event) {
156
- const raw = typeof event.data === "string" ? event.data : String(event.data);
157
- let envelope;
158
- try {
159
- envelope = JSON.parse(raw);
160
- }
161
- catch {
162
- return;
160
+ // ─── TCP framing: 4-byte length prefix ──────────────────────────────────
161
+ handleData(chunk) {
162
+ this.recvBuffer = Buffer.concat([this.recvBuffer, chunk]);
163
+ // Process as many complete messages as available
164
+ while (this.recvBuffer.length >= 4) {
165
+ const msgLen = this.recvBuffer.readUInt32BE(0);
166
+ if (this.recvBuffer.length < 4 + msgLen)
167
+ break; // incomplete message
168
+ const msgBytes = this.recvBuffer.subarray(4, 4 + msgLen);
169
+ this.recvBuffer = this.recvBuffer.subarray(4 + msgLen);
170
+ try {
171
+ const decoded = decodeMessage(msgBytes);
172
+ this.handleMessage(decoded);
173
+ }
174
+ catch (e) {
175
+ this.emit("error", e);
176
+ }
163
177
  }
164
- this.emit("message", envelope);
165
- const { clientMsgId, payloadType, payload } = envelope;
178
+ }
179
+ handleMessage(msg) {
180
+ this.emit("message", msg);
181
+ const { clientMsgId, payloadType, payload } = msg;
182
+ // Heartbeat: echo back immediately (matching official Python SDK)
166
183
  if (payloadType === PayloadType.HEARTBEAT_EVENT) {
167
184
  this.lastHeartbeatAt = Date.now();
168
- // Respond immediately — the official SDK echoes every server heartbeat
169
- // back as a pong. Without this the server considers us dead.
170
185
  this.sendHeartbeat();
171
186
  return;
172
187
  }
188
+ // Request/response correlation
173
189
  if (clientMsgId !== undefined && this.pending.has(clientMsgId)) {
174
190
  const req = this.pending.get(clientMsgId);
175
191
  this.pending.delete(clientMsgId);
176
192
  clearTimeout(req.timeout);
177
193
  if (payloadType === PayloadType.ERROR_RES ||
178
194
  payloadType === PayloadType.OA_ERROR_RES) {
179
- const err = payload;
180
- req.reject(this.makeError(err));
195
+ req.reject(this.makeError(payload));
181
196
  return;
182
197
  }
183
- req.resolve(payload ?? {});
198
+ req.resolve(payload);
184
199
  return;
185
200
  }
201
+ // Unsolicited error
186
202
  if (payloadType === PayloadType.ERROR_RES ||
187
203
  payloadType === PayloadType.OA_ERROR_RES) {
188
- const err = payload;
189
- this.emit("error", this.makeError(err));
204
+ this.emit("error", this.makeError(payload));
190
205
  return;
191
206
  }
207
+ // Push events (EXECUTION_EVENT, SPOT_EVENT, etc.)
192
208
  const handlers = this.payloadHandlers.get(payloadType);
193
209
  if (handlers !== undefined) {
194
210
  for (const handler of handlers) {
195
211
  try {
196
- handler(payload ?? {});
212
+ handler(payload);
197
213
  }
198
214
  catch (e) {
199
215
  this.emit("error", e);
@@ -201,14 +217,11 @@ export class CTraderConnection {
201
217
  }
202
218
  }
203
219
  }
204
- /**
205
- * Send a bare heartbeat frame (no clientMsgId).
206
- * Mirrors the Python SDK's `self.send(ProtoHeartbeatEvent(), True)`.
207
- */
220
+ // ─── Heartbeat ──────────────────────────────────────────────────────────
208
221
  sendHeartbeat() {
209
- if (this.ws?.readyState === WebSocket.OPEN) {
210
- const envelope = { payloadType: PayloadType.HEARTBEAT_EVENT };
211
- this.ws.send(JSON.stringify(envelope));
222
+ if (this.socket && !this.socket.destroyed) {
223
+ const frame = encodeHeartbeat();
224
+ this.socket.write(frame);
212
225
  this.lastSendAt = Date.now();
213
226
  }
214
227
  }
@@ -217,12 +230,10 @@ export class CTraderConnection {
217
230
  const now = Date.now();
218
231
  this.lastHeartbeatAt = now;
219
232
  this.lastSendAt = now;
220
- // Idle-based heartbeat: check every HEARTBEAT_CHECK_MS, send if we
221
- // haven't sent anything for HEARTBEAT_IDLE_MS. This matches the
222
- // official Python SDK's `_sendStrings` loop which checks every 1 s
223
- // and sends a heartbeat when idle for >20 s.
233
+ // Idle-based heartbeat: send if we haven't sent anything recently
224
234
  this.heartbeatInterval = setInterval(() => {
225
- if (this.ws?.readyState === WebSocket.OPEN &&
235
+ if (this.socket &&
236
+ !this.socket.destroyed &&
226
237
  Date.now() - this.lastSendAt >= HEARTBEAT_IDLE_MS) {
227
238
  this.sendHeartbeat();
228
239
  }
@@ -230,7 +241,7 @@ export class CTraderConnection {
230
241
  // Liveness check: close if we haven't heard from the server
231
242
  this.heartbeatCheckInterval = setInterval(() => {
232
243
  if (Date.now() - this.lastHeartbeatAt > HEARTBEAT_TIMEOUT_MS) {
233
- this.ws?.close();
244
+ this.socket?.destroy();
234
245
  }
235
246
  }, HEARTBEAT_CHECK_MS);
236
247
  }
@@ -244,6 +255,7 @@ export class CTraderConnection {
244
255
  this.heartbeatCheckInterval = null;
245
256
  }
246
257
  }
258
+ // ─── Reconnect ──────────────────────────────────────────────────────────
247
259
  scheduleReconnect() {
248
260
  if (!this.shouldReconnect)
249
261
  return;
@@ -268,17 +280,17 @@ export class CTraderConnection {
268
280
  if (!this.shouldReconnect)
269
281
  return;
270
282
  this.setState({ status: "connecting", attempt: this.reconnectAttempt });
271
- const ws = new WebSocket(this.endpoint);
272
- this.ws = ws;
273
- ws.addEventListener("open", async () => {
283
+ const socket = tls.connect({ host: this.host, port: this.port });
284
+ this.socket = socket;
285
+ socket.on("secureConnect", async () => {
274
286
  this.reconnectAttempt = 0;
287
+ this.recvBuffer = Buffer.alloc(0);
275
288
  const since = Date.now();
276
289
  this.setState({ status: "connected", since });
277
290
  this.startHeartbeat();
278
291
  if (this.hasConnectedOnce && this.onReconnect !== undefined) {
279
292
  try {
280
293
  await this.onReconnect();
281
- // Only emit ready if we're still connected after onReconnect
282
294
  if (this._state.status === "connected") {
283
295
  this.setState({ status: "ready", since });
284
296
  }
@@ -288,23 +300,21 @@ export class CTraderConnection {
288
300
  }
289
301
  }
290
302
  else {
291
- // Initial connect (no onReconnect) — immediately ready
292
303
  this.setState({ status: "ready", since });
293
304
  }
294
305
  });
295
- ws.addEventListener("message", (event) => {
296
- this.handleMessage(event);
297
- });
298
- ws.addEventListener("error", (event) => {
299
- this.emit("error", event);
306
+ socket.on("data", (chunk) => this.handleData(chunk));
307
+ socket.on("error", (err) => {
308
+ this.emit("error", err);
300
309
  });
301
- ws.addEventListener("close", () => {
310
+ socket.on("close", () => {
302
311
  this.stopHeartbeat();
303
312
  this.rejectPending(new Error("Connection closed"));
304
313
  this.setState({ status: "disconnected" });
305
314
  this.scheduleReconnect();
306
315
  });
307
316
  }
317
+ // ─── Helpers ────────────────────────────────────────────────────────────
308
318
  setState(state) {
309
319
  this._state = state;
310
320
  this.emit("stateChange", state);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export { CTraderTrading, type NewOrderParams, type LimitOrderParams, type StopOr
7
7
  export { CTraderAccount, type DealListParams, type OrderListParams, type TimeRangeParams, } from "./modules/account.js";
8
8
  export { CTraderMarket, type GetTrendbarsParams, type GetTickDataParams, } from "./modules/market.js";
9
9
  export { CTraderError, RequestTimeoutError, NotConnectedError, } from "./errors.js";
10
+ export { type DecodedMessage, getMessageClass } from "./codec.js";
10
11
  export { PayloadType, ProtoErrorCode, ProtoOAErrorCode, OrderType, TradeSide, TimeInForce, ExecutionType, PositionStatus, OrderStatus, DealStatus, TrendbarPeriod, QuoteType, OrderTriggerMethod, DayOfWeek, CommissionType, SymbolDistanceType, MinCommissionType, TradingMode, SwapCalculationType, AccessRights, TotalMarginCalculationType, AccountType, LimitedRiskMarginCalculationStrategy, StopOutStrategy, ClientPermissionScope, NotificationType, ChangeBonusType, ChangeBalanceType, } from "./enums.js";
11
- export type { Envelope, ConnectionState, Asset, AssetClass, Interval, Holiday, SymbolCategory, LightSymbol, ArchivedSymbol, FullSymbol, CtidTraderAccount, CtidProfile, Trader, TradeData, Position, Order, ClosePositionDetail, Deal, DealOffset, BonusDepositWithdraw, DepositWithdraw, Trendbar, TickData, DepthQuote, ExpectedMargin, PositionUnrealizedPnL, DynamicLeverageTier, DynamicLeverage, MarginCall, SpotEvent, ExecutionEvent, OrderErrorEvent, TraderUpdatedEvent, MarginChangedEvent, TokenInvalidatedEvent, ClientDisconnectEvent, AccountDisconnectEvent, SymbolChangedEvent, DepthEvent, TrailingSLChangedEvent, MarginCallEvent, OAErrorPayload, TokenPair, SlTpSpec, AccountState, } from "./types.js";
12
+ export type { ConnectionState, Asset, AssetClass, Interval, Holiday, SymbolCategory, LightSymbol, ArchivedSymbol, FullSymbol, CtidTraderAccount, CtidProfile, Trader, TradeData, Position, Order, ClosePositionDetail, Deal, DealOffset, BonusDepositWithdraw, DepositWithdraw, Trendbar, TickData, DepthQuote, ExpectedMargin, PositionUnrealizedPnL, DynamicLeverageTier, DynamicLeverage, MarginCall, SpotEvent, ExecutionEvent, OrderErrorEvent, TraderUpdatedEvent, MarginChangedEvent, TokenInvalidatedEvent, ClientDisconnectEvent, AccountDisconnectEvent, SymbolChangedEvent, DepthEvent, TrailingSLChangedEvent, MarginCallEvent, OAErrorPayload, TokenPair, SlTpSpec, AccountState, } from "./types.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,oCAAoC,EACpC,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,QAAQ,EACR,eAAe,EACf,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,IAAI,EACJ,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,oCAAoC,EACpC,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,IAAI,EACJ,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,GACb,MAAM,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -7,5 +7,6 @@ export { CTraderTrading, } from "./modules/trading.js";
7
7
  export { CTraderAccount, } from "./modules/account.js";
8
8
  export { CTraderMarket, } from "./modules/market.js";
9
9
  export { CTraderError, RequestTimeoutError, NotConnectedError, } from "./errors.js";
10
+ export { getMessageClass } from "./codec.js";
10
11
  export { PayloadType, ProtoErrorCode, ProtoOAErrorCode, OrderType, TradeSide, TimeInForce, ExecutionType, PositionStatus, OrderStatus, DealStatus, TrendbarPeriod, QuoteType, OrderTriggerMethod, DayOfWeek, CommissionType, SymbolDistanceType, MinCommissionType, TradingMode, SwapCalculationType, AccessRights, TotalMarginCalculationType, AccountType, LimitedRiskMarginCalculationStrategy, StopOutStrategy, ClientPermissionScope, NotificationType, ChangeBonusType, ChangeBalanceType, } from "./enums.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,GAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,GAUf,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,cAAc,GAQf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,oCAAoC,EACpC,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,GAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,GAUf,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,cAAc,GAQf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAuB,eAAe,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,oCAAoC,EACpC,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC"}