ctrader-ts 0.1.10 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +259 -91
  2. package/dist/bin/auth.js +8 -8
  3. package/dist/bin/auth.js.map +1 -1
  4. package/dist/cli/index.js +169 -26
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/src/{client.d.ts → core/client.d.ts} +57 -15
  7. package/dist/src/core/client.d.ts.map +1 -0
  8. package/dist/src/{client.js → core/client.js} +306 -49
  9. package/dist/src/core/client.js.map +1 -0
  10. package/dist/src/core/config.d.ts.map +1 -0
  11. package/dist/src/{config.js → core/config.js} +13 -13
  12. package/dist/src/core/config.js.map +1 -0
  13. package/dist/src/{connect.d.ts → core/connect.d.ts} +3 -3
  14. package/dist/src/core/connect.d.ts.map +1 -0
  15. package/dist/src/{connect.js → core/connect.js} +4 -6
  16. package/dist/src/core/connect.js.map +1 -0
  17. package/dist/src/{connection.d.ts → core/connection.d.ts} +53 -4
  18. package/dist/src/core/connection.d.ts.map +1 -0
  19. package/dist/src/{connection.js → core/connection.js} +152 -18
  20. package/dist/src/core/connection.js.map +1 -0
  21. package/dist/src/{errors.d.ts → core/errors.d.ts} +5 -0
  22. package/dist/src/core/errors.d.ts.map +1 -0
  23. package/dist/src/core/errors.js +85 -0
  24. package/dist/src/core/errors.js.map +1 -0
  25. package/dist/src/{helpers.d.ts → core/helpers.d.ts} +3 -3
  26. package/dist/src/core/helpers.d.ts.map +1 -0
  27. package/dist/src/{helpers.js → core/helpers.js} +9 -7
  28. package/dist/src/core/helpers.js.map +1 -0
  29. package/dist/src/{symbol-cache.d.ts → core/symbol-cache.d.ts} +2 -2
  30. package/dist/src/core/symbol-cache.d.ts.map +1 -0
  31. package/dist/src/core/symbol-cache.js.map +1 -0
  32. package/dist/src/index.d.ts +26 -11
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +24 -9
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/modules/account.d.ts +68 -2
  37. package/dist/src/modules/account.d.ts.map +1 -1
  38. package/dist/src/modules/account.js +91 -34
  39. package/dist/src/modules/account.js.map +1 -1
  40. package/dist/src/modules/auth.d.ts +29 -2
  41. package/dist/src/modules/auth.d.ts.map +1 -1
  42. package/dist/src/modules/auth.js +42 -10
  43. package/dist/src/modules/auth.js.map +1 -1
  44. package/dist/src/modules/market.d.ts +51 -3
  45. package/dist/src/modules/market.d.ts.map +1 -1
  46. package/dist/src/modules/market.js +57 -16
  47. package/dist/src/modules/market.js.map +1 -1
  48. package/dist/src/modules/trading.d.ts +69 -3
  49. package/dist/src/modules/trading.d.ts.map +1 -1
  50. package/dist/src/modules/trading.js +74 -35
  51. package/dist/src/modules/trading.js.map +1 -1
  52. package/dist/src/protocol/codec.d.ts.map +1 -0
  53. package/dist/src/{codec.js → protocol/codec.js} +2 -2
  54. package/dist/src/protocol/codec.js.map +1 -0
  55. package/dist/src/{enums.d.ts → protocol/enums.d.ts} +177 -0
  56. package/dist/src/protocol/enums.d.ts.map +1 -0
  57. package/dist/src/{enums.js → protocol/enums.js} +177 -0
  58. package/dist/src/protocol/enums.js.map +1 -0
  59. package/dist/src/protocol/proto/messages.d.ts +7496 -0
  60. package/dist/src/protocol/proto/messages.js +21525 -0
  61. package/dist/src/protocol/proto/proto/messages.d.ts +7496 -0
  62. package/dist/src/protocol/proto/proto/messages.js +21525 -0
  63. package/dist/src/{types.d.ts → protocol/types.d.ts} +151 -3
  64. package/dist/src/protocol/types.d.ts.map +1 -0
  65. package/dist/src/{types.js.map → protocol/types.js.map} +1 -1
  66. package/llms.txt +280 -0
  67. package/package.json +89 -61
  68. package/dist/src/client.d.ts.map +0 -1
  69. package/dist/src/client.js.map +0 -1
  70. package/dist/src/codec.d.ts.map +0 -1
  71. package/dist/src/codec.js.map +0 -1
  72. package/dist/src/config.d.ts.map +0 -1
  73. package/dist/src/config.js.map +0 -1
  74. package/dist/src/connect.d.ts.map +0 -1
  75. package/dist/src/connect.js.map +0 -1
  76. package/dist/src/connection.d.ts.map +0 -1
  77. package/dist/src/connection.js.map +0 -1
  78. package/dist/src/enums.d.ts.map +0 -1
  79. package/dist/src/enums.js.map +0 -1
  80. package/dist/src/errors.d.ts.map +0 -1
  81. package/dist/src/errors.js +0 -47
  82. package/dist/src/errors.js.map +0 -1
  83. package/dist/src/helpers.d.ts.map +0 -1
  84. package/dist/src/helpers.js.map +0 -1
  85. package/dist/src/proto/messages.d.ts +0 -7076
  86. package/dist/src/proto/messages.js +0 -23289
  87. package/dist/src/proto/proto/messages.d.ts +0 -7076
  88. package/dist/src/proto/proto/messages.js +0 -23289
  89. package/dist/src/symbol-cache.d.ts.map +0 -1
  90. package/dist/src/symbol-cache.js.map +0 -1
  91. package/dist/src/types.d.ts.map +0 -1
  92. /package/dist/src/{config.d.ts → core/config.d.ts} +0 -0
  93. /package/dist/src/{symbol-cache.js → core/symbol-cache.js} +0 -0
  94. /package/dist/src/{codec.d.ts → protocol/codec.d.ts} +0 -0
  95. /package/dist/src/{types.js → protocol/types.js} +0 -0
@@ -1,13 +1,28 @@
1
- export { connect, DEMO_ENDPOINT, LIVE_ENDPOINT, type ConnectOptions, } from "./connect.js";
2
- export { CTrader, lotsToUnits, unitsToLots, pipsToRelative, type CTraderClientConfig, type Lots, type Symbol, type MarketOrderOptions, type LimitOrderOptions, type StopOrderOptions, type StopLimitOptions, type ModifyOptions, type SpotPrice, } from "./client.js";
3
- export { type CTraderConfig, type PartialConfig, loadStoredConfig, saveConfig, getConfigPath, resolveConfig, } from "./config.js";
4
- export { CTraderConnection, type CTraderConnectionConfig, type ConnectionEvent, } from "./connection.js";
5
- export { CTraderAuth } from "./modules/auth.js";
6
- export { CTraderTrading, type NewOrderParams, type LimitOrderParams, type StopOrderParams, type MarketRangeOrderParams, type StopLimitOrderParams, type AmendOrderParams, type AmendSltpParams, } from "./modules/trading.js";
1
+ /**
2
+ * ctrader-ts TypeScript client for the cTrader Open API.
3
+ *
4
+ * Quick start:
5
+ * ```ts
6
+ * import { connect } from "ctrader-ts";
7
+ * const ct = await connect();
8
+ * const pos = await ct.buy("EURUSD", { lots: 0.1, sl: { pips: 50 } });
9
+ * await ct.close(pos.positionId);
10
+ * ```
11
+ *
12
+ * @see {@link connect} for the recommended entry point.
13
+ * @see {@link CTrader} for the full high-level API.
14
+ * @packageDocumentation
15
+ */
16
+ export { CTrader, type CTraderClientConfig, type LimitOrderOptions, type Lots, lotsToUnits, type MarketOrderOptions, type ModifyOptions, pipsToRelative, type SpotPrice, type StopLimitOptions, type StopOrderOptions, type Symbol, unitsToLots, } from "./core/client.js";
17
+ export { type CTraderConfig, getConfigPath, loadStoredConfig, type PartialConfig, resolveConfig, saveConfig, } from "./core/config.js";
18
+ export { type ConnectOptions, connect, DEMO_ENDPOINT, LIVE_ENDPOINT, } from "./core/connect.js";
19
+ export { type ConnectionEvent, CTraderConnection, type CTraderConnectionConfig, } from "./core/connection.js";
20
+ export { CTraderError, NotConnectedError, RequestTimeoutError, } from "./core/errors.js";
7
21
  export { CTraderAccount, type DealListParams, type OrderListParams, type TimeRangeParams, } from "./modules/account.js";
8
- export { CTraderMarket, type GetTrendbarsParams, type GetTickDataParams, } from "./modules/market.js";
9
- export { CTraderError, RequestTimeoutError, NotConnectedError, } from "./errors.js";
10
- export { type DecodedMessage, getMessageClass } from "./codec.js";
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";
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";
22
+ export { CTraderAuth } from "./modules/auth.js";
23
+ export { CTraderMarket, type GetTickDataParams, type GetTrendbarsParams, } from "./modules/market.js";
24
+ export { type AmendOrderParams, type AmendSltpParams, CTraderTrading, type LimitOrderParams, type MarketRangeOrderParams, type NewOrderParams, type StopLimitOrderParams, type StopOrderParams, } from "./modules/trading.js";
25
+ export { type DecodedMessage, getMessageClass } from "./protocol/codec.js";
26
+ export { AccessRights, AccountType, ChangeBalanceType, ChangeBonusType, ClientPermissionScope, CommissionType, DayOfWeek, DealStatus, ExecutionType, LimitedRiskMarginCalculationStrategy, MinCommissionType, NotificationType, OrderStatus, OrderTriggerMethod, OrderType, PayloadType, PositionStatus, ProtoErrorCode, ProtoOAErrorCode, QuoteType, StopOutStrategy, SwapCalculationType, SymbolDistanceType, TimeInForce, TotalMarginCalculationType, TradeSide, TradingMode, TrendbarPeriod, } from "./protocol/enums.js";
27
+ export type { AccountDisconnectEvent, AccountState, ArchivedSymbol, Asset, AssetClass, BonusDepositWithdraw, ClientDisconnectEvent, ClosePositionDetail, ConnectionState, CtidProfile, CtidTraderAccount, Deal, DealOffset, DepositWithdraw, DepthEvent, DepthQuote, DynamicLeverage, DynamicLeverageTier, EnrichedPosition, EnrichedTrader, ExecutionEvent, ExpectedMargin, FullSymbol, GetDealsOptions, GetOrdersOptions, Holiday, Interval, LightSymbol, LiveAccountState, MarginCall, MarginCallEvent, MarginChangedEvent, OAErrorPayload, Order, OrderErrorEvent, Position, PositionUnrealizedPnL, SlTpSpec, SpotEvent, SymbolCategory, SymbolChangedEvent, TickData, TokenInvalidatedEvent, TokenPair, TradeData, Trader, TraderUpdatedEvent, TrailingSLChangedEvent, Trendbar, WatchStateOptions, } from "./protocol/types.js";
13
28
  //# 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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACN,OAAO,EACP,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,IAAI,EACT,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,KAAK,aAAa,EAClB,aAAa,EACb,gBAAgB,EAChB,KAAK,aAAa,EAClB,aAAa,EACb,UAAU,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,KAAK,cAAc,EACnB,OAAO,EACP,aAAa,EACb,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,KAAK,eAAe,EACpB,iBAAiB,EACjB,KAAK,uBAAuB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACN,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,UAAU,EACV,aAAa,EACb,oCAAoC,EACpC,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,eAAe,EACf,QAAQ,EACR,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,iBAAiB,GACjB,MAAM,qBAAqB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,12 +1,27 @@
1
- export { connect, DEMO_ENDPOINT, LIVE_ENDPOINT, } from "./connect.js";
2
- export { CTrader, lotsToUnits, unitsToLots, pipsToRelative, } from "./client.js";
3
- export { loadStoredConfig, saveConfig, getConfigPath, resolveConfig, } from "./config.js";
4
- export { CTraderConnection, } from "./connection.js";
5
- export { CTraderAuth } from "./modules/auth.js";
6
- export { CTraderTrading, } from "./modules/trading.js";
1
+ /**
2
+ * ctrader-ts TypeScript client for the cTrader Open API.
3
+ *
4
+ * Quick start:
5
+ * ```ts
6
+ * import { connect } from "ctrader-ts";
7
+ * const ct = await connect();
8
+ * const pos = await ct.buy("EURUSD", { lots: 0.1, sl: { pips: 50 } });
9
+ * await ct.close(pos.positionId);
10
+ * ```
11
+ *
12
+ * @see {@link connect} for the recommended entry point.
13
+ * @see {@link CTrader} for the full high-level API.
14
+ * @packageDocumentation
15
+ */
16
+ export { CTrader, lotsToUnits, pipsToRelative, unitsToLots, } from "./core/client.js";
17
+ export { getConfigPath, loadStoredConfig, resolveConfig, saveConfig, } from "./core/config.js";
18
+ export { connect, DEMO_ENDPOINT, LIVE_ENDPOINT, } from "./core/connect.js";
19
+ export { CTraderConnection, } from "./core/connection.js";
20
+ export { CTraderError, NotConnectedError, RequestTimeoutError, } from "./core/errors.js";
7
21
  export { CTraderAccount, } from "./modules/account.js";
22
+ export { CTraderAuth } from "./modules/auth.js";
8
23
  export { CTraderMarket, } from "./modules/market.js";
9
- export { CTraderError, RequestTimeoutError, NotConnectedError, } from "./errors.js";
10
- export { getMessageClass } from "./codec.js";
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";
24
+ export { CTraderTrading, } from "./modules/trading.js";
25
+ export { getMessageClass } from "./protocol/codec.js";
26
+ export { AccessRights, AccountType, ChangeBalanceType, ChangeBonusType, ClientPermissionScope, CommissionType, DayOfWeek, DealStatus, ExecutionType, LimitedRiskMarginCalculationStrategy, MinCommissionType, NotificationType, OrderStatus, OrderTriggerMethod, OrderType, PayloadType, PositionStatus, ProtoErrorCode, ProtoOAErrorCode, QuoteType, StopOutStrategy, SwapCalculationType, SymbolDistanceType, TimeInForce, TotalMarginCalculationType, TradeSide, TradingMode, TrendbarPeriod, } from "./protocol/enums.js";
12
27
  //# 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,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACN,OAAO,EAIP,WAAW,EAGX,cAAc,EAKd,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEN,aAAa,EACb,gBAAgB,EAEhB,aAAa,EACb,UAAU,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEN,OAAO,EACP,aAAa,EACb,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEN,iBAAiB,GAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,cAAc,GAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGN,cAAc,GAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAuB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACN,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,UAAU,EACV,aAAa,EACb,oCAAoC,EACpC,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,cAAc,GACd,MAAM,qBAAqB,CAAC"}
@@ -1,67 +1,133 @@
1
- import type { CTraderConnection } from "../connection.js";
2
- import type { Deal, DealOffset, DepositWithdraw, DynamicLeverage, ExpectedMargin, MarginCall, MarginCallEvent, MarginChangedEvent, Order, Position, PositionUnrealizedPnL, Trader, TraderUpdatedEvent } from "../types.js";
1
+ import type { CTraderConnection } from "../core/connection.js";
2
+ import type { Deal, DealOffset, DepositWithdraw, DynamicLeverage, ExpectedMargin, MarginCall, MarginCallEvent, MarginChangedEvent, Order, Position, PositionUnrealizedPnL, Trader, TraderUpdatedEvent } from "../protocol/types.js";
3
+ /**
4
+ * Parameters for querying deal history
5
+ */
3
6
  export interface DealListParams {
4
7
  fromTimestamp?: number;
5
8
  toTimestamp?: number;
6
9
  maxRows?: number;
7
10
  }
11
+ /**
12
+ * Parameters for querying order history
13
+ */
8
14
  export interface OrderListParams {
9
15
  fromTimestamp?: number;
10
16
  toTimestamp?: number;
11
17
  }
18
+ /**
19
+ * Optional time range filter
20
+ */
12
21
  export interface TimeRangeParams {
13
22
  fromTimestamp?: number;
14
23
  toTimestamp?: number;
15
24
  }
25
+ /**
26
+ * Low-level account operations — reconcile, history, margin queries. Use CTrader (client.ts) for the high-level API.
27
+ */
16
28
  export declare class CTraderAccount {
17
29
  private readonly connection;
18
30
  private accountId;
19
31
  constructor(connection: CTraderConnection, accountId: number);
20
32
  setAccountId(accountId: number): void;
33
+ /**
34
+ * Get current trader account info
35
+ */
21
36
  getTrader(): Promise<Trader>;
37
+ /**
38
+ * Sync local state with server — get current positions and orders
39
+ */
22
40
  reconcile(returnProtectionOrders?: boolean): Promise<{
23
41
  positions: Position[];
24
42
  orders: Order[];
25
43
  }>;
44
+ /**
45
+ * Get deal history
46
+ */
26
47
  getDeals(params?: DealListParams): Promise<{
27
48
  deals: Deal[];
28
49
  hasMore: boolean;
29
50
  }>;
51
+ /**
52
+ * Get deals for a specific position
53
+ */
30
54
  getDealsByPosition(positionId: number, params?: TimeRangeParams): Promise<{
31
55
  deals: Deal[];
32
56
  hasMore: boolean;
33
57
  }>;
58
+ /**
59
+ * Get offset information for a specific deal
60
+ */
34
61
  getDealOffsets(dealId: number): Promise<{
35
62
  offsetBy: DealOffset[];
36
63
  offsetting: DealOffset[];
37
64
  }>;
65
+ /**
66
+ * Get order history
67
+ */
38
68
  getOrders(params?: OrderListParams): Promise<{
39
69
  orders: Order[];
40
70
  hasMore: boolean;
41
71
  }>;
72
+ /**
73
+ * Get details for a specific order
74
+ */
42
75
  getOrderDetails(orderId: number): Promise<{
43
76
  order: Order;
44
77
  deals: Deal[];
45
78
  }>;
79
+ /**
80
+ * Get orders for a specific position
81
+ */
46
82
  getOrdersByPosition(positionId: number, params?: TimeRangeParams): Promise<{
47
83
  orders: Order[];
48
84
  hasMore: boolean;
49
85
  }>;
86
+ /**
87
+ * Get cash flow history (deposits/withdrawals)
88
+ */
50
89
  getCashFlowHistory(fromTimestamp: number, toTimestamp: number): Promise<DepositWithdraw[]>;
90
+ /**
91
+ * Get expected margin for volumes on a symbol
92
+ */
51
93
  getExpectedMargin(symbolId: number, volumes: number[]): Promise<{
52
94
  margins: ExpectedMargin[];
53
95
  moneyDigits?: number;
54
96
  }>;
97
+ /**
98
+ * Get unrealized PnL for all open positions
99
+ */
55
100
  getPositionUnrealizedPnl(): Promise<{
56
101
  pnls: PositionUnrealizedPnL[];
57
102
  moneyDigits: number;
58
103
  }>;
104
+ /**
105
+ * Get dynamic leverage information
106
+ */
59
107
  getDynamicLeverage(leverageId: number): Promise<DynamicLeverage>;
108
+ /**
109
+ * Get margin call list
110
+ */
60
111
  getMarginCalls(): Promise<MarginCall[]>;
112
+ /**
113
+ * Update a margin call
114
+ */
61
115
  updateMarginCall(marginCall: MarginCall): Promise<void>;
116
+ /**
117
+ * Subscribe to trader account update events
118
+ */
62
119
  onTraderUpdated(handler: (event: TraderUpdatedEvent) => void): () => void;
120
+ /**
121
+ * Subscribe to margin change events
122
+ */
63
123
  onMarginChanged(handler: (event: MarginChangedEvent) => void): () => void;
124
+ /**
125
+ * Subscribe to margin call update events
126
+ */
64
127
  onMarginCallUpdate(handler: (event: MarginCallEvent) => void): () => void;
128
+ /**
129
+ * Subscribe to margin call trigger events
130
+ */
65
131
  onMarginCallTrigger(handler: (event: MarginCallEvent) => void): () => void;
66
132
  }
67
133
  //# sourceMappingURL=account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/modules/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/modules/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EACX,IAAI,EACJ,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,qBAAqB,EACrB,MAAM,EACN,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM;IAK5D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAOlC;;OAEG;IACG,SAAS,CACd,sBAAsB,CAAC,EAAE,OAAO,GAC9B,OAAO,CAAC;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;IAWtD;;OAEG;IACG,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAYzF;;OAEG;IACG,kBAAkB,CACvB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,eAAoB,GAC1B,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAW/C;;OAEG;IACG,cAAc,CACnB,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAWhE;;OAEG;IACG,SAAS,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAW7F;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAWhF;;OAEG;IACG,mBAAmB,CACxB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,eAAoB,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAWjD;;OAEG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAShG;;OAEG;IACG,iBAAiB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAa/D;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC;QACzC,IAAI,EAAE,qBAAqB,EAAE,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IAUF;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQtE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAO7C;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI;IAMzE;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI;IAMzE;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAMzE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;CAK1E"}
@@ -1,4 +1,7 @@
1
- import { PayloadType } from "../enums.js";
1
+ import { PayloadType } from "../protocol/enums.js";
2
+ /**
3
+ * Low-level account operations — reconcile, history, margin queries. Use CTrader (client.ts) for the high-level API.
4
+ */
2
5
  export class CTraderAccount {
3
6
  connection;
4
7
  accountId;
@@ -9,100 +12,130 @@ export class CTraderAccount {
9
12
  setAccountId(accountId) {
10
13
  this.accountId = accountId;
11
14
  }
15
+ /**
16
+ * Get current trader account info
17
+ */
12
18
  async getTrader() {
13
19
  const res = await this.connection.request(PayloadType.TRADER_REQ, {
14
20
  ctidTraderAccountId: this.accountId,
15
21
  });
16
- return res["trader"];
22
+ return res.trader;
17
23
  }
24
+ /**
25
+ * Sync local state with server — get current positions and orders
26
+ */
18
27
  async reconcile(returnProtectionOrders) {
19
28
  const payload = { ctidTraderAccountId: this.accountId };
20
29
  if (returnProtectionOrders !== undefined)
21
- payload["returnProtectionOrders"] = returnProtectionOrders;
30
+ payload.returnProtectionOrders = returnProtectionOrders;
22
31
  const res = await this.connection.request(PayloadType.RECONCILE_REQ, payload);
23
32
  return {
24
- positions: res["position"] ?? [],
25
- orders: res["order"] ?? [],
33
+ positions: res.position ?? [],
34
+ orders: res.order ?? [],
26
35
  };
27
36
  }
37
+ /**
38
+ * Get deal history
39
+ */
28
40
  async getDeals(params = {}) {
29
41
  const payload = { ctidTraderAccountId: this.accountId };
30
42
  if (params.fromTimestamp !== undefined)
31
- payload["fromTimestamp"] = params.fromTimestamp;
43
+ payload.fromTimestamp = params.fromTimestamp;
32
44
  if (params.toTimestamp !== undefined)
33
- payload["toTimestamp"] = params.toTimestamp;
45
+ payload.toTimestamp = params.toTimestamp;
34
46
  if (params.maxRows !== undefined)
35
- payload["maxRows"] = params.maxRows;
47
+ payload.maxRows = params.maxRows;
36
48
  const res = await this.connection.request(PayloadType.DEAL_LIST_REQ, payload);
37
49
  return {
38
- deals: res["deal"] ?? [],
39
- hasMore: res["hasMore"] ?? false,
50
+ deals: res.deal ?? [],
51
+ hasMore: res.hasMore ?? false,
40
52
  };
41
53
  }
54
+ /**
55
+ * Get deals for a specific position
56
+ */
42
57
  async getDealsByPosition(positionId, params = {}) {
43
58
  const payload = { ctidTraderAccountId: this.accountId, positionId };
44
59
  if (params.fromTimestamp !== undefined)
45
- payload["fromTimestamp"] = params.fromTimestamp;
60
+ payload.fromTimestamp = params.fromTimestamp;
46
61
  if (params.toTimestamp !== undefined)
47
- payload["toTimestamp"] = params.toTimestamp;
62
+ payload.toTimestamp = params.toTimestamp;
48
63
  const res = await this.connection.request(PayloadType.DEAL_LIST_BY_POSITION_REQ, payload);
49
64
  return {
50
- deals: res["deal"] ?? [],
51
- hasMore: res["hasMore"] ?? false,
65
+ deals: res.deal ?? [],
66
+ hasMore: res.hasMore ?? false,
52
67
  };
53
68
  }
69
+ /**
70
+ * Get offset information for a specific deal
71
+ */
54
72
  async getDealOffsets(dealId) {
55
73
  const res = await this.connection.request(PayloadType.DEAL_OFFSET_LIST_REQ, {
56
74
  ctidTraderAccountId: this.accountId,
57
75
  dealId,
58
76
  });
59
77
  return {
60
- offsetBy: res["offsetBy"] ?? [],
61
- offsetting: res["offsetting"] ?? [],
78
+ offsetBy: res.offsetBy ?? [],
79
+ offsetting: res.offsetting ?? [],
62
80
  };
63
81
  }
82
+ /**
83
+ * Get order history
84
+ */
64
85
  async getOrders(params = {}) {
65
86
  const payload = { ctidTraderAccountId: this.accountId };
66
87
  if (params.fromTimestamp !== undefined)
67
- payload["fromTimestamp"] = params.fromTimestamp;
88
+ payload.fromTimestamp = params.fromTimestamp;
68
89
  if (params.toTimestamp !== undefined)
69
- payload["toTimestamp"] = params.toTimestamp;
90
+ payload.toTimestamp = params.toTimestamp;
70
91
  const res = await this.connection.request(PayloadType.ORDER_LIST_REQ, payload);
71
92
  return {
72
- orders: res["order"] ?? [],
73
- hasMore: res["hasMore"] ?? false,
93
+ orders: res.order ?? [],
94
+ hasMore: res.hasMore ?? false,
74
95
  };
75
96
  }
97
+ /**
98
+ * Get details for a specific order
99
+ */
76
100
  async getOrderDetails(orderId) {
77
101
  const res = await this.connection.request(PayloadType.ORDER_DETAILS_REQ, {
78
102
  ctidTraderAccountId: this.accountId,
79
103
  orderId,
80
104
  });
81
105
  return {
82
- order: res["order"],
83
- deals: res["deal"] ?? [],
106
+ order: res.order,
107
+ deals: res.deal ?? [],
84
108
  };
85
109
  }
110
+ /**
111
+ * Get orders for a specific position
112
+ */
86
113
  async getOrdersByPosition(positionId, params = {}) {
87
114
  const payload = { ctidTraderAccountId: this.accountId, positionId };
88
115
  if (params.fromTimestamp !== undefined)
89
- payload["fromTimestamp"] = params.fromTimestamp;
116
+ payload.fromTimestamp = params.fromTimestamp;
90
117
  if (params.toTimestamp !== undefined)
91
- payload["toTimestamp"] = params.toTimestamp;
118
+ payload.toTimestamp = params.toTimestamp;
92
119
  const res = await this.connection.request(PayloadType.ORDER_LIST_BY_POSITION_REQ, payload);
93
120
  return {
94
- orders: res["order"] ?? [],
95
- hasMore: res["hasMore"] ?? false,
121
+ orders: res.order ?? [],
122
+ hasMore: res.hasMore ?? false,
96
123
  };
97
124
  }
125
+ /**
126
+ * Get cash flow history (deposits/withdrawals)
127
+ */
98
128
  async getCashFlowHistory(fromTimestamp, toTimestamp) {
99
129
  const res = await this.connection.request(PayloadType.CASH_FLOW_HISTORY_REQ, {
100
130
  ctidTraderAccountId: this.accountId,
101
131
  fromTimestamp,
102
132
  toTimestamp,
103
133
  });
104
- return res["depositWithdraw"] ?? [];
134
+ return res.depositWithdraw ?? [];
105
135
  }
136
+ /**
137
+ * Get expected margin for volumes on a symbol
138
+ */
106
139
  async getExpectedMargin(symbolId, volumes) {
107
140
  const res = await this.connection.request(PayloadType.EXPECTED_MARGIN_REQ, {
108
141
  ctidTraderAccountId: this.accountId,
@@ -110,55 +143,79 @@ export class CTraderAccount {
110
143
  volume: volumes,
111
144
  });
112
145
  const result = {
113
- margins: res["margin"] ?? [],
146
+ margins: res.margin ?? [],
114
147
  };
115
- if (res["moneyDigits"] !== undefined)
116
- result.moneyDigits = res["moneyDigits"];
148
+ if (res.moneyDigits !== undefined)
149
+ result.moneyDigits = res.moneyDigits;
117
150
  return result;
118
151
  }
152
+ /**
153
+ * Get unrealized PnL for all open positions
154
+ */
119
155
  async getPositionUnrealizedPnl() {
120
156
  const res = await this.connection.request(PayloadType.GET_POSITION_UNREALIZED_PNL_REQ, {
121
157
  ctidTraderAccountId: this.accountId,
122
158
  });
123
159
  return {
124
- pnls: res["positionUnrealizedPnL"] ?? [],
125
- moneyDigits: res["moneyDigits"],
160
+ pnls: res.positionUnrealizedPnL ?? [],
161
+ moneyDigits: res.moneyDigits,
126
162
  };
127
163
  }
164
+ /**
165
+ * Get dynamic leverage information
166
+ */
128
167
  async getDynamicLeverage(leverageId) {
129
168
  const res = await this.connection.request(PayloadType.GET_DYNAMIC_LEVERAGE_REQ, {
130
169
  ctidTraderAccountId: this.accountId,
131
170
  leverageId,
132
171
  });
133
- return res["leverage"];
172
+ return res.leverage;
134
173
  }
174
+ /**
175
+ * Get margin call list
176
+ */
135
177
  async getMarginCalls() {
136
178
  const res = await this.connection.request(PayloadType.MARGIN_CALL_LIST_REQ, {
137
179
  ctidTraderAccountId: this.accountId,
138
180
  });
139
- return res["marginCall"] ?? [];
181
+ return res.marginCall ?? [];
140
182
  }
183
+ /**
184
+ * Update a margin call
185
+ */
141
186
  async updateMarginCall(marginCall) {
142
187
  await this.connection.request(PayloadType.MARGIN_CALL_UPDATE_REQ, {
143
188
  ctidTraderAccountId: this.accountId,
144
189
  marginCall: marginCall,
145
190
  });
146
191
  }
192
+ /**
193
+ * Subscribe to trader account update events
194
+ */
147
195
  onTraderUpdated(handler) {
148
196
  return this.connection.on(PayloadType.TRADER_UPDATED_EVENT, (payload) => {
149
197
  handler(payload);
150
198
  });
151
199
  }
200
+ /**
201
+ * Subscribe to margin change events
202
+ */
152
203
  onMarginChanged(handler) {
153
204
  return this.connection.on(PayloadType.MARGIN_CHANGED_EVENT, (payload) => {
154
205
  handler(payload);
155
206
  });
156
207
  }
208
+ /**
209
+ * Subscribe to margin call update events
210
+ */
157
211
  onMarginCallUpdate(handler) {
158
212
  return this.connection.on(PayloadType.MARGIN_CALL_UPDATE_EVENT, (payload) => {
159
213
  handler(payload);
160
214
  });
161
215
  }
216
+ /**
217
+ * Subscribe to margin call trigger events
218
+ */
162
219
  onMarginCallTrigger(handler) {
163
220
  return this.connection.on(PayloadType.MARGIN_CALL_TRIGGER_EVENT, (payload) => {
164
221
  handler(payload);
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/modules/account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiC1C,MAAM,OAAO,cAAc;IACT,UAAU,CAAoB;IACvC,SAAS,CAAS;IAE1B,YAAY,UAA6B,EAAE,SAAiB;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,SAAiB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS;QACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE;YACjE,mBAAmB,EAAE,IAAI,CAAC,SAAS;SACnC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,QAAQ,CAAW,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,sBAAgC;QAC/C,MAAM,OAAO,GAA4B,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjF,IAAI,sBAAsB,KAAK,SAAS;YAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC;QACrG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO;YACN,SAAS,EAAG,GAAG,CAAC,UAAU,CAA4B,IAAI,EAAE;YAC5D,MAAM,EAAG,GAAG,CAAC,OAAO,CAAyB,IAAI,EAAE;SACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAyB,EAAE;QACzC,MAAM,OAAO,GAA4B,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAClF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO;YACN,KAAK,EAAG,GAAG,CAAC,MAAM,CAAwB,IAAI,EAAE;YAChD,OAAO,EAAG,GAAG,CAAC,SAAS,CAAyB,IAAI,KAAK;SACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,SAA0B,EAAE;QACxE,MAAM,OAAO,GAA4B,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7F,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO;YACN,KAAK,EAAG,GAAG,CAAC,MAAM,CAAwB,IAAI,EAAE;YAChD,OAAO,EAAG,GAAG,CAAC,SAAS,CAAyB,IAAI,KAAK;SACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE;YAC3E,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,MAAM;SACN,CAAC,CAAC;QACH,OAAO;YACN,QAAQ,EAAG,GAAG,CAAC,UAAU,CAA8B,IAAI,EAAE;YAC7D,UAAU,EAAG,GAAG,CAAC,YAAY,CAA8B,IAAI,EAAE;SACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAA0B,EAAE;QAC3C,MAAM,OAAO,GAA4B,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO;YACN,MAAM,EAAG,GAAG,CAAC,OAAO,CAAyB,IAAI,EAAE;YACnD,OAAO,EAAG,GAAG,CAAC,SAAS,CAAyB,IAAI,KAAK;SACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACxE,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,OAAO;SACP,CAAC,CAAC;QACH,OAAO;YACN,KAAK,EAAE,GAAG,CAAC,OAAO,CAAU;YAC5B,KAAK,EAAG,GAAG,CAAC,MAAM,CAAwB,IAAI,EAAE;SAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,SAA0B,EAAE;QACzE,MAAM,OAAO,GAA4B,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAC7F,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAC3F,OAAO;YACN,MAAM,EAAG,GAAG,CAAC,OAAO,CAAyB,IAAI,EAAE;YACnD,OAAO,EAAG,GAAG,CAAC,SAAS,CAAyB,IAAI,KAAK;SACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB,EAAE,WAAmB;QAClE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE;YAC5E,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,aAAa;YACb,WAAW;SACX,CAAC,CAAC;QACH,OAAQ,GAAG,CAAC,iBAAiB,CAAmC,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAiB;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE;YAC1E,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,QAAQ;YACR,MAAM,EAAE,OAAO;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAwD;YACnE,OAAO,EAAG,GAAG,CAAC,QAAQ,CAAkC,IAAI,EAAE;SAC9D,CAAC;QACF,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,CAAW,CAAC;QACxF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B,EAAE;YACtF,mBAAmB,EAAE,IAAI,CAAC,SAAS;SACnC,CAAC,CAAC;QACH,OAAO;YACN,IAAI,EAAG,GAAG,CAAC,uBAAuB,CAAyC,IAAI,EAAE;YACjF,WAAW,EAAE,GAAG,CAAC,aAAa,CAAW;SACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,wBAAwB,EAAE;YAC/E,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,UAAU;SACV,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,UAAU,CAAoB,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE;YAC3E,mBAAmB,EAAE,IAAI,CAAC,SAAS;SACnC,CAAC,CAAC;QACH,OAAQ,GAAG,CAAC,YAAY,CAA8B,IAAI,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAsB;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE;YACjE,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,UAAU,EAAE,UAAgD;SAC5D,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAA4C;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvE,OAAO,CAAC,OAAwC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAA4C;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvE,OAAO,CAAC,OAAwC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,OAAyC;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3E,OAAO,CAAC,OAAqC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,OAAyC;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5E,OAAO,CAAC,OAAqC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/modules/account.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,47 @@
1
- import type { CTraderConnection } from "../connection.js";
2
- import type { CtidProfile, CtidTraderAccount, TokenPair } from "../types.js";
1
+ import type { CTraderConnection } from "../core/connection.js";
2
+ import type { CtidProfile, CtidTraderAccount, TokenPair } from "../protocol/types.js";
3
+ /**
4
+ * Authentication module — app auth, account auth, token management. Used internally by connect() and available via ct.raw.auth for manual auth flows.
5
+ */
3
6
  export declare class CTraderAuth {
4
7
  private readonly connection;
5
8
  constructor(connection: CTraderConnection);
9
+ /**
10
+ * Authenticate the application with cTrader backend. Must be called before account auth.
11
+ */
6
12
  authenticateApp(clientId: string, clientSecret: string): Promise<void>;
13
+ /**
14
+ * Authenticate a specific trading account. Requires app auth first.
15
+ */
7
16
  authenticateAccount(ctidTraderAccountId: number, accessToken: string): Promise<void>;
17
+ /**
18
+ * Convenience: app auth + account auth in one call
19
+ */
8
20
  authenticate(opts: {
9
21
  clientId: string;
10
22
  clientSecret: string;
11
23
  ctidTraderAccountId: number;
12
24
  accessToken: string;
13
25
  }): Promise<void>;
26
+ /**
27
+ * Get all trading accounts associated with an access token
28
+ */
14
29
  getAccountsByToken(accessToken: string): Promise<CtidTraderAccount[]>;
30
+ /**
31
+ * Get the cTrader ID profile for a token
32
+ */
15
33
  getCtidProfile(accessToken: string): Promise<CtidProfile>;
34
+ /**
35
+ * Exchange a refresh token for a new access/refresh token pair
36
+ */
16
37
  refreshToken(refreshToken: string): Promise<TokenPair>;
38
+ /**
39
+ * Disconnect a specific account from the session
40
+ */
17
41
  logout(ctidTraderAccountId: number): Promise<void>;
42
+ /**
43
+ * Get the cTrader Open API protocol version
44
+ */
18
45
  getApiVersion(): Promise<string>;
19
46
  }
20
47
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/modules/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7E,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAEnC,UAAU,EAAE,iBAAiB;IAInC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAAC,IAAI,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKX,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMrE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKzD,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAUtD,MAAM,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAItC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/modules/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAEnC,UAAU,EAAE,iBAAiB;IAIzC;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;IACG,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1F;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ3E;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAK/D;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAU5D;;OAEG;IACG,MAAM,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAItC"}