cli

Command-line interface for Radroots
git clone https://radroots.dev/git/cli.git
Log | Files | Refs | README | LICENSE

commit bf0de284675f705418c25c2990112db05d6402e6
parent 2851e58af9e44c6f822a8a4b9384f57b974d2eb4
Author: triesap <tyson@radroots.org>
Date:   Thu, 30 Apr 2026 06:06:11 +0000

order: show status economics

Diffstat:
Msrc/domain/runtime.rs | 2++
Msrc/runtime/order.rs | 29+++++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/src/domain/runtime.rs b/src/domain/runtime.rs @@ -1502,6 +1502,8 @@ pub struct OrderStatusView { #[serde(skip_serializing_if = "Option::is_none")] pub seller_pubkey: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] + pub economics: Option<RadrootsTradeOrderEconomics>, + #[serde(skip_serializing_if = "Option::is_none")] pub last_event_id: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub inventory: Option<OrderInventoryView>, diff --git a/src/runtime/order.rs b/src/runtime/order.rs @@ -1204,6 +1204,7 @@ pub fn status( listing_addr: None, buyer_pubkey: None, seller_pubkey: None, + economics: None, last_event_id: None, inventory: None, fulfillment: None, @@ -1238,6 +1239,7 @@ pub fn status( listing_addr: None, buyer_pubkey: None, seller_pubkey: None, + economics: None, last_event_id: None, inventory: None, fulfillment: None, @@ -1522,6 +1524,7 @@ fn order_status_reduction_from_receipt_with_context( listing_addr: projection.listing_addr, buyer_pubkey: projection.buyer_pubkey, seller_pubkey: projection.seller_pubkey, + economics: projection.economics, last_event_id: projection.last_event_id, inventory, fulfillment, @@ -7325,6 +7328,7 @@ mod tests { assert_eq!(view.decoded_count, 0); assert_eq!(view.skipped_count, 0); assert!(view.request_event_id.is_none()); + assert!(view.economics.is_none()); assert!(view.fulfillment.is_none()); assert!(view.reducer_issues.is_empty()); } @@ -7364,6 +7368,14 @@ mod tests { view.seller_pubkey.as_deref(), Some(fixture.seller_pubkey.as_str()) ); + assert_eq!( + view.economics, + Some(sample_order_economics( + fixture.order_id.as_str(), + "bin-1", + 2 + )) + ); assert_eq!(view.decoded_count, 1); assert_eq!(view.skipped_count, 0); assert!(view.fulfillment.is_none()); @@ -7406,6 +7418,14 @@ mod tests { view.request_event_id.as_deref(), Some(expected_request_event_id.as_str()) ); + assert_eq!( + view.economics, + Some(sample_order_economics( + fixture.order_id.as_str(), + "bin-1", + 2 + )) + ); assert!(view.reducer_issues.is_empty()); } @@ -7682,6 +7702,14 @@ mod tests { assert_eq!(view.state, "accepted"); assert_eq!( + view.economics, + Some(sample_order_economics( + fixture.order_id.as_str(), + "bin-1", + 2 + )) + ); + assert_eq!( view.decision_event_id.as_deref(), Some(decision_event_id.as_str()) ); @@ -9799,6 +9827,7 @@ mod tests { assert_eq!(inventory.state, "not_reserved"); assert_eq!(inventory.commitment_valid, true); assert!(inventory.bins.is_empty()); + assert!(view.economics.is_none()); assert!(view.fulfillment.is_none()); assert!(view.reducer_issues.is_empty()); assert_eq!(view.decoded_count, 2);