use pc_core::{Exchange, OrderSide, OrderStatus};
use std::collections::HashMap;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let exchange = /* initialize exchange */;
// Create a buy order
let order = exchange
.create_order(
"market-id",
"Yes",
OrderSide::Buy,
0.65, // price
100.0, // size
HashMap::new(),
)
.await?;
println!("Order created:");
println!(" ID: {}", order.id);
println!(" Side: {:?}", order.side);
println!(" Price: ${:.2}", order.price);
println!(" Size: {}", order.size);
println!(" Status: {:?}", order.status);
// Monitor order status
loop {
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
let updated = exchange
.fetch_order(&order.id, Some(&order.market_id))
.await?;
println!(
"Status: {:?} | Filled: {}/{} ({:.1}%)",
updated.status,
updated.filled,
updated.size,
updated.fill_percentage() * 100.0
);
if !updated.is_active() {
break;
}
}
Ok(())
}