@0xmonaco/types 1.0.41 → 1.0.42-develop.791e6f3

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.
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Market-stats WebSocket Event Types
3
+ *
4
+ * Types for the two real-time market statistics channels:
5
+ * - per-market (`market_stats:<tradingPairId>`): a full stats frame for one
6
+ * market, carried by `MarketStatsEvent`.
7
+ * - all-markets (`market_stats`): one summary row per market in a single frame,
8
+ * carried by `MarketStatsAllEvent`.
9
+ *
10
+ * Both are public channels (no authentication). Lag policy is Conflate: a
11
+ * lagging subscriber is fast-forwarded to the latest frame rather than
12
+ * disconnected. Each frame carries the market's full current stats, so consume
13
+ * it as a terminal-state snapshot, never as an additive delta.
14
+ *
15
+ * Perp-only fields (index/mark price, open interest, funding) are optional and
16
+ * omitted on the wire for spot markets, which have no positions or funding.
17
+ * All numeric quantities are decimal strings except `fundingTimestamp`, which
18
+ * is a millisecond epoch number.
19
+ */
20
+ /**
21
+ * Market tradability label, derived from the oracle market status. Spot markets
22
+ * only emit `TRADABLE` or `HALTED`.
23
+ */
24
+ export type MarketStatus = "TRADABLE" | "POST_ONLY" | "HALTED" | "NOT_READY" | "UNKNOWN";
25
+ /**
26
+ * Full per-market statistics for the `market_stats:<tradingPairId>` channel.
27
+ */
28
+ export interface MarketStatsData {
29
+ /** Market symbol, e.g. "BTC/USDC" */
30
+ symbol: string;
31
+ /** Trading pair identifier (UUID) */
32
+ tradingPairId: string;
33
+ /** Oracle index price (decimal string). Perp-only; omitted for spot. */
34
+ indexPrice?: string;
35
+ /** Mark price (decimal string). Perp-only; omitted for spot. */
36
+ markPrice?: string;
37
+ /** Mid price between best bid and best ask (decimal string) */
38
+ midPrice?: string;
39
+ /** Best bid price (decimal string) */
40
+ bestBidPrice?: string;
41
+ /** Best ask price (decimal string) */
42
+ bestAskPrice?: string;
43
+ /** Open interest (decimal string). Perp-only; omitted for spot. */
44
+ openInterest?: string;
45
+ /** Open interest limit (decimal string). Perp-only; omitted for spot. */
46
+ openInterestLimit?: string;
47
+ /** Last trade price (decimal string) */
48
+ lastTradePrice?: string;
49
+ /** 24h base-token volume (decimal string) */
50
+ dailyBaseTokenVolume?: string;
51
+ /** 24h quote-token volume (decimal string) */
52
+ dailyQuoteTokenVolume?: string;
53
+ /** 24h low price (decimal string) */
54
+ dailyPriceLow?: string;
55
+ /** 24h high price (decimal string) */
56
+ dailyPriceHigh?: string;
57
+ /** 24h absolute price change, `latestClose - open24hAgo` (decimal string) */
58
+ dailyPriceChange?: string;
59
+ /** 24h percentage price change, two decimals (decimal string) */
60
+ dailyPriceChangePercent?: string;
61
+ /** Current (last settled) funding rate (decimal string). Perp-only; omitted for spot. */
62
+ currentFundingRate?: string;
63
+ /** Estimated next-window funding rate (decimal string). Perp-only; omitted for spot. */
64
+ fundingRate?: string;
65
+ /** Next funding time as a millisecond epoch. Perp-only; omitted for spot. */
66
+ fundingTimestamp?: number;
67
+ /** Funding premium (decimal string). Perp-only; omitted for spot. */
68
+ premium?: string;
69
+ /** Base interest rate for the funding formula (decimal string). Perp-only; omitted for spot. */
70
+ baseInterestRate?: string;
71
+ /** Live funding cap, lower bound (decimal string). Perp-only; omitted for spot. */
72
+ fundingClampSmall?: string;
73
+ /** Live funding cap, upper bound (decimal string). Perp-only; omitted for spot. */
74
+ fundingClampBig?: string;
75
+ }
76
+ /**
77
+ * Per-market statistics event on the `market_stats:<tradingPairId>` channel.
78
+ */
79
+ export interface MarketStatsEvent {
80
+ /** Trading pair identifier (UUID) */
81
+ tradingPairId: string;
82
+ /** Market statistics for this pair */
83
+ data: MarketStatsData;
84
+ }
85
+ /**
86
+ * A single market's row in the all-markets summary frame. A lighter shape than
87
+ * {@link MarketStatsData}: enough to render a markets table.
88
+ */
89
+ export interface MarketStatsSummary {
90
+ /** Trading pair identifier (UUID) */
91
+ tradingPairId: string;
92
+ /** Market symbol, e.g. "BTC/USDC" */
93
+ symbol: string;
94
+ /** Last trade price (decimal string) */
95
+ lastTradePrice?: string;
96
+ /** Mark price (decimal string). Perp-only; omitted for spot. */
97
+ markPrice?: string;
98
+ /** 24h absolute price change (decimal string) */
99
+ dailyPriceChange?: string;
100
+ /** 24h percentage price change, two decimals (decimal string) */
101
+ dailyPriceChangePercent?: string;
102
+ /** 24h base-token volume (decimal string) */
103
+ dailyBaseTokenVolume?: string;
104
+ /** 24h quote-token volume (decimal string) */
105
+ dailyQuoteTokenVolume?: string;
106
+ /** 24h high price (decimal string) */
107
+ dailyPriceHigh?: string;
108
+ /** 24h low price (decimal string) */
109
+ dailyPriceLow?: string;
110
+ /** Open interest (decimal string). Perp-only; omitted for spot. */
111
+ openInterest?: string;
112
+ /** Current (last settled) funding rate (decimal string). Perp-only; omitted for spot. */
113
+ currentFundingRate?: string;
114
+ /** Next funding time as a millisecond epoch. Perp-only; omitted for spot. */
115
+ fundingTimestamp?: number;
116
+ /** Tradability label (always present) */
117
+ marketStatus: MarketStatus;
118
+ }
119
+ /**
120
+ * All-markets summary event on the `market_stats` channel: one
121
+ * {@link MarketStatsSummary} per market, in a single frame per push.
122
+ */
123
+ export interface MarketStatsAllEvent {
124
+ /** One summary row per market */
125
+ markets: MarketStatsSummary[];
126
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Market-stats WebSocket Event Types
3
+ *
4
+ * Types for the two real-time market statistics channels:
5
+ * - per-market (`market_stats:<tradingPairId>`): a full stats frame for one
6
+ * market, carried by `MarketStatsEvent`.
7
+ * - all-markets (`market_stats`): one summary row per market in a single frame,
8
+ * carried by `MarketStatsAllEvent`.
9
+ *
10
+ * Both are public channels (no authentication). Lag policy is Conflate: a
11
+ * lagging subscriber is fast-forwarded to the latest frame rather than
12
+ * disconnected. Each frame carries the market's full current stats, so consume
13
+ * it as a terminal-state snapshot, never as an additive delta.
14
+ *
15
+ * Perp-only fields (index/mark price, open interest, funding) are optional and
16
+ * omitted on the wire for spot markets, which have no positions or funding.
17
+ * All numeric quantities are decimal strings except `fundingTimestamp`, which
18
+ * is a millisecond epoch number.
19
+ */
@@ -5,6 +5,15 @@
5
5
  */
6
6
  import type { Candlestick, Interval } from "../../market";
7
7
  import type { TradingMode } from "../../trading";
8
+ /**
9
+ * OHLCV price series selector for the optional fifth channel token.
10
+ *
11
+ * - `trade` — the trade-derived candles (the default when the token is omitted).
12
+ * - `mark` — the close-only mark-price series (open = high = low = close = mark,
13
+ * zero volume), published on `1m` for margin pairs.
14
+ * - `*` — both series.
15
+ */
16
+ export type OHLCVPriceType = "trade" | "mark" | "*";
8
17
  /**
9
18
  * OHLCV update event
10
19
  */
@@ -15,6 +24,12 @@ export interface OHLCVEvent {
15
24
  interval: Interval;
16
25
  /** Trading mode */
17
26
  tradingMode: TradingMode;
27
+ /**
28
+ * Price series this candle belongs to. Always a concrete series on the wire
29
+ * (`trade` or `mark`, never the `*` selector); lets a wildcard subscriber
30
+ * tell the two streams apart. Absent only on legacy frames that omit it.
31
+ */
32
+ priceType?: "trade" | "mark";
18
33
  /** OHLCV candlestick data */
19
34
  candlestick: Candlestick;
20
35
  }
@@ -0,0 +1,64 @@
1
+ import type { OrderSide, TradingMode, TwapOrderState } from "../../trading";
2
+ /**
3
+ * Mutation that produced a TWAP parent-order snapshot.
4
+ */
5
+ export type TwapOrderEventReason = "created" | "slice_placed" | "slice_skipped" | "cancelled" | "completed";
6
+ /**
7
+ * TWAP parent-order snapshot carried by a `twap_orders` WebSocket event.
8
+ * The server publishes the full read model on every lifecycle transition
9
+ * (created, slice placed/skipped, cancelled, completed), so each event
10
+ * supersedes the previous one for the same `twapOrderId`.
11
+ *
12
+ * Field names mirror the backend `TwapOrderEventData` payload (snake_case on
13
+ * the wire, camelCased by the client); the SDK parser normalizes explicit
14
+ * `null` values to absent, so nullable wire fields are optional here.
15
+ */
16
+ export interface TwapOrderEventData {
17
+ twapOrderId: string;
18
+ tradingPairId: string;
19
+ side: OrderSide;
20
+ tradingMode: TradingMode;
21
+ totalQuantity: string;
22
+ executedQuantity: string;
23
+ executedNotional: string;
24
+ /** Volume-weighted average fill price (executedNotional / executedQuantity); absent until the first fill */
25
+ averageFillPrice?: string;
26
+ limitPrice?: string;
27
+ slippageToleranceBps: number;
28
+ reduceOnly: boolean;
29
+ marginAccountId?: string;
30
+ /** Isolated risk bucket UUID for risk-bucket-scoped margin TWAP orders */
31
+ riskBucketId?: string;
32
+ leverage?: string;
33
+ useMasterBalance: boolean;
34
+ strategyKey?: string;
35
+ clientTwapId?: string;
36
+ randomize: boolean;
37
+ /** Window start (ISO 8601) */
38
+ startAt: string;
39
+ /** Window end (ISO 8601). Execution stops hard at this time. */
40
+ endAt: string;
41
+ /** Derived base slice interval in milliseconds (int64 on the wire, a JSON number) */
42
+ intervalMs: number;
43
+ plannedSlices: number;
44
+ /** Index of the next slice in the planned schedule */
45
+ nextSliceIndex: number;
46
+ /** Planned time of the next slice (ISO 8601); absent once the parent is terminal */
47
+ nextSliceAt?: string;
48
+ slicesPlaced: number;
49
+ slicesSkipped: number;
50
+ state: TwapOrderState;
51
+ /** Terminal annotation, e.g. "ended with shortfall 1.5"; absent for non-terminal parents */
52
+ terminalReason?: string;
53
+ createdAt: string;
54
+ updatedAt: string;
55
+ cancelledAt?: string;
56
+ completedAt?: string;
57
+ /** Mutation that produced this snapshot */
58
+ reason: TwapOrderEventReason;
59
+ }
60
+ export interface TwapOrderEvent {
61
+ eventType: "twap_order_update";
62
+ userId: string;
63
+ data: TwapOrderEventData;
64
+ }
File without changes
@@ -10,6 +10,6 @@
10
10
  * hand-written SDK surface. CI regenerates it and fails on a diff, identical to
11
11
  * the `schema.ts` wire-types tripwire (MON-1476), so it can never go stale.
12
12
  */
13
- export declare const OPERATION_IDS: readonly ["attach_position_tp_sl", "batch_cancel_all", "batch_cancel_all_by_pair", "batch_cancel_orders", "batch_close_all_positions", "batch_create_orders", "batch_replace_orders", "cancel_conditional_order", "cancel_order", "check_trader_code_availability", "clear_trader_code", "close_position", "create_challenge", "create_delegated_session", "create_order", "create_sub_account_limit", "delete_sub_account_limit", "get_application_config", "get_application_stats", "get_available_collateral", "get_candles", "get_conditional_order", "get_faucet_info", "get_funding_state", "get_index_price", "get_margin_account_movements", "get_margin_account_summary", "get_mark_price", "get_market_metadata", "get_market_stats", "get_my_fee_tier", "get_my_trader_code", "get_open_interest", "get_order_by_id", "get_orderbook_snapshot", "get_orders", "get_parent_margin_account_movements", "get_parent_margin_account_summary", "get_perp_market_config", "get_perp_market_summary", "get_portfolio_assets", "get_portfolio_chart", "get_portfolio_margin", "get_portfolio_performance", "get_portfolio_realized_pnl", "get_portfolio_stats", "get_portfolio_summary", "get_position", "get_position_pnl_history", "get_position_risk", "get_pulse", "get_rewards_balance", "get_screener", "get_sub_account_limits", "get_trade_by_id", "get_trader_code_info", "get_trades", "get_trading_pair_by_id", "get_user_balance_by_asset", "get_user_balances", "get_user_movements", "get_user_profile", "get_user_trades", "get_withdrawal", "health_check", "initiate_withdrawal", "list_all_funding_history", "list_application_balances", "list_application_movements", "list_application_orders", "list_application_users", "list_conditional_orders", "list_delegated_agent_owners", "list_delegated_agents", "list_funding_history", "list_funding_payments", "list_margin_accounts", "list_pending_withdrawals", "list_position_history", "list_positions", "list_sub_accounts_with_balances", "list_trading_pairs", "mint_tokens", "refresh_session", "register_deposit_address", "replace_order", "revoke_delegated_agent", "revoke_session", "set_trader_code", "simulate_fees", "simulate_order_risk", "simulate_parent_margin_order_risk", "simulate_risk_bucket_order_risk", "submit_whitelist", "transfer_collateral_from_margin_account", "transfer_collateral_from_parent_margin_account", "transfer_collateral_to_margin_account", "transfer_collateral_to_parent_margin_account", "transfer_collateral_to_risk_bucket", "transfer_rewards", "update_sub_account_limit", "upsert_delegated_agent", "verify_signature"];
13
+ export declare const OPERATION_IDS: readonly ["attach_position_tp_sl", "batch_cancel_all", "batch_cancel_all_by_pair", "batch_cancel_orders", "batch_close_all_positions", "batch_create_orders", "batch_replace_orders", "cancel_conditional_order", "cancel_order", "cancel_twap_order", "check_trader_code_availability", "clear_trader_code", "close_position", "create_challenge", "create_delegated_session", "create_order", "create_sub_account_limit", "create_twap_order", "delete_sub_account_limit", "get_application_config", "get_application_stats", "get_available_collateral", "get_candles", "get_conditional_order", "get_faucet_info", "get_funding_state", "get_index_price", "get_margin_account_movements", "get_margin_account_summary", "get_mark_price", "get_market_metadata", "get_market_stats", "get_my_fee_tier", "get_my_trader_code", "get_open_interest", "get_order_by_id", "get_orderbook_snapshot", "get_orders", "get_parent_margin_account_movements", "get_parent_margin_account_summary", "get_perp_market_config", "get_perp_market_summary", "get_portfolio_assets", "get_portfolio_chart", "get_portfolio_margin", "get_portfolio_performance", "get_portfolio_realized_pnl", "get_portfolio_stats", "get_portfolio_summary", "get_position", "get_position_pnl_history", "get_position_risk", "get_pulse", "get_rewards_balance", "get_screener", "get_sub_account_limits", "get_trade_by_id", "get_trader_code_info", "get_trades", "get_trading_pair_by_id", "get_twap_order", "get_user_balance_by_asset", "get_user_balances", "get_user_movements", "get_user_profile", "get_user_trades", "get_withdrawal", "health_check", "initiate_withdrawal", "list_all_funding_history", "list_application_balances", "list_application_movements", "list_application_orders", "list_application_users", "list_conditional_orders", "list_delegated_agent_owners", "list_delegated_agents", "list_funding_history", "list_funding_payments", "list_margin_accounts", "list_pending_withdrawals", "list_position_history", "list_positions", "list_sub_accounts_with_balances", "list_trading_pairs", "list_twap_orders", "mint_tokens", "refresh_session", "register_deposit_address", "replace_order", "revoke_delegated_agent", "revoke_session", "set_trader_code", "simulate_fees", "simulate_order_risk", "simulate_parent_margin_order_risk", "simulate_risk_bucket_order_risk", "submit_whitelist", "transfer_collateral_from_margin_account", "transfer_collateral_from_parent_margin_account", "transfer_collateral_to_margin_account", "transfer_collateral_to_parent_margin_account", "transfer_collateral_to_risk_bucket", "transfer_rewards", "update_sub_account_limit", "upsert_delegated_agent", "verify_signature"];
14
14
  /** Union of every OpenAPI operationId in the spec. */
15
15
  export type OperationId = (typeof OPERATION_IDS)[number];
@@ -20,6 +20,7 @@ export const OPERATION_IDS = [
20
20
  "batch_replace_orders",
21
21
  "cancel_conditional_order",
22
22
  "cancel_order",
23
+ "cancel_twap_order",
23
24
  "check_trader_code_availability",
24
25
  "clear_trader_code",
25
26
  "close_position",
@@ -27,6 +28,7 @@ export const OPERATION_IDS = [
27
28
  "create_delegated_session",
28
29
  "create_order",
29
30
  "create_sub_account_limit",
31
+ "create_twap_order",
30
32
  "delete_sub_account_limit",
31
33
  "get_application_config",
32
34
  "get_application_stats",
@@ -69,6 +71,7 @@ export const OPERATION_IDS = [
69
71
  "get_trader_code_info",
70
72
  "get_trades",
71
73
  "get_trading_pair_by_id",
74
+ "get_twap_order",
72
75
  "get_user_balance_by_asset",
73
76
  "get_user_balances",
74
77
  "get_user_movements",
@@ -93,6 +96,7 @@ export const OPERATION_IDS = [
93
96
  "list_positions",
94
97
  "list_sub_accounts_with_balances",
95
98
  "list_trading_pairs",
99
+ "list_twap_orders",
96
100
  "mint_tokens",
97
101
  "refresh_session",
98
102
  "register_deposit_address",