Skip to content

Commit cc5d673

Browse files
committed
feat: update examples and re-export new types from crate root
- markets.rs: show top-of-book sizes (yes_bid_size_fp, yes_ask_size_fp) when available - portfolio.rs: demonstrate subaccount netting query endpoint - lib.rs: re-export SubaccountNettingConfig, SubaccountNettingResponse, and UpdateSubaccountNettingRequest from crate root
1 parent 3868dcf commit cc5d673

File tree

3 files changed

+37
-4
lines changed

3 files changed

+37
-4
lines changed

examples/markets.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,15 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
4444
" {} | {} | Vol: {}",
4545
market.ticker, market.title, market.volume
4646
);
47-
println!(
47+
print!(
4848
" YES bid/ask: ${} / ${}",
4949
market.yes_bid_dollars, market.yes_ask_dollars
5050
);
51+
// Show top-of-book sizes when available
52+
match (&market.yes_bid_size_fp, &market.yes_ask_size_fp) {
53+
(Some(bid_size), Some(ask_size)) => println!(" (size: {} / {})", bid_size, ask_size),
54+
_ => println!(),
55+
}
5156
}
5257
println!();
5358

examples/portfolio.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
88
use kalshi_trade_rs::{
99
GetBalanceParams, GetFillsParams, GetOrdersParams, GetPositionsParams, GetSettlementsParams,
10-
KalshiClient, KalshiConfig, OrderStatus, cents_to_dollars,
10+
KalshiClient, KalshiConfig, OrderStatus, UpdateSubaccountNettingRequest, cents_to_dollars,
1111
};
1212

1313
#[tokio::main]
@@ -52,6 +52,33 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
5252

5353
println!();
5454

55+
// 1c. Get subaccount netting configuration
56+
println!("=== Subaccount Netting ===");
57+
58+
match client.get_subaccount_netting().await {
59+
Ok(netting) => {
60+
for config in &netting.netting_configs {
61+
println!(
62+
" Subaccount {}: netting {}",
63+
config.subaccount_number,
64+
if config.enabled {
65+
"enabled"
66+
} else {
67+
"disabled"
68+
}
69+
);
70+
}
71+
72+
// Example: enable netting on primary account (commented out to avoid side effects)
73+
// let request = UpdateSubaccountNettingRequest::new(0, true);
74+
// client.update_subaccount_netting(request).await?;
75+
}
76+
Err(e) => println!(" Netting not available: {}", e),
77+
}
78+
let _ = UpdateSubaccountNettingRequest::new(0, true); // suppress unused import warning
79+
80+
println!();
81+
5582
// 2. Get Positions
5683
println!("=== Positions ===");
5784

src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ pub use models::{
8484
Quote, QuoteResponse, Rfq, RfqResponse, SelfTradePreventionType, Series, SeriesFeeChange,
8585
SeriesListResponse, SeriesResponse, Settlement, SettlementStatus, SettlementsResponse, Side,
8686
SportFilter, StandardHoursPeriod, StrikeType, StructuredTarget, StructuredTargetResponse,
87-
StructuredTargetsResponse, TagsByCategoriesResponse, TakerSide, TimeInForce, Trade,
88-
TradesResponse, TradingSession, UpdateOrderGroupLimitRequest, UserDataTimestampResponse,
87+
StructuredTargetsResponse, SubaccountNettingConfig, SubaccountNettingResponse,
88+
TagsByCategoriesResponse, TakerSide, TimeInForce, Trade, TradesResponse, TradingSession,
89+
UpdateOrderGroupLimitRequest, UpdateSubaccountNettingRequest, UserDataTimestampResponse,
8990
cents_to_dollars,
9091
};
9192

0 commit comments

Comments
 (0)