commit bf0de284675f705418c25c2990112db05d6402e6
parent 2851e58af9e44c6f822a8a4b9384f57b974d2eb4
Author: triesap <tyson@radroots.org>
Date: Thu, 30 Apr 2026 06:06:11 +0000
order: show status economics
Diffstat:
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);