Skip to content

Commit 2256a60

Browse files
jaredmcqueenclaude
andcommitted
fix: resolve rebase conflicts with upstream batch6 API updates
UserOrderData and UserOrder variant were added by upstream; remove duplicates introduced by this branch and update example to use typed enums (Side, OrderStatus) from the canonical UserOrderData definition. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 66d4a45 commit 2256a60

File tree

2 files changed

+4
-75
lines changed

2 files changed

+4
-75
lines changed

examples/stream_user_orders.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,11 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
9696
}
9797
StreamMessage::UserOrder(order) => {
9898
println!(
99-
"[ORDER] {} | id={} | status={} | side={} | price={} | initial={} remaining={} filled={}",
99+
"[ORDER] {} | id={} | status={:?} | side={:?} | price={} | initial={} remaining={} filled={}",
100100
order.ticker.as_deref().unwrap_or("?"),
101-
order.order_id.as_deref().unwrap_or("?"),
102-
order.status.as_deref().unwrap_or("?"),
103-
order.side.as_deref().unwrap_or("?"),
101+
order.order_id,
102+
order.status,
103+
order.side,
104104
order.yes_price_dollars.as_deref().unwrap_or("?"),
105105
order.initial_count_fp.as_deref().unwrap_or("?"),
106106
order.remaining_count_fp.as_deref().unwrap_or("?"),

src/ws/message.rs

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,6 @@ pub enum StreamMessage {
199199
UserOrder(Box<UserOrderData>),
200200
/// Multivariate collection lookup notification.
201201
MultivariateLookup(MultivariateLookupData),
202-
/// User order created/updated notification.
203-
UserOrder(UserOrderData),
204202
/// Connection was closed cleanly.
205203
///
206204
/// This is a local event, not received from the server.
@@ -693,71 +691,6 @@ pub struct QuoteAcceptedData {
693691
pub accepted_side: Option<Side>,
694692
}
695693

696-
/// User order update data for the `user_orders` channel.
697-
#[derive(Debug, Clone, Serialize, Deserialize)]
698-
pub struct UserOrderData {
699-
/// Unique order identifier.
700-
#[serde(skip_serializing_if = "Option::is_none")]
701-
pub order_id: Option<String>,
702-
/// User identifier.
703-
#[serde(skip_serializing_if = "Option::is_none")]
704-
pub user_id: Option<String>,
705-
/// Market ticker identifier.
706-
#[serde(skip_serializing_if = "Option::is_none")]
707-
pub ticker: Option<String>,
708-
/// Current order status.
709-
#[serde(skip_serializing_if = "Option::is_none")]
710-
pub status: Option<String>,
711-
/// Market side.
712-
#[serde(skip_serializing_if = "Option::is_none")]
713-
pub side: Option<String>,
714-
/// Yes price in fixed-point dollars (4 decimals).
715-
#[serde(skip_serializing_if = "Option::is_none")]
716-
pub yes_price_dollars: Option<String>,
717-
/// Number of contracts filled in fixed-point (2 decimals).
718-
#[serde(skip_serializing_if = "Option::is_none")]
719-
pub fill_count_fp: Option<String>,
720-
/// Number of contracts remaining in fixed-point (2 decimals).
721-
#[serde(skip_serializing_if = "Option::is_none")]
722-
pub remaining_count_fp: Option<String>,
723-
/// Initial number of contracts in fixed-point (2 decimals).
724-
#[serde(skip_serializing_if = "Option::is_none")]
725-
pub initial_count_fp: Option<String>,
726-
/// Taker fill cost in fixed-point dollars (4 decimals).
727-
#[serde(skip_serializing_if = "Option::is_none")]
728-
pub taker_fill_cost_dollars: Option<String>,
729-
/// Maker fill cost in fixed-point dollars (4 decimals).
730-
#[serde(skip_serializing_if = "Option::is_none")]
731-
pub maker_fill_cost_dollars: Option<String>,
732-
/// Taker fees in fixed-point dollars (4 decimals). Omitted when zero.
733-
#[serde(skip_serializing_if = "Option::is_none")]
734-
pub taker_fees_dollars: Option<String>,
735-
/// Maker fees in fixed-point dollars (4 decimals). Omitted when zero.
736-
#[serde(skip_serializing_if = "Option::is_none")]
737-
pub maker_fees_dollars: Option<String>,
738-
/// Client-provided order identifier.
739-
#[serde(skip_serializing_if = "Option::is_none")]
740-
pub client_order_id: Option<String>,
741-
/// Order group identifier, if applicable.
742-
#[serde(skip_serializing_if = "Option::is_none")]
743-
pub order_group_id: Option<String>,
744-
/// Self-trade prevention type.
745-
#[serde(skip_serializing_if = "Option::is_none")]
746-
pub self_trade_prevention_type: Option<String>,
747-
/// Order creation time in RFC 3339 format.
748-
#[serde(skip_serializing_if = "Option::is_none")]
749-
pub created_time: Option<String>,
750-
/// Last update time in RFC 3339 format.
751-
#[serde(skip_serializing_if = "Option::is_none")]
752-
pub last_update_time: Option<String>,
753-
/// Order expiration time in RFC 3339 format.
754-
#[serde(skip_serializing_if = "Option::is_none")]
755-
pub expiration_time: Option<String>,
756-
/// Subaccount number (0 for primary, 1-32 for subaccounts).
757-
#[serde(skip_serializing_if = "Option::is_none")]
758-
pub subaccount_number: Option<i64>,
759-
}
760-
761694
impl StreamMessage {
762695
/// Parse a message payload based on the channel type.
763696
///
@@ -804,10 +737,6 @@ impl StreamMessage {
804737
// Multivariate lookup notifications
805738
"multivariate_lookup" => serde_json::from_value::<MultivariateLookupData>(value)
806739
.map(StreamMessage::MultivariateLookup),
807-
// User order notifications
808-
"user_order" | "user_orders" => {
809-
serde_json::from_value::<UserOrderData>(value).map(StreamMessage::UserOrder)
810-
}
811740
_ => {
812741
// Fallback to untagged deserialization for unknown types
813742
serde_json::from_value::<StreamMessage>(value)

0 commit comments

Comments
 (0)