use exchange_pb::mexc::*; use serde_json;
fn main() {
println!("=== MEXC Exchange Protobuf Demo ===");
let book_ticker = PublicBookTickerV3Api {
bid_price: "50000.00".to_string(),
bid_quantity: "1.5".to_string(),
ask_price: "50001.00".to_string(),
ask_quantity: "2.0".to_string(),
};
println!("1. 单个 Book Ticker:");
println!(" Bid: {} @ {}", book_ticker.bid_quantity, book_ticker.bid_price);
println!(" Ask: {} @ {}", book_ticker.ask_quantity, book_ticker.ask_price);
let batch = PublicBookTickerBatchV3Api {
items: vec![book_ticker.clone()],
};
println!("\n2. 批量 Book Tickers:");
println!(" 包含 {} 个 tickers", batch.items.len());
println!("\n3. JSON 序列化:");
match serde_json::to_string_pretty(&book_ticker) {
Ok(json) => println!(" {}", json),
Err(e) => println!(" 序列化失败: {}", e),
}
let mini_ticker = PublicMiniTickerV3Api {
symbol: "BTCUSDT".to_string(),
price: "50000.50".to_string(), rate: "0.20".to_string(), zoned_rate: "0.20".to_string(), high: "50100.00".to_string(), low: "49800.00".to_string(), volume: "61672800.00".to_string(), quantity: "1234.56".to_string(), last_close_rate: "0.18".to_string(),
last_close_zoned_rate: "0.18".to_string(),
last_close_high: "50050.00".to_string(), last_close_low: "49850.00".to_string(), };
println!("\n4. Mini Ticker 信息:");
println!(" 交易对: {}", mini_ticker.symbol);
println!(" 最新价: {}", mini_ticker.price);
println!(" 涨跌幅: {}%", mini_ticker.rate);
println!(" 24h高: {}", mini_ticker.high);
println!(" 24h低: {}", mini_ticker.low);
println!(" 成交量: {}", mini_ticker.quantity);
println!(" 成交额: {}", mini_ticker.volume);
let order = PrivateOrdersV3Api {
id: "order_123456".to_string(),
client_id: "client_abc".to_string(),
price: "50000.00".to_string(),
quantity: "1.0".to_string(),
amount: "50000.00".to_string(),
avg_price: "50000.00".to_string(),
order_type: 1, trade_type: 1, is_maker: false,
remain_amount: "0.00".to_string(),
remain_quantity: "0.00".to_string(),
last_deal_quantity: "1.0".to_string(),
cumulative_quantity: "1.0".to_string(),
cumulative_amount: "50000.00".to_string(),
status: 2, create_time: 1640995200000,
market: "BTCUSDT".to_string(),
symbol_id: "BTC_USDT".to_string(),
market_id: "1".to_string(),
market_currency_id: "USDT".to_string(),
currency_id: "BTC".to_string(),
..Default::default()
};
println!("\n5. 私有订单信息:");
println!(" 订单ID: {}", order.id);
println!(" 客户端ID: {}", order.client_id);
println!(" 交易对: {}", order.market);
println!(" 价格: {}", order.price);
println!(" 数量: {}", order.quantity);
println!(" 状态: {} (2=完全成交)", order.status);
println!(" 是否Maker: {}", order.is_maker);
println!("\n=== 演示完成 ===");
}