rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

commit 9a5356e27ac3e13cb87c9a1b4b7db4ecd1089d6e
parent 628e9b57a169ad83e2080706b2ce66c27291ef45
Author: triesap <tyson@radroots.org>
Date:   Sat, 13 Jun 2026 00:45:16 -0700

rhi: align typed trade ids

- Refresh the worker lockfile for the rr-rs event contract graph
- Convert typed listing addresses back to witness and DVM string surfaces
- Preserve validation receipt witness JSON shape while using typed rr-rs payloads
- Validate the worker with format and cargo check lanes

Diffstat:
MCargo.lock | 3+++
Msrc/features/trade_listing/handlers/dvm.rs | 2+-
Msrc/features/trade_validation_receipt.rs | 12++++++------
3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -3281,8 +3281,11 @@ dependencies = [ name = "radroots_events" version = "0.1.0-alpha.2" dependencies = [ + "hex", "radroots_core", "serde", + "serde_json", + "sha2", ] [[package]] diff --git a/src/features/trade_listing/handlers/dvm.rs b/src/features/trade_listing/handlers/dvm.rs @@ -515,7 +515,7 @@ async fn handle_order_request( seen.insert(event_id.clone()); state.insert_order(TradeOrderState { order_id: envelope.order_id, - listing_addr: envelope.payload.listing_addr, + listing_addr: envelope.payload.listing_addr.to_string(), buyer_pubkey: envelope.payload.buyer_pubkey, seller_pubkey: envelope.payload.seller_pubkey, status: TradeOrderStatus::Requested, diff --git a/src/features/trade_validation_receipt.rs b/src/features/trade_validation_receipt.rs @@ -713,15 +713,15 @@ fn order_request_witness_from_payload( payload: RadrootsOrderRequest, ) -> RadrootsSp1TradeOrderRequestWitness { RadrootsSp1TradeOrderRequestWitness { - order_id: payload.order_id, - listing_addr: payload.listing_addr, + order_id: payload.order_id.to_string(), + listing_addr: payload.listing_addr.to_string(), buyer_pubkey: payload.buyer_pubkey, seller_pubkey: payload.seller_pubkey, items: payload .items .into_iter() .map(|item| RadrootsSp1TradeOrderItemWitness { - bin_id: item.bin_id, + bin_id: item.bin_id.to_string(), bin_count: item.bin_count, }) .collect(), @@ -732,8 +732,8 @@ fn order_decision_witness_from_payload( payload: RadrootsOrderDecision, ) -> RadrootsSp1TradeOrderDecisionEventWitness { RadrootsSp1TradeOrderDecisionEventWitness { - order_id: payload.order_id, - listing_addr: payload.listing_addr, + order_id: payload.order_id.to_string(), + listing_addr: payload.listing_addr.to_string(), buyer_pubkey: payload.buyer_pubkey, seller_pubkey: payload.seller_pubkey, decision: match payload.decision { @@ -743,7 +743,7 @@ fn order_decision_witness_from_payload( inventory_commitments: inventory_commitments .into_iter() .map(|commitment| RadrootsSp1TradeInventoryCommitmentWitness { - bin_id: commitment.bin_id, + bin_id: commitment.bin_id.to_string(), bin_count: commitment.bin_count, }) .collect(),