ctrader-ts 0.1.3 → 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.
- package/dist/bin/auth.js +8 -4
- package/dist/bin/auth.js.map +1 -1
- package/dist/src/client.d.ts +5 -3
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +81 -24
- package/dist/src/client.js.map +1 -1
- package/dist/src/codec.d.ts +50 -0
- package/dist/src/codec.d.ts.map +1 -0
- package/dist/src/codec.js +111 -0
- package/dist/src/codec.js.map +1 -0
- package/dist/src/config.d.ts +9 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +14 -4
- package/dist/src/config.js.map +1 -1
- package/dist/src/connect.d.ts +6 -2
- package/dist/src/connect.d.ts.map +1 -1
- package/dist/src/connect.js +9 -4
- package/dist/src/connect.js.map +1 -1
- package/dist/src/connection.d.ts +22 -8
- package/dist/src/connection.d.ts.map +1 -1
- package/dist/src/connection.js +106 -82
- package/dist/src/connection.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +3 -5
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/bin/auth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import * as p from "@clack/prompts";
|
|
3
|
-
import { saveConfig, loadStoredConfig, getConfigPath, DEMO_ENDPOINT } from "../src/config.js";
|
|
3
|
+
import { saveConfig, loadStoredConfig, getConfigPath, DEMO_ENDPOINT, } from "../src/config.js";
|
|
4
4
|
import { CTraderConnection } from "../src/connection.js";
|
|
5
5
|
import { CTraderAuth } from "../src/modules/auth.js";
|
|
6
6
|
const OAUTH_TOKEN_URL = "https://openapi.ctrader.com/apps/token";
|
|
@@ -12,7 +12,9 @@ async function exchangeCodeForToken(code, clientId, clientSecret) {
|
|
|
12
12
|
url.searchParams.set("redirect_uri", REDIRECT_URI);
|
|
13
13
|
url.searchParams.set("client_id", clientId);
|
|
14
14
|
url.searchParams.set("client_secret", clientSecret);
|
|
15
|
-
const res = await fetch(url.toString(), {
|
|
15
|
+
const res = await fetch(url.toString(), {
|
|
16
|
+
headers: { Accept: "application/json" },
|
|
17
|
+
});
|
|
16
18
|
if (!res.ok)
|
|
17
19
|
throw new Error(`HTTP ${res.status} from token endpoint`);
|
|
18
20
|
const body = (await res.json());
|
|
@@ -98,7 +100,7 @@ async function run() {
|
|
|
98
100
|
p.log.step("Step 3 of 3 — Choose account");
|
|
99
101
|
const spinner = p.spinner();
|
|
100
102
|
spinner.start("Fetching accounts…");
|
|
101
|
-
const connection = new CTraderConnection({
|
|
103
|
+
const connection = new CTraderConnection({ host: DEMO_ENDPOINT });
|
|
102
104
|
const auth = new CTraderAuth(connection);
|
|
103
105
|
let accounts;
|
|
104
106
|
try {
|
|
@@ -166,7 +168,9 @@ async function doOAuthFlow(clientId, clientSecret) {
|
|
|
166
168
|
const redirected = await p.text({
|
|
167
169
|
message: "Paste the redirect URL",
|
|
168
170
|
placeholder: "https://openapi.ctrader.com/?code=abc123xyz",
|
|
169
|
-
validate: (v) =>
|
|
171
|
+
validate: (v) => extractCode(v ?? "")
|
|
172
|
+
? undefined
|
|
173
|
+
: "No code found — paste the full URL from your browser's address bar",
|
|
170
174
|
});
|
|
171
175
|
if (p.isCancel(redirected)) {
|
|
172
176
|
p.cancel("Cancelled.");
|
package/dist/bin/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../bin/auth.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../bin/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/src/client.d.ts
CHANGED
|
@@ -6,15 +6,17 @@ import { CTraderMarket, type GetTickDataParams, type GetTrendbarsParams } from "
|
|
|
6
6
|
import { TradeSide } from "./enums.js";
|
|
7
7
|
import type { AccountState, ConnectionState, Deal, DealOffset, DepositWithdraw, DepthEvent, DynamicLeverage, ExecutionEvent, ExpectedMargin, FullSymbol, LightSymbol, MarginCall, MarginCallEvent, MarginChangedEvent, Order, OrderErrorEvent, Position, PositionUnrealizedPnL, SlTpSpec, SymbolChangedEvent, TickData, Trader, TraderUpdatedEvent, TrailingSLChangedEvent, Trendbar, TokenInvalidatedEvent, ClientDisconnectEvent, AccountDisconnectEvent } from "./types.js";
|
|
8
8
|
export interface CTraderClientConfig {
|
|
9
|
-
/**
|
|
10
|
-
|
|
9
|
+
/** Hostname — e.g. "demo.ctraderapi.com" or "live.ctraderapi.com" */
|
|
10
|
+
host: string;
|
|
11
|
+
/** Port — default 5035 */
|
|
12
|
+
port?: number;
|
|
11
13
|
/** Numeric cTID trader account ID */
|
|
12
14
|
accountId: number;
|
|
13
15
|
/** Max reconnect attempts before giving up. Default: unlimited */
|
|
14
16
|
maxReconnectAttempts?: number;
|
|
15
17
|
/** Per-request timeout in ms. Default: 15000 */
|
|
16
18
|
requestTimeoutMs?: number;
|
|
17
|
-
/** Called after
|
|
19
|
+
/** Called after TCP reconnect (not initial connect). Use for re-auth + subscription restore. */
|
|
18
20
|
onReconnect?: () => Promise<void>;
|
|
19
21
|
}
|
|
20
22
|
/** Volume in lots, e.g. 0.01, 0.1, 1.0 */
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/src/client.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CTraderConnection } from "./connection.js";
|
|
1
|
+
import { CTraderConnection, } from "./connection.js";
|
|
2
2
|
import { CTraderAuth } from "./modules/auth.js";
|
|
3
3
|
import { CTraderTrading, } from "./modules/trading.js";
|
|
4
4
|
import { CTraderAccount } from "./modules/account.js";
|
|
5
|
-
import { CTraderMarket } from "./modules/market.js";
|
|
5
|
+
import { CTraderMarket, } from "./modules/market.js";
|
|
6
6
|
import { SymbolCache } from "./symbol-cache.js";
|
|
7
7
|
import { PayloadType, TradeSide } from "./enums.js";
|
|
8
8
|
import { resolveSlTp } from "./helpers.js";
|
|
@@ -13,7 +13,9 @@ export class CTrader {
|
|
|
13
13
|
raw;
|
|
14
14
|
symbols;
|
|
15
15
|
constructor(config) {
|
|
16
|
-
const connConfig = {
|
|
16
|
+
const connConfig = { host: config.host };
|
|
17
|
+
if (config.port !== undefined)
|
|
18
|
+
connConfig.port = config.port;
|
|
17
19
|
if (config.maxReconnectAttempts !== undefined)
|
|
18
20
|
connConfig.maxReconnectAttempts = config.maxReconnectAttempts;
|
|
19
21
|
if (config.requestTimeoutMs !== undefined)
|
|
@@ -30,9 +32,13 @@ export class CTrader {
|
|
|
30
32
|
}
|
|
31
33
|
// ─── Connection ──────────────────────────────────────────────────────────
|
|
32
34
|
/** "connected" | "connecting" | "reconnecting" | "disconnected" */
|
|
33
|
-
get state() {
|
|
35
|
+
get state() {
|
|
36
|
+
return this.connection.state;
|
|
37
|
+
}
|
|
34
38
|
/** True when the WebSocket is open and ready */
|
|
35
|
-
get isConnected() {
|
|
39
|
+
get isConnected() {
|
|
40
|
+
return this.connection.isConnected;
|
|
41
|
+
}
|
|
36
42
|
/**
|
|
37
43
|
* Switch to a different account without reconnecting.
|
|
38
44
|
* If the account needs separate auth call raw.auth.authenticateAccount() first.
|
|
@@ -43,7 +49,9 @@ export class CTrader {
|
|
|
43
49
|
this.raw.market.setAccountId(accountId);
|
|
44
50
|
}
|
|
45
51
|
/** Disconnect the WebSocket and stop reconnecting */
|
|
46
|
-
disconnect() {
|
|
52
|
+
disconnect() {
|
|
53
|
+
this.connection.disconnect();
|
|
54
|
+
}
|
|
47
55
|
// ─── Symbols ─────────────────────────────────────────────────────────────
|
|
48
56
|
/**
|
|
49
57
|
* All available symbols for the account. Result is cached.
|
|
@@ -62,10 +70,14 @@ export class CTrader {
|
|
|
62
70
|
return this.raw.market.getSymbolsById(ids);
|
|
63
71
|
}
|
|
64
72
|
/** Force-refresh the symbol name→ID cache. Call if the broker adds new symbols. */
|
|
65
|
-
async refreshSymbols() {
|
|
73
|
+
async refreshSymbols() {
|
|
74
|
+
await this.symbols.refresh();
|
|
75
|
+
}
|
|
66
76
|
// ─── Account ─────────────────────────────────────────────────────────────
|
|
67
77
|
/** Trader profile: balance, equity, margin, account type, access rights */
|
|
68
|
-
async getTrader() {
|
|
78
|
+
async getTrader() {
|
|
79
|
+
return this.raw.account.getTrader();
|
|
80
|
+
}
|
|
69
81
|
/**
|
|
70
82
|
* All open positions and pending orders.
|
|
71
83
|
* @param returnProtectionOrders - Also return SL/TP as separate order objects
|
|
@@ -88,7 +100,8 @@ export class CTrader {
|
|
|
88
100
|
const unrealizedPnl = pnlData.pnls.reduce((sum, p) => sum + p.netUnrealizedPnL, 0) / divisor;
|
|
89
101
|
const balance = trader.balance / divisor;
|
|
90
102
|
const equity = balance + unrealizedPnl;
|
|
91
|
-
const usedMargin = reconciled.positions.reduce((sum, p) => sum + (p.usedMargin ?? 0), 0) /
|
|
103
|
+
const usedMargin = reconciled.positions.reduce((sum, p) => sum + (p.usedMargin ?? 0), 0) /
|
|
104
|
+
divisor;
|
|
92
105
|
const freeMargin = equity - usedMargin;
|
|
93
106
|
const result = {
|
|
94
107
|
balance,
|
|
@@ -166,9 +179,13 @@ export class CTrader {
|
|
|
166
179
|
return this.raw.account.getDynamicLeverage(leverageId);
|
|
167
180
|
}
|
|
168
181
|
/** Margin call threshold levels (up to 3) */
|
|
169
|
-
async getMarginCalls() {
|
|
182
|
+
async getMarginCalls() {
|
|
183
|
+
return this.raw.account.getMarginCalls();
|
|
184
|
+
}
|
|
170
185
|
/** Update a margin call threshold level */
|
|
171
|
-
async updateMarginCall(marginCall) {
|
|
186
|
+
async updateMarginCall(marginCall) {
|
|
187
|
+
return this.raw.account.updateMarginCall(marginCall);
|
|
188
|
+
}
|
|
172
189
|
// ─── Trading ─────────────────────────────────────────────────────────────
|
|
173
190
|
/**
|
|
174
191
|
* Market BUY — executes immediately at best available price.
|
|
@@ -231,7 +248,13 @@ export class CTrader {
|
|
|
231
248
|
async stopLimit(symbol, tradeSide, opts) {
|
|
232
249
|
const id = await this.symbols.resolveId(symbol);
|
|
233
250
|
const volume = lotsToUnits(opts.lots);
|
|
234
|
-
const sltp = await resolveSlTp({
|
|
251
|
+
const sltp = await resolveSlTp({
|
|
252
|
+
account: this.raw.account,
|
|
253
|
+
market: this.raw.market,
|
|
254
|
+
symbols: this.symbols,
|
|
255
|
+
symbolId: id,
|
|
256
|
+
volumeInUnits: volume,
|
|
257
|
+
}, opts.sl, opts.tp);
|
|
235
258
|
const p = {
|
|
236
259
|
symbolId: id,
|
|
237
260
|
tradeSide,
|
|
@@ -257,20 +280,28 @@ export class CTrader {
|
|
|
257
280
|
throw new Error(`Position ${positionId} not found`);
|
|
258
281
|
const volume = pos.tradeData.volume;
|
|
259
282
|
const symbolId = pos.tradeData.symbolId;
|
|
260
|
-
const sltp = await resolveSlTp({
|
|
283
|
+
const sltp = await resolveSlTp({
|
|
284
|
+
account: this.raw.account,
|
|
285
|
+
market: this.raw.market,
|
|
286
|
+
symbols: this.symbols,
|
|
287
|
+
symbolId,
|
|
288
|
+
volumeInUnits: volume,
|
|
289
|
+
}, opts.sl, opts.tp);
|
|
261
290
|
// Convert relative SL/TP to absolute prices: entry ± distance
|
|
262
291
|
const amendParams = {};
|
|
263
292
|
if (sltp.relativeStopLoss !== undefined && pos.price !== undefined) {
|
|
264
293
|
const distance = sltp.relativeStopLoss / 100_000;
|
|
265
|
-
amendParams.stopLoss =
|
|
266
|
-
|
|
267
|
-
|
|
294
|
+
amendParams.stopLoss =
|
|
295
|
+
pos.tradeData.tradeSide === TradeSide.BUY
|
|
296
|
+
? pos.price - distance
|
|
297
|
+
: pos.price + distance;
|
|
268
298
|
}
|
|
269
299
|
if (sltp.relativeTakeProfit !== undefined && pos.price !== undefined) {
|
|
270
300
|
const distance = sltp.relativeTakeProfit / 100_000;
|
|
271
|
-
amendParams.takeProfit =
|
|
272
|
-
|
|
273
|
-
|
|
301
|
+
amendParams.takeProfit =
|
|
302
|
+
pos.tradeData.tradeSide === TradeSide.BUY
|
|
303
|
+
? pos.price + distance
|
|
304
|
+
: pos.price - distance;
|
|
274
305
|
}
|
|
275
306
|
await this.raw.trading.amendPositionSltp(positionId, amendParams);
|
|
276
307
|
}
|
|
@@ -324,12 +355,20 @@ export class CTrader {
|
|
|
324
355
|
*/
|
|
325
356
|
async watchSpots(symbolsOrIds, handler) {
|
|
326
357
|
const ids = await Promise.all(symbolsOrIds.map((s) => this.symbols.resolveId(s)));
|
|
327
|
-
const idToName = new Map(ids.map((id, i) => [
|
|
358
|
+
const idToName = new Map(ids.map((id, i) => [
|
|
359
|
+
id,
|
|
360
|
+
typeof symbolsOrIds[i] === "string"
|
|
361
|
+
? symbolsOrIds[i]
|
|
362
|
+
: String(symbolsOrIds[i]),
|
|
363
|
+
]));
|
|
328
364
|
await this.raw.market.subscribeSpots(ids);
|
|
329
365
|
const unsub = this.raw.market.onSpot((event) => {
|
|
330
366
|
if (!ids.includes(event.symbolId))
|
|
331
367
|
return;
|
|
332
|
-
const price = {
|
|
368
|
+
const price = {
|
|
369
|
+
symbol: idToName.get(event.symbolId) ?? String(event.symbolId),
|
|
370
|
+
symbolId: event.symbolId,
|
|
371
|
+
};
|
|
333
372
|
if (event.bid !== undefined) {
|
|
334
373
|
price.bid = event.bid;
|
|
335
374
|
price.bidDecimal = event.bid / 100000;
|
|
@@ -433,7 +472,13 @@ export class CTrader {
|
|
|
433
472
|
async executeMarketOrder(symbol, tradeSide, opts) {
|
|
434
473
|
const id = await this.symbols.resolveId(symbol);
|
|
435
474
|
const volume = lotsToUnits(opts.lots);
|
|
436
|
-
const sltp = await resolveSlTp({
|
|
475
|
+
const sltp = await resolveSlTp({
|
|
476
|
+
account: this.raw.account,
|
|
477
|
+
market: this.raw.market,
|
|
478
|
+
symbols: this.symbols,
|
|
479
|
+
symbolId: id,
|
|
480
|
+
volumeInUnits: volume,
|
|
481
|
+
}, opts.sl, opts.tp);
|
|
437
482
|
const event = await this.raw.trading.marketOrder({
|
|
438
483
|
symbolId: id,
|
|
439
484
|
tradeSide,
|
|
@@ -450,7 +495,13 @@ export class CTrader {
|
|
|
450
495
|
async executeLimitOrder(symbol, tradeSide, opts) {
|
|
451
496
|
const id = await this.symbols.resolveId(symbol);
|
|
452
497
|
const volume = lotsToUnits(opts.lots);
|
|
453
|
-
const sltp = await resolveSlTp({
|
|
498
|
+
const sltp = await resolveSlTp({
|
|
499
|
+
account: this.raw.account,
|
|
500
|
+
market: this.raw.market,
|
|
501
|
+
symbols: this.symbols,
|
|
502
|
+
symbolId: id,
|
|
503
|
+
volumeInUnits: volume,
|
|
504
|
+
}, opts.sl, opts.tp);
|
|
454
505
|
const p = {
|
|
455
506
|
symbolId: id,
|
|
456
507
|
tradeSide,
|
|
@@ -466,7 +517,13 @@ export class CTrader {
|
|
|
466
517
|
async executeStopOrder(symbol, tradeSide, opts) {
|
|
467
518
|
const id = await this.symbols.resolveId(symbol);
|
|
468
519
|
const volume = lotsToUnits(opts.lots);
|
|
469
|
-
const sltp = await resolveSlTp({
|
|
520
|
+
const sltp = await resolveSlTp({
|
|
521
|
+
account: this.raw.account,
|
|
522
|
+
market: this.raw.market,
|
|
523
|
+
symbols: this.symbols,
|
|
524
|
+
symbolId: id,
|
|
525
|
+
volumeInUnits: volume,
|
|
526
|
+
}, opts.sl, opts.tp);
|
|
470
527
|
const p = {
|
|
471
528
|
symbolId: id,
|
|
472
529
|
tradeSide,
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codec layer: bridges the JS-object world (used by modules) and the
|
|
3
|
+
* Protobuf-over-TCP wire format expected by cTrader Open API (port 5035).
|
|
4
|
+
*
|
|
5
|
+
* Wire format: [4-byte big-endian length][ProtoMessage bytes]
|
|
6
|
+
*
|
|
7
|
+
* ProtoMessage is the outer envelope:
|
|
8
|
+
* required uint32 payloadType = 1;
|
|
9
|
+
* optional bytes payload = 2; // inner message serialised to bytes
|
|
10
|
+
* optional string clientMsgId = 3;
|
|
11
|
+
*
|
|
12
|
+
* We keep the module-facing API identical: modules hand us a payloadType
|
|
13
|
+
* number and a plain JS object; we look up the matching Protobuf class,
|
|
14
|
+
* encode the inner object, wrap it in a ProtoMessage, and return the
|
|
15
|
+
* framed bytes ready for the socket.
|
|
16
|
+
*/
|
|
17
|
+
interface PbMessageStatic {
|
|
18
|
+
encode(message: Record<string, unknown>, writer?: unknown): {
|
|
19
|
+
finish(): Uint8Array;
|
|
20
|
+
};
|
|
21
|
+
decode(reader: Uint8Array, length?: number): Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Look up the Protobuf message class for a given payloadType.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getMessageClass(payloadType: number): PbMessageStatic | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Encode a request into a framed buffer ready to write to the TCP socket.
|
|
29
|
+
*
|
|
30
|
+
* @param payloadType The ProtoOAPayloadType (e.g. 2100 for APP_AUTH_REQ)
|
|
31
|
+
* @param payload Plain JS object with the message fields (or undefined)
|
|
32
|
+
* @param clientMsgId Optional correlation ID
|
|
33
|
+
* @returns Buffer with [4-byte length prefix][ProtoMessage bytes]
|
|
34
|
+
*/
|
|
35
|
+
export declare function encodeMessage(payloadType: number, payload?: Record<string, unknown>, clientMsgId?: string): Buffer;
|
|
36
|
+
/**
|
|
37
|
+
* Encode a heartbeat event (no inner payload, no clientMsgId).
|
|
38
|
+
*/
|
|
39
|
+
export declare function encodeHeartbeat(): Buffer;
|
|
40
|
+
export interface DecodedMessage {
|
|
41
|
+
payloadType: number;
|
|
42
|
+
clientMsgId: string | undefined;
|
|
43
|
+
payload: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decode a ProtoMessage envelope from raw bytes (without the 4-byte length prefix).
|
|
47
|
+
*/
|
|
48
|
+
export declare function decodeMessage(data: Uint8Array): DecodedMessage;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,UAAU,eAAe;IACvB,MAAM,CACJ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,OAAO,GACf;QAAE,MAAM,IAAI,UAAU,CAAA;KAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtE;AA+BD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,eAAe,GAAG,SAAS,CAE7B;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAexC;AAMD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAc9D"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codec layer: bridges the JS-object world (used by modules) and the
|
|
3
|
+
* Protobuf-over-TCP wire format expected by cTrader Open API (port 5035).
|
|
4
|
+
*
|
|
5
|
+
* Wire format: [4-byte big-endian length][ProtoMessage bytes]
|
|
6
|
+
*
|
|
7
|
+
* ProtoMessage is the outer envelope:
|
|
8
|
+
* required uint32 payloadType = 1;
|
|
9
|
+
* optional bytes payload = 2; // inner message serialised to bytes
|
|
10
|
+
* optional string clientMsgId = 3;
|
|
11
|
+
*
|
|
12
|
+
* We keep the module-facing API identical: modules hand us a payloadType
|
|
13
|
+
* number and a plain JS object; we look up the matching Protobuf class,
|
|
14
|
+
* encode the inner object, wrap it in a ProtoMessage, and return the
|
|
15
|
+
* framed bytes ready for the socket.
|
|
16
|
+
*/
|
|
17
|
+
import { ProtoMessage, ProtoHeartbeatEvent } from "./proto/messages.js";
|
|
18
|
+
import { PayloadType } from "./enums.js";
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Payload-type → Protobuf class registry
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
import * as pb from "./proto/messages.js";
|
|
23
|
+
const registry = new Map();
|
|
24
|
+
// Scan every export from the generated module. Each message class has
|
|
25
|
+
// static encode/decode methods and instances carry a default payloadType.
|
|
26
|
+
for (const key of Object.keys(pb)) {
|
|
27
|
+
const candidate = pb[key];
|
|
28
|
+
if (candidate != null &&
|
|
29
|
+
typeof candidate === "function" &&
|
|
30
|
+
"encode" in candidate &&
|
|
31
|
+
"decode" in candidate &&
|
|
32
|
+
typeof candidate.encode === "function" &&
|
|
33
|
+
typeof candidate.decode === "function") {
|
|
34
|
+
try {
|
|
35
|
+
const instance = new candidate();
|
|
36
|
+
const pt = instance["payloadType"];
|
|
37
|
+
if (typeof pt === "number" && pt > 0) {
|
|
38
|
+
registry.set(pt, candidate);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Not a constructable message class — skip
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Look up the Protobuf message class for a given payloadType.
|
|
48
|
+
*/
|
|
49
|
+
export function getMessageClass(payloadType) {
|
|
50
|
+
return registry.get(payloadType);
|
|
51
|
+
}
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Encode
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
/**
|
|
56
|
+
* Encode a request into a framed buffer ready to write to the TCP socket.
|
|
57
|
+
*
|
|
58
|
+
* @param payloadType The ProtoOAPayloadType (e.g. 2100 for APP_AUTH_REQ)
|
|
59
|
+
* @param payload Plain JS object with the message fields (or undefined)
|
|
60
|
+
* @param clientMsgId Optional correlation ID
|
|
61
|
+
* @returns Buffer with [4-byte length prefix][ProtoMessage bytes]
|
|
62
|
+
*/
|
|
63
|
+
export function encodeMessage(payloadType, payload, clientMsgId) {
|
|
64
|
+
const envelope = { payloadType };
|
|
65
|
+
if (clientMsgId)
|
|
66
|
+
envelope.clientMsgId = clientMsgId;
|
|
67
|
+
if (payload !== undefined) {
|
|
68
|
+
const msgClass = registry.get(payloadType);
|
|
69
|
+
if (msgClass) {
|
|
70
|
+
const innerWriter = msgClass.encode(payload);
|
|
71
|
+
envelope.payload = innerWriter.finish();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const protoBytes = ProtoMessage.encode(envelope).finish();
|
|
75
|
+
const frame = Buffer.alloc(4 + protoBytes.length);
|
|
76
|
+
frame.writeUInt32BE(protoBytes.length, 0);
|
|
77
|
+
frame.set(protoBytes, 4);
|
|
78
|
+
return frame;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Encode a heartbeat event (no inner payload, no clientMsgId).
|
|
82
|
+
*/
|
|
83
|
+
export function encodeHeartbeat() {
|
|
84
|
+
const heartbeatBytes = ProtoHeartbeatEvent.encode({}).finish();
|
|
85
|
+
const envelope = {
|
|
86
|
+
payloadType: PayloadType.HEARTBEAT_EVENT,
|
|
87
|
+
payload: heartbeatBytes,
|
|
88
|
+
};
|
|
89
|
+
const protoBytes = ProtoMessage.encode(envelope).finish();
|
|
90
|
+
const frame = Buffer.alloc(4 + protoBytes.length);
|
|
91
|
+
frame.writeUInt32BE(protoBytes.length, 0);
|
|
92
|
+
frame.set(protoBytes, 4);
|
|
93
|
+
return frame;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Decode a ProtoMessage envelope from raw bytes (without the 4-byte length prefix).
|
|
97
|
+
*/
|
|
98
|
+
export function decodeMessage(data) {
|
|
99
|
+
const envelope = ProtoMessage.decode(data);
|
|
100
|
+
const payloadType = envelope.payloadType;
|
|
101
|
+
const clientMsgId = envelope.clientMsgId || undefined;
|
|
102
|
+
let payload = {};
|
|
103
|
+
if (envelope.payload && envelope.payload.length > 0) {
|
|
104
|
+
const msgClass = registry.get(payloadType);
|
|
105
|
+
if (msgClass) {
|
|
106
|
+
payload = msgClass.decode(envelope.payload);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return { payloadType, clientMsgId, payload };
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.d.ts
CHANGED
|
@@ -8,8 +8,15 @@ export interface CTraderConfig {
|
|
|
8
8
|
environment: Environment;
|
|
9
9
|
}
|
|
10
10
|
export type PartialConfig = Partial<CTraderConfig>;
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
11
|
+
export declare const DEMO_HOST = "demo.ctraderapi.com";
|
|
12
|
+
export declare const LIVE_HOST = "live.ctraderapi.com";
|
|
13
|
+
export declare const API_PORT = 5035;
|
|
14
|
+
/** @deprecated Use DEMO_HOST instead */
|
|
15
|
+
export declare const DEMO_ENDPOINT = "demo.ctraderapi.com";
|
|
16
|
+
/** @deprecated Use LIVE_HOST instead */
|
|
17
|
+
export declare const LIVE_ENDPOINT = "live.ctraderapi.com";
|
|
18
|
+
export declare function hostForEnvironment(environment: Environment): string;
|
|
19
|
+
/** @deprecated Use hostForEnvironment instead */
|
|
13
20
|
export declare function endpointForEnvironment(environment: Environment): string;
|
|
14
21
|
export declare function loadStoredConfig(): PartialConfig;
|
|
15
22
|
export declare function saveConfig(config: CTraderConfig): void;
|