From 7a06daccb8c302b482d08bb6e3e2297a1ce469e6 Mon Sep 17 00:00:00 2001 From: Teppy Date: Wed, 7 Aug 2024 18:50:46 -0400 Subject: [PATCH] changes --- src/main.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main.rs b/src/main.rs index 8a28e2b..0e28c12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,6 +27,7 @@ // balances Teppy # Show all of Teppy's funds (but not what has been moved to the market) // login Teppy # Some commands take an implicit Trader parameter. This sets that parameter // whoami # Shows logged in name for this Interactive session +// showorders # Shows orders for the logged in Trader // wallet # Show all of the logged-in trader's funds (but not what is on the market) // order 0.5 BTC 30000 USD # Create an order selling 0.5 BTC to buy 30000 USD. Uses logged in Trader's balance. // orderbatch 0.5 BTC 30000 USD # Enter an order but don't execute it (allow it to contribute to a crossed market) @@ -965,6 +966,16 @@ fn interactive(m: &mut Market, mut out: Option) { Command::None }, ["whoami" ] => { println!("Logged in as {}, id {}",m.traders[trader].name,trader ); Command::None } + ["showorders"] => { + println!("Showing all orders for {}",m.traders[trader].name); + for (key0,value0) in &m.traders[trader].order_finder { + let oq=m.orders.get(value0).unwrap(); // OrderQueue + let oqi=*oq.order_finder.get(key0).unwrap(); + let ord=oq.v[oqi].clone(); // Order + println!(" OrderID {} is selling {} {} to buy {} {}",key0,ord.sell_remain,m.number_to_asset(value0.0).name,ord.buy_qty*ord.sell_remain/ord.sell_qty,m.number_to_asset(value0.1).name); + } + Command::None + } ["wallet"] => { for (key,value) in &m.traders[trader].balances { println!(" {} {}",m.number_to_name(*key),value); } Command::None