commit 65f9a200420021f8242345b1eb0922e1ee702fbd
parent d35dc2ae1b690aff29c2f13c8e54ea61867af59f
Author: triesap <tyson@radroots.org>
Date: Thu, 30 Jul 2026 09:17:04 +0000
trade: document public api contract
- define canonical modules, workflows, and intended consumers
- document serialization, trust, cancellation, and commit boundaries
- add a compiled reducer example and crate-level README rustdoc
- record and guard the reviewed all-feature API baseline
Diffstat:
11 files changed, 1805 insertions(+), 20 deletions(-)
diff --git a/crates/trade/README.md b/crates/trade/README.md
@@ -1,25 +1,154 @@
# radroots_trade
-This is the README for `radroots_trade`, which provides shared trade workflow
-helpers for the `radroots` core libraries.
+`radroots_trade` is the portable domain-algorithm layer for Radroots trades.
+It validates canonical trade inputs, represents reducer evidence, derives
+deterministic conflict-aware projections, and prepares side-effect-free
+workflow plans over the canonical `radroots_event` trade model.
-## Overview
+The crate is pre-release and its Cargo version is frozen at `0.1.0-alpha`
+until explicitly changed. Versioned trade schemas, reducer contracts, and
+conformance vectors evolve independently from the Cargo package version.
- * listing model types such as subtotals and totals built on `radroots_core`
- money, quantity, currency, and unit values;
- * listing publish helpers for canonical address normalization, author checks,
- and event-shaping workflows;
- * one typed Operational Listing semantic reducer shared by unsigned model
- validation and the signature-verified Nostr event boundary;
- * order and public-trade helpers for shared request validation and projection;
- * optional `serde` and `serde_json` support for shared model serialization;
- * portable shared-model support for both `std` and `no_std` builds.
+## Canonical surface
-## Copyright
+New code should enter through these modules:
-Except as otherwise noted, all files in the `radroots_trade` distribution are
+| Module | Responsibility |
+| --- | --- |
+| `evidence` | Immutable mutation, private-term, and attestation observations consumed by reduction. |
+| `model` | Trade projection state and validated business identifiers. |
+| `reducer` | Deterministic reduction, evidence precedence, and conflict reporting. |
+| `validation` | Validation-error ownership for canonical trade inputs. |
+| `workflow` | Validated plans describing host actions without executing them. |
+
+The curated root exports are `Projection`, `ReductionInput`, `ReducerIssue`,
+`WorkflowPlan`, and `Error`. The canonical protocol `TradeId` remains owned by
+`radroots_event`; `model::OrderId` is a distinct human or business-workflow
+identifier and has no conversion to or from `TradeId`.
+
+The pre-release tree still contains operational-listing, binding-generation,
+and versioned-contract migration paths needed by integrated consumers. They
+are not new package identities or authority to add host behavior, and they
+may be removed before publication. The reviewed Rust surface is recorded in
+the [public API baseline](../../docs/api/radroots_trade.txt).
+
+## Deterministic reduction
+
+`reducer::reduce_trade_records` is a pure projection function. It accepts a
+`ReductionInput` containing the canonical trade ID plus explicitly supplied
+mutation, private-term, attestation, and observation evidence. It normalizes
+input order, handles duplicates deterministically, isolates unsupported
+contract versions, reports conflicts as typed `ReducerIssue` values, and
+computes a canonical projection digest.
+
+```rust
+use radroots_event::trade::TradeId;
+use radroots_trade::{ReductionInput, reducer::reduce_trade_records};
+
+let trade_id = TradeId::parse("0123456789abcdef".repeat(2))?;
+let projection = reduce_trade_records(ReductionInput::new(trade_id));
+
+assert_eq!(projection.trade_id(), &trade_id);
+# Ok::<(), Box<dyn std::error::Error>>(())
+```
+
+A runnable version is available at
+[`examples/reduce_trade.rs`](examples/reduce_trade.rs).
+
+Reduction does not retrieve missing records or attestations. A projection's
+evidence state and issues describe only the supplied input, not the existence
+of additional records elsewhere.
+
+## Workflow planning
+
+`WorkflowPlan::prepare` validates a canonical proposal, decision, revision,
+or cancellation mutation and returns its ordered required actions. Actions
+describe private-term verification, signing, atomic persistence, and delivery;
+the crate never performs those actions. Private-term plans expose only the
+artifact identifier, schema identifier, commitment, and candidate needed by
+the host to perform its own verification.
+
+Creating or dropping a plan changes no external state. A successful plan is
+not an authorization decision, signature, storage receipt, delivery receipt,
+or proof that referenced private material exists.
+
+## Features
+
+| Feature | Default | Effect |
+| --- | --- | --- |
+| `std` | yes | Standard-library integration for the portable model and errors. |
+| `serde` | yes | Serialization support for native and versioned trade values. |
+| `serde_json` | yes | JSON validation receipts and executable JSON conformance vectors; enables `serde`. |
+| `dto-bindgen` | no | Pre-release generated-binding support used by integrated consumers; enables `std` and `serde_json`. |
+
+`--no-default-features` keeps the allocation-backed trade model, reducer, and
+workflow planner available in `no_std` environments. Features are additive;
+enabling one never selects a runtime, performs I/O, starts work, or weakens
+validation. The `serde_json` and `dto-bindgen` names are migration-era
+surfaces, not authority to expose code generation or implementation assembly
+as permanent Release V1 capabilities.
- Copyright (c) 2025 Tyson Lupul
+## Serialization and versioning
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see LICENSE included in the `radroots_trade` distribution.
+Serde represents validated values; deserialization does not perform actor
+authorization, signature verification, record lookup, or delivery. Canonical
+JSON stability applies only to the explicitly governed reducer and workflow
+conformance vectors and validation-receipt contracts. Rust data layout,
+debug formatting, and the pre-release public API are not wire contracts.
+
+Versioned `V1` names identify serialized or algorithm-contract generations.
+They do not imply that the Cargo package is `1.0`, and changing a Cargo version
+must not rewrite authenticated historical trade data.
+
+## Security and trust boundaries
+
+All mutation, evidence, identifier, and serialized inputs are untrusted until
+their owning constructors or validators accept them. Deterministic reduction
+does not establish actor authority, validate a cryptographic signature, prove
+referenced-event existence, decrypt private terms, or decide business policy.
+Workflow preparation validates shape and required host actions but deliberately
+does not acquire signers, keys, stores, transports, clocks, or executors.
+
+The crate owns no secret material and must not log private-term plaintext.
+Artifact identifiers and ciphertext commitments are references for a host to
+verify through an explicit secure boundary; they are not proof of retrieval,
+decryption, durability, or confidentiality by themselves.
+
+## Side effects, cancellation, and commit points
+
+This crate performs no network, filesystem, database, keychain, signing,
+outbox, scheduling, or process-global operations. Its public algorithms are
+synchronous and deterministic for the same canonical inputs.
+
+There is no asynchronous cancellation or deadline boundary and no durable
+commit point. Abandoning reduction or dropping a workflow plan discards only
+in-memory work. Storage, signing, transport, sync, SDK, RHI, and application
+hosts own cancellation and must report success only after their own explicit
+commit boundary succeeds.
+
+## Intended consumers
+
+Direct consumers are `radroots_storage`, `radroots_sync`, `radroots_sdk`, RHI,
+and applications that need the deterministic trade boundary. Ordinary
+applications should normally use the `radroots` or `radroots_sdk` front door
+and depend on this crate directly only when they need its native model,
+reducer, evidence, or workflow-plan contracts.
+
+This package must not acquire actor authorization, signers, event-store or
+SQL access, files, transport delivery, outbox mutation, process scheduling,
+or application state. Those responsibilities belong to host SPI, adapter,
+storage, orchestration, and front-door packages.
+
+## Package charter
+
+The authoritative Release V1 responsibility, dependency, feature, module,
+root-export, and forbidden-scope contract is the
+[Radroots crates Release V1 specification](../../docs/specs/radroots_crates_release_v1.md).
+The baseline generation procedure and toolchain are documented in
+[`docs/api/README.md`](../../docs/api/README.md).
+
+## Copyright
+
+Except as otherwise noted, all files in the `radroots_trade` distribution are
+copyright (c) 2025 Tyson Lupul. See `LICENSE` for usage, redistribution, and
+warranty terms.
diff --git a/crates/trade/examples/reduce_trade.rs b/crates/trade/examples/reduce_trade.rs
@@ -0,0 +1,10 @@
+use radroots_event::trade::TradeId;
+use radroots_trade::{ReductionInput, reducer::reduce_trade_records};
+
+fn main() -> Result<(), Box<dyn std::error::Error>> {
+ let trade_id = TradeId::parse("0123456789abcdef".repeat(2))?;
+ let projection = reduce_trade_records(ReductionInput::new(trade_id));
+
+ assert_eq!(projection.trade_id(), &trade_id);
+ Ok(())
+}
diff --git a/crates/trade/src/evidence.rs b/crates/trade/src/evidence.rs
@@ -1,4 +1,7 @@
-//! Evidence types used by deterministic trade reduction.
+//! Evidence supplied explicitly to deterministic trade reduction.
+//!
+//! These values describe observed mutation, private-term, and attestation
+//! records. They perform no retrieval, signature verification, or decryption.
pub use crate::trade_contract_v1::{
RadrootsTradeAttestationRecordV1, RadrootsTradeAttestationResultV1,
diff --git a/crates/trade/src/lib.rs b/crates/trade/src/lib.rs
@@ -1,5 +1,8 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
+#![forbid(unsafe_code)]
+#![deny(rustdoc::broken_intra_doc_links)]
+#![doc = include_str!("../README.md")]
#[cfg(not(feature = "std"))]
extern crate alloc;
diff --git a/crates/trade/src/model.rs b/crates/trade/src/model.rs
@@ -1,4 +1,7 @@
-//! Native trade-domain models and validated value types.
+//! Native trade-domain projections and validated business identifiers.
+//!
+//! Protocol trade identity remains owned by [`radroots_event::trade`]. This
+//! module owns projection state plus the semantically distinct [`OrderId`].
pub use crate::trade_contract_v1::{
RadrootsTradeAgreementClaimV1, RadrootsTradeAgreementStateV1, RadrootsTradeAttestationStateV1,
diff --git a/crates/trade/src/reducer.rs b/crates/trade/src/reducer.rs
@@ -1,4 +1,7 @@
//! Deterministic trade reduction and conflict analysis.
+//!
+//! Reduction consumes caller-supplied evidence only. It performs no record
+//! lookup, authorization, persistence, signing, or delivery.
pub use crate::trade_contract_v1::{
RADROOTS_TRADE_REDUCER_CONTRACT_ID, RADROOTS_TRADE_REDUCER_VERSION,
diff --git a/crates/trade/src/validation.rs b/crates/trade/src/validation.rs
@@ -1 +1,5 @@
-//! Validation for canonical trade-domain inputs.
+//! Validation ownership for canonical trade-domain inputs.
+//!
+//! Validated event-domain constructors and [`crate::WorkflowPlan::prepare`]
+//! enforce the active invariants. Validation never implies actor authority,
+//! cryptographic verification, persistence, or delivery.
diff --git a/crates/trade/src/workflow.rs b/crates/trade/src/workflow.rs
@@ -1,4 +1,8 @@
//! Validated, side-effect-free trade workflow plans.
+//!
+//! Plans describe required private-term verification, signing, persistence,
+//! and delivery actions. Hosts retain exclusive authority to execute them and
+//! to define cancellation, deadlines, and durable commit behavior.
#[cfg(not(feature = "std"))]
use alloc::{format, string::String, vec, vec::Vec};
diff --git a/crates/trade/tests/package_boundary.rs b/crates/trade/tests/package_boundary.rs
@@ -18,6 +18,9 @@ const CANONICAL_WORKFLOW_VECTORS: &str =
const PACKAGED_WORKFLOW_VECTORS: &str = include_str!("fixtures/prepare_workflow.v1.json");
const WORKFLOW: &str = include_str!("../src/workflow.rs");
const PACKAGE_TIERS: &str = include_str!("../../../contracts/releases/package_tiers.toml");
+const README: &str = include_str!("../README.md");
+const EXAMPLE: &str = include_str!("../examples/reduce_trade.rs");
+const PUBLIC_API: &str = include_str!("../../../docs/api/radroots_trade.txt");
#[test]
fn manifest_has_final_identity_and_required_radroots_dependencies() {
@@ -253,6 +256,56 @@ fn workflow_plan_is_root_exported_and_side_effect_free() {
}
}
+#[test]
+fn package_documentation_and_reviewed_api_baseline_are_complete() {
+ for section in [
+ "## Canonical surface",
+ "## Deterministic reduction",
+ "## Workflow planning",
+ "## Features",
+ "## Serialization and versioning",
+ "## Security and trust boundaries",
+ "## Side effects, cancellation, and commit points",
+ "## Intended consumers",
+ "## Package charter",
+ ] {
+ assert!(README.contains(section), "README is missing {section}");
+ }
+ assert!(ROOT.contains("#![doc = include_str!(\"../README.md\")]"));
+ assert!(
+ EXAMPLE.contains("use radroots_trade::{ReductionInput, reducer::reduce_trade_records};")
+ );
+
+ assert!(PUBLIC_API.starts_with("pub mod radroots_trade\n"));
+ for item in [
+ "pub mod radroots_trade::evidence",
+ "pub mod radroots_trade::model",
+ "pub mod radroots_trade::reducer",
+ "pub mod radroots_trade::validation",
+ "pub mod radroots_trade::workflow",
+ "pub struct radroots_trade::Projection",
+ "pub enum radroots_trade::ReducerIssue",
+ "pub struct radroots_trade::ReductionInput",
+ "pub struct radroots_trade::WorkflowPlan",
+ ] {
+ assert!(PUBLIC_API.contains(item), "API baseline is missing {item}");
+ }
+ for forbidden in [
+ "radroots_authority::",
+ "radroots_event_store::",
+ "radroots_outbox::",
+ "radroots_transport::",
+ "reqwest::",
+ "sqlx::",
+ "tokio::",
+ ] {
+ assert!(
+ !PUBLIC_API.contains(forbidden),
+ "API baseline exposes forbidden host path {forbidden}"
+ );
+ }
+}
+
fn table_keys<'a>(manifest: &'a str, heading: &str) -> BTreeSet<&'a str> {
let Some((_, table)) = manifest.split_once(heading) else {
return BTreeSet::new();
diff --git a/docs/api/README.md b/docs/api/README.md
@@ -36,3 +36,4 @@ expand a package beyond its charter.
| `radroots_protocol` | [`radroots_protocol.txt`](radroots_protocol.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
| `radroots_event` | [`radroots_event.txt`](radroots_event.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
| `radroots_event_codec` | [`radroots_event_codec.txt`](radroots_event_codec.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
+| `radroots_trade` | [`radroots_trade.txt`](radroots_trade.txt) | [release V1 specification](../specs/radroots_crates_release_v1.md) |
diff --git a/docs/api/radroots_trade.txt b/docs/api/radroots_trade.txt
@@ -0,0 +1,1572 @@
+pub mod radroots_trade
+pub mod radroots_trade::dto
+pub fn radroots_trade::dto::dto_roots() -> [dto_bindgen_core::descriptor::RootDescriptor; 12]
+pub mod radroots_trade::evidence
+pub enum radroots_trade::evidence::RadrootsTradeAttestationResultV1
+pub radroots_trade::evidence::RadrootsTradeAttestationResultV1::Invalid
+pub radroots_trade::evidence::RadrootsTradeAttestationResultV1::Valid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationResultV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationResultV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::Complete
+pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::Missing
+pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::QueryPartial
+pub radroots_trade::evidence::RadrootsTradeEvidenceStateV1::UnsupportedVersion
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::evidence::RadrootsTradeEvidenceStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+impl radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::event_id(&self) -> &radroots_event::id::EventId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::new(radroots_event::id::EventId, radroots_event::id::MutationId, radroots_trade::evidence::RadrootsTradeAttestationResultV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::result(&self) -> radroots_trade::evidence::RadrootsTradeAttestationResultV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::evidence::RadrootsTradeMutationRecordV1
+impl radroots_trade::evidence::RadrootsTradeMutationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::new(core::option::Option<radroots_event::id::EventId>, radroots_event::trade::TradeMutationEnvelopeV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::transport_event_id(&self) -> core::option::Option<&radroots_event::id::EventId>
+pub struct radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+impl radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::new(radroots_event::id::CandidateId, radroots_trade::model::RadrootsTradePrivateTermsStateV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub mod radroots_trade::identity
+pub struct radroots_trade::identity::RadrootsTradeLocator
+pub radroots_trade::identity::RadrootsTradeLocator::buyer_pubkey: core::option::Option<radroots_identity::key::PublicKey>
+pub radroots_trade::identity::RadrootsTradeLocator::listing_addr: core::option::Option<radroots_event::id::ClassifiedListingAddress>
+pub radroots_trade::identity::RadrootsTradeLocator::order_id: core::option::Option<radroots_trade::model::OrderId>
+pub radroots_trade::identity::RadrootsTradeLocator::root_event_id: core::option::Option<radroots_event::id::EventId>
+pub radroots_trade::identity::RadrootsTradeLocator::seller_pubkey: core::option::Option<radroots_identity::key::PublicKey>
+pub radroots_trade::identity::RadrootsTradeLocator::trade_id: radroots_event::id::TradeId
+impl radroots_trade::identity::RadrootsTradeLocator
+pub fn radroots_trade::identity::RadrootsTradeLocator::new(radroots_event::id::TradeId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_buyer_pubkey(self, radroots_identity::key::PublicKey) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_listing_addr(self, radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_order_id(self, radroots_trade::model::OrderId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_root_event_id(self, radroots_event::id::EventId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_seller_pubkey(self, radroots_identity::key::PublicKey) -> Self
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::identity::RadrootsTradeLocator
+pub fn radroots_trade::identity::RadrootsTradeLocator::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::identity::RadrootsTradeLocatorCandidate
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::buyer_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::order_id: radroots_trade::model::OrderId
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::root_event_id: radroots_event::id::EventId
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::seller_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::identity::RadrootsTradeLocatorCandidate::trade_id: radroots_event::id::TradeId
+impl radroots_trade::identity::RadrootsTradeLocatorCandidate
+pub fn radroots_trade::identity::RadrootsTradeLocatorCandidate::locator(&self) -> radroots_trade::identity::RadrootsTradeLocator
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::identity::RadrootsTradeLocatorCandidate
+pub fn radroots_trade::identity::RadrootsTradeLocatorCandidate::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub mod radroots_trade::model
+pub enum radroots_trade::model::OrderIdError
+pub radroots_trade::model::OrderIdError::Empty
+pub radroots_trade::model::OrderIdError::InvalidCharacter
+pub radroots_trade::model::OrderIdError::TooLong
+pub radroots_trade::model::OrderIdError::TooLong::actual: usize
+pub radroots_trade::model::OrderIdError::TooLong::max: usize
+impl core::error::Error for radroots_trade::model::OrderIdError
+impl core::fmt::Display for radroots_trade::model::OrderIdError
+pub fn radroots_trade::model::OrderIdError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::model::RadrootsTradeAgreementStateV1
+pub radroots_trade::model::RadrootsTradeAgreementStateV1::Agreed
+pub radroots_trade::model::RadrootsTradeAgreementStateV1::Cancelled
+pub radroots_trade::model::RadrootsTradeAgreementStateV1::Contested
+pub radroots_trade::model::RadrootsTradeAgreementStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementStateV1
+pub fn radroots_trade::model::RadrootsTradeAgreementStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradeAttestationStateV1
+pub radroots_trade::model::RadrootsTradeAttestationStateV1::Conflicting
+pub radroots_trade::model::RadrootsTradeAttestationStateV1::None
+pub radroots_trade::model::RadrootsTradeAttestationStateV1::PresentInvalid
+pub radroots_trade::model::RadrootsTradeAttestationStateV1::PresentValid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::model::RadrootsTradeAttestationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradeConflictStateV1
+pub radroots_trade::model::RadrootsTradeConflictStateV1::CancellationConflict
+pub radroots_trade::model::RadrootsTradeConflictStateV1::ConcurrentCandidates
+pub radroots_trade::model::RadrootsTradeConflictStateV1::DecisionConflict
+pub radroots_trade::model::RadrootsTradeConflictStateV1::DoubleAcceptance
+pub radroots_trade::model::RadrootsTradeConflictStateV1::InvalidCausalChain
+pub radroots_trade::model::RadrootsTradeConflictStateV1::InventoryAuthorityConflict
+pub radroots_trade::model::RadrootsTradeConflictStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::model::RadrootsTradeConflictStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub radroots_trade::model::RadrootsTradeFulfillmentStateV1::NotStarted
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::model::RadrootsTradeFulfillmentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub radroots_trade::model::RadrootsTradeNegotiationStateV1::ClosedDeclined
+pub radroots_trade::model::RadrootsTradeNegotiationStateV1::ClosedExpired
+pub radroots_trade::model::RadrootsTradeNegotiationStateV1::None
+pub radroots_trade::model::RadrootsTradeNegotiationStateV1::Open
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub fn radroots_trade::model::RadrootsTradeNegotiationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradePaymentStateV1
+pub radroots_trade::model::RadrootsTradePaymentStateV1::NotTracked
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePaymentStateV1
+pub fn radroots_trade::model::RadrootsTradePaymentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::AvailableVerified
+pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::CommitmentMismatch
+pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::Missing
+pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::NotRequired
+pub radroots_trade::model::RadrootsTradePrivateTermsStateV1::Undecryptable
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::model::RadrootsTradePrivateTermsStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::model::OrderId(_)
+impl radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::as_str(&self) -> &str
+pub fn radroots_trade::model::OrderId::into_string(self) -> alloc::string::String
+pub fn radroots_trade::model::OrderId::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_trade::model::OrderIdError>
+impl core::convert::AsRef<str> for radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::as_ref(&self) -> &str
+impl core::convert::From<radroots_trade::model::OrderId> for alloc::string::String
+pub fn alloc::string::String::from(radroots_trade::model::OrderId) -> Self
+impl core::convert::TryFrom<&str> for radroots_trade::model::OrderId
+pub type radroots_trade::model::OrderId::Error = radroots_trade::model::OrderIdError
+pub fn radroots_trade::model::OrderId::try_from(&str) -> core::result::Result<Self, Self::Error>
+impl core::convert::TryFrom<alloc::string::String> for radroots_trade::model::OrderId
+pub type radroots_trade::model::OrderId::Error = radroots_trade::model::OrderIdError
+pub fn radroots_trade::model::OrderId::try_from(alloc::string::String) -> core::result::Result<Self, Self::Error>
+impl core::fmt::Display for radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::str::traits::FromStr for radroots_trade::model::OrderId
+pub type radroots_trade::model::OrderId::Err = radroots_trade::model::OrderIdError
+pub fn radroots_trade::model::OrderId::from_str(&str) -> core::result::Result<Self, Self::Err>
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+impl serde_core::ser::Serialize for radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::serialize<S>(&self, S) -> core::result::Result<<S as serde_core::ser::Serializer>::Ok, <S as serde_core::ser::Serializer>::Error> where S: serde_core::ser::Serializer
+impl<'de> serde_core::de::Deserialize<'de> for radroots_trade::model::OrderId
+pub fn radroots_trade::model::OrderId::deserialize<D>(D) -> core::result::Result<Self, <D as serde_core::de::Deserializer>::Error> where D: serde_core::de::Deserializer<'de>
+pub struct radroots_trade::model::RadrootsTradeAgreementClaimV1
+impl radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::accepted_by_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_author_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::proposal_mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::reservation_commitment(&self) -> &str
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::model::RadrootsTradeProjectionV1
+impl radroots_trade::Projection
+pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1]
+pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1
+pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId]
+pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag>
+pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue]
+pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1
+pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::Projection::projection_digest(&self) -> &str
+pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str
+pub const fn radroots_trade::Projection::reducer_version(&self) -> u16
+pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId>
+pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId]
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::Projection
+pub fn radroots_trade::Projection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub const radroots_trade::model::ORDER_ID_MAX_LEN: usize
+pub mod radroots_trade::operational_listing
+pub mod radroots_trade::operational_listing::draft
+pub enum radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::DuplicateBinId
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::DuplicateBinId::bin_id: radroots_event::id::InventoryBinId
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch::actual_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch::expected_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::InvalidClassifiedListingAddress(radroots_event::id::ParseError)
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::InvalidFarmPubkey(radroots_identity::error::Error)
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::InvalidModel(radroots_event::trade::validation::OperationalListingValidationError)
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::MissingPrimaryBin
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::MissingPrimaryBin::primary_bin_id: radroots_event::id::InventoryBinId
+impl core::error::Error for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+impl core::fmt::Display for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::listing(&self) -> &radroots_event::listing::operational::OperationalListing
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::new(radroots_event::listing::operational::OperationalListing, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::public_listing_addr(&self) -> &radroots_event::id::ClassifiedListingAddress
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::seller_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub struct radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1
+pub radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1::listing: radroots_event::listing::operational::OperationalListing
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1::new(radroots_event::listing::operational::OperationalListing) -> Self
+pub fn radroots_trade::operational_listing::draft::canonicalize_operational_listing_edit(radroots_identity::key::PublicKey, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1) -> core::result::Result<radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub mod radroots_trade::operational_listing::model
+pub struct radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::price_amount: radroots_core::money::Money
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::price_currency: radroots_core::currency::Currency
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::quantity_amount: radroots_core::decimal::Decimal
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::quantity_unit: radroots_core::unit::Unit
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal
+pub fn radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::operational_listing::model::RadrootsOperationalListingTotal
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::price_amount: radroots_core::money::Money
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::price_currency: radroots_core::currency::Currency
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::quantity_amount: radroots_core::decimal::Decimal
+pub radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::quantity_unit: radroots_core::unit::Unit
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::model::RadrootsOperationalListingTotal
+pub fn radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub mod radroots_trade::operational_listing::mutation
+pub enum radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState::Draft
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState::Published
+pub enum radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Archive
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Archive::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Publish
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Publish::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::SaveDraft
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::SaveDraft::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Update
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::Update::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::archive(radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::canonical_draft(&self) -> core::result::Result<&radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::lifecycle_state(&self) -> core::result::Result<radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::listing_addr(&self) -> core::result::Result<&radroots_event::id::ClassifiedListingAddress, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::publish(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::save_draft(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::update(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub enum radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::EncodeListing(alloc::string::String)
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::FrozenDraft(radroots_event::draft::DraftError)
+pub radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::UnsupportedMutation
+impl core::error::Error for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+impl core::fmt::Display for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_trade::operational_listing::mutation::build_operational_listing_mutation_draft(&radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation, u64) -> core::result::Result<radroots_event::draft::EventDraft, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub mod radroots_trade::operational_listing::price_ext
+pub trait radroots_trade::operational_listing::price_ext::BinPricingTryExt
+pub fn radroots_trade::operational_listing::price_ext::BinPricingTryExt::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error>
+pub fn radroots_trade::operational_listing::price_ext::BinPricingTryExt::try_total_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error>
+impl radroots_trade::operational_listing::price_ext::BinPricingTryExt for radroots_event::listing::operational::OperationalListingBin
+pub fn radroots_event::listing::operational::OperationalListingBin::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error>
+pub fn radroots_event::listing::operational::OperationalListingBin::try_total_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error>
+pub mod radroots_trade::operational_listing::validation
+pub struct radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::availability: radroots_event::listing::operational::OperationalListingAvailability
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::bin_quantity: radroots_core::quantity::Quantity
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::delivery_method: radroots_event::listing::operational::OperationalListingDeliveryMethod
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::description: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::inventory_available: radroots_core::decimal::Decimal
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::listing: radroots_event::listing::operational::OperationalListing
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::listing_id: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::location: radroots_event::listing::operational::OperationalListingPublicLocation
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::primary_bin_id: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::product_type: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::seller_pubkey: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::title: alloc::string::String
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::unit: radroots_core::unit::Unit
+pub radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::unit_price: radroots_core::money::Money
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection
+pub fn radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub fn radroots_trade::operational_listing::validation::validate_operational_listing_event(&radroots_event_codec::verification::v1::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub fn radroots_trade::operational_listing::validation::validate_operational_listing_model(radroots_event::listing::operational::OperationalListing, &radroots_identity::key::PublicKey) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub enum radroots_trade::operational_listing::RadrootsOperationalListingEditError
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::DuplicateBinId
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::DuplicateBinId::bin_id: radroots_event::id::InventoryBinId
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch::actual_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::FarmPubkeyMismatch::expected_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::InvalidClassifiedListingAddress(radroots_event::id::ParseError)
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::InvalidFarmPubkey(radroots_identity::error::Error)
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::InvalidModel(radroots_event::trade::validation::OperationalListingValidationError)
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::MissingPrimaryBin
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditError::MissingPrimaryBin::primary_bin_id: radroots_event::id::InventoryBinId
+impl core::error::Error for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+impl core::fmt::Display for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::operational_listing::RadrootsOperationalListingLifecycleState
+pub radroots_trade::operational_listing::RadrootsOperationalListingLifecycleState::Draft
+pub radroots_trade::operational_listing::RadrootsOperationalListingLifecycleState::Published
+pub enum radroots_trade::operational_listing::RadrootsOperationalListingMutation
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Archive
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Archive::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Publish
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Publish::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::SaveDraft
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::SaveDraft::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Update
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutation::Update::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::archive(radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::canonical_draft(&self) -> core::result::Result<&radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::lifecycle_state(&self) -> core::result::Result<radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::listing_addr(&self) -> core::result::Result<&radroots_event::id::ClassifiedListingAddress, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::publish(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::save_draft(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::update(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub enum radroots_trade::operational_listing::RadrootsOperationalListingMutationError
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutationError::EncodeListing(alloc::string::String)
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutationError::FrozenDraft(radroots_event::draft::DraftError)
+pub radroots_trade::operational_listing::RadrootsOperationalListingMutationError::UnsupportedMutation
+impl core::error::Error for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+impl core::fmt::Display for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts
+pub radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::address: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::kind: u32
+pub radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::listing_id: radroots_event::id::DTag
+pub radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::seller_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts
+pub fn radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError>
+pub struct radroots_trade::operational_listing::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::listing(&self) -> &radroots_event::listing::operational::OperationalListing
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::new(radroots_event::listing::operational::OperationalListing, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::public_listing_addr(&self) -> &radroots_event::id::ClassifiedListingAddress
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::seller_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub struct radroots_trade::operational_listing::RadrootsOperationalListingEditDocumentV1
+pub radroots_trade::operational_listing::RadrootsOperationalListingEditDocumentV1::listing: radroots_event::listing::operational::OperationalListing
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1::new(radroots_event::listing::operational::OperationalListing) -> Self
+pub struct radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::availability: radroots_event::listing::operational::OperationalListingAvailability
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::bin_quantity: radroots_core::quantity::Quantity
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::delivery_method: radroots_event::listing::operational::OperationalListingDeliveryMethod
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::description: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::inventory_available: radroots_core::decimal::Decimal
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::listing: radroots_event::listing::operational::OperationalListing
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::listing_id: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::location: radroots_event::listing::operational::OperationalListingPublicLocation
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::primary_bin_id: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::product_type: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::seller_pubkey: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::title: alloc::string::String
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::unit: radroots_core::unit::Unit
+pub radroots_trade::operational_listing::RadrootsOperationalListingTradeProjection::unit_price: radroots_core::money::Money
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection
+pub fn radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress
+pub radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::address: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::kind: u32
+pub radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::listing_id: radroots_event::id::DTag
+pub radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::seller_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress
+pub fn radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError>
+pub fn radroots_trade::operational_listing::build_operational_listing_mutation_draft(&radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation, u64) -> core::result::Result<radroots_event::draft::EventDraft, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::canonicalize_operational_listing_edit(radroots_identity::key::PublicKey, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1) -> core::result::Result<radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::operational_listing::parse_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts, radroots_event::id::ParseError>
+pub fn radroots_trade::operational_listing::parse_operational_listing_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_trade::operational_listing::parse_public_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress, radroots_event::id::ParseError>
+pub fn radroots_trade::operational_listing::validate_operational_listing_event(&radroots_event_codec::verification::v1::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub fn radroots_trade::operational_listing::validate_operational_listing_model(radroots_event::listing::operational::OperationalListing, &radroots_identity::key::PublicKey) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub mod radroots_trade::prelude
+pub mod radroots_trade::prelude::draft
+pub enum radroots_trade::prelude::draft::RadrootsOperationalListingEditError
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::DuplicateBinId
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::DuplicateBinId::bin_id: radroots_event::id::InventoryBinId
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch::actual_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::FarmPubkeyMismatch::expected_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::InvalidClassifiedListingAddress(radroots_event::id::ParseError)
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::InvalidFarmPubkey(radroots_identity::error::Error)
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::InvalidModel(radroots_event::trade::validation::OperationalListingValidationError)
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::MissingPrimaryBin
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditError::MissingPrimaryBin::primary_bin_id: radroots_event::id::InventoryBinId
+impl core::error::Error for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+impl core::fmt::Display for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::prelude::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::listing(&self) -> &radroots_event::listing::operational::OperationalListing
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::new(radroots_event::listing::operational::OperationalListing, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::public_listing_addr(&self) -> &radroots_event::id::ClassifiedListingAddress
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::seller_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub struct radroots_trade::prelude::draft::RadrootsOperationalListingEditDocumentV1
+pub radroots_trade::prelude::draft::RadrootsOperationalListingEditDocumentV1::listing: radroots_event::listing::operational::OperationalListing
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1::new(radroots_event::listing::operational::OperationalListing) -> Self
+pub fn radroots_trade::prelude::draft::canonicalize_operational_listing_edit(radroots_identity::key::PublicKey, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1) -> core::result::Result<radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub mod radroots_trade::prelude::model
+pub struct radroots_trade::prelude::model::RadrootsOperationalListingSubtotal
+pub radroots_trade::prelude::model::RadrootsOperationalListingSubtotal::price_amount: radroots_core::money::Money
+pub radroots_trade::prelude::model::RadrootsOperationalListingSubtotal::price_currency: radroots_core::currency::Currency
+pub radroots_trade::prelude::model::RadrootsOperationalListingSubtotal::quantity_amount: radroots_core::decimal::Decimal
+pub radroots_trade::prelude::model::RadrootsOperationalListingSubtotal::quantity_unit: radroots_core::unit::Unit
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal
+pub fn radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::model::RadrootsOperationalListingTotal
+pub radroots_trade::prelude::model::RadrootsOperationalListingTotal::price_amount: radroots_core::money::Money
+pub radroots_trade::prelude::model::RadrootsOperationalListingTotal::price_currency: radroots_core::currency::Currency
+pub radroots_trade::prelude::model::RadrootsOperationalListingTotal::quantity_amount: radroots_core::decimal::Decimal
+pub radroots_trade::prelude::model::RadrootsOperationalListingTotal::quantity_unit: radroots_core::unit::Unit
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::model::RadrootsOperationalListingTotal
+pub fn radroots_trade::operational_listing::model::RadrootsOperationalListingTotal::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub mod radroots_trade::prelude::mutation
+pub enum radroots_trade::prelude::mutation::RadrootsOperationalListingLifecycleState
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingLifecycleState::Draft
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingLifecycleState::Published
+pub enum radroots_trade::prelude::mutation::RadrootsOperationalListingMutation
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Archive
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Archive::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Publish
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Publish::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::SaveDraft
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::SaveDraft::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Update
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutation::Update::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::archive(radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::canonical_draft(&self) -> core::result::Result<&radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::lifecycle_state(&self) -> core::result::Result<radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::listing_addr(&self) -> core::result::Result<&radroots_event::id::ClassifiedListingAddress, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::publish(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::save_draft(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::update(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub enum radroots_trade::prelude::mutation::RadrootsOperationalListingMutationError
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutationError::EncodeListing(alloc::string::String)
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutationError::FrozenDraft(radroots_event::draft::DraftError)
+pub radroots_trade::prelude::mutation::RadrootsOperationalListingMutationError::UnsupportedMutation
+impl core::error::Error for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+impl core::fmt::Display for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub fn radroots_trade::prelude::mutation::build_operational_listing_mutation_draft(&radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation, u64) -> core::result::Result<radroots_event::draft::EventDraft, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub mod radroots_trade::prelude::price_ext
+pub trait radroots_trade::prelude::price_ext::BinPricingTryExt
+pub fn radroots_trade::prelude::price_ext::BinPricingTryExt::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error>
+pub fn radroots_trade::prelude::price_ext::BinPricingTryExt::try_total_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error>
+impl radroots_trade::operational_listing::price_ext::BinPricingTryExt for radroots_event::listing::operational::OperationalListingBin
+pub fn radroots_event::listing::operational::OperationalListingBin::try_subtotal_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingSubtotal, radroots_core::quantity_price::Error>
+pub fn radroots_event::listing::operational::OperationalListingBin::try_total_for_count(&self, u32) -> core::result::Result<radroots_trade::operational_listing::model::RadrootsOperationalListingTotal, radroots_core::quantity_price::Error>
+pub mod radroots_trade::prelude::validation
+pub struct radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::availability: radroots_event::listing::operational::OperationalListingAvailability
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::bin_quantity: radroots_core::quantity::Quantity
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::delivery_method: radroots_event::listing::operational::OperationalListingDeliveryMethod
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::description: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::inventory_available: radroots_core::decimal::Decimal
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::listing: radroots_event::listing::operational::OperationalListing
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::listing_id: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::location: radroots_event::listing::operational::OperationalListingPublicLocation
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::primary_bin_id: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::product_type: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::seller_pubkey: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::title: alloc::string::String
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::unit: radroots_core::unit::Unit
+pub radroots_trade::prelude::validation::RadrootsOperationalListingTradeProjection::unit_price: radroots_core::money::Money
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection
+pub fn radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub fn radroots_trade::prelude::validation::validate_operational_listing_event(&radroots_event_codec::verification::v1::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub fn radroots_trade::prelude::validation::validate_operational_listing_model(radroots_event::listing::operational::OperationalListing, &radroots_identity::key::PublicKey) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+#[non_exhaustive] pub enum radroots_trade::prelude::ErrorKind
+pub radroots_trade::prelude::ErrorKind::InvalidMutation
+pub radroots_trade::prelude::ErrorKind::InvalidPrivateTerms
+pub radroots_trade::prelude::ErrorKind::MissingMutationId
+pub radroots_trade::prelude::ErrorKind::UnsupportedSchema
+pub enum radroots_trade::prelude::RadrootsOperationalListingEditError
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::DuplicateBinId
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::DuplicateBinId::bin_id: radroots_event::id::InventoryBinId
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::FarmPubkeyMismatch
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::FarmPubkeyMismatch::actual_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::FarmPubkeyMismatch::expected_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::InvalidClassifiedListingAddress(radroots_event::id::ParseError)
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::InvalidFarmPubkey(radroots_identity::error::Error)
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::InvalidModel(radroots_event::trade::validation::OperationalListingValidationError)
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::MissingPrimaryBin
+pub radroots_trade::prelude::RadrootsOperationalListingEditError::MissingPrimaryBin::primary_bin_id: radroots_event::id::InventoryBinId
+impl core::error::Error for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+impl core::fmt::Display for radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::prelude::RadrootsOperationalListingLifecycleState
+pub radroots_trade::prelude::RadrootsOperationalListingLifecycleState::Draft
+pub radroots_trade::prelude::RadrootsOperationalListingLifecycleState::Published
+pub enum radroots_trade::prelude::RadrootsOperationalListingMutation
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Archive
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Archive::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Publish
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Publish::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::SaveDraft
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::SaveDraft::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Update
+pub radroots_trade::prelude::RadrootsOperationalListingMutation::Update::draft: radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::archive(radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::canonical_draft(&self) -> core::result::Result<&radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::lifecycle_state(&self) -> core::result::Result<radroots_trade::operational_listing::mutation::RadrootsOperationalListingLifecycleState, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::listing_addr(&self) -> core::result::Result<&radroots_event::id::ClassifiedListingAddress, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::publish(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::save_draft(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation::update(radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit) -> Self
+pub enum radroots_trade::prelude::RadrootsOperationalListingMutationError
+pub radroots_trade::prelude::RadrootsOperationalListingMutationError::EncodeListing(alloc::string::String)
+pub radroots_trade::prelude::RadrootsOperationalListingMutationError::FrozenDraft(radroots_event::draft::DraftError)
+pub radroots_trade::prelude::RadrootsOperationalListingMutationError::UnsupportedMutation
+impl core::error::Error for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+impl core::fmt::Display for radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError
+pub fn radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::prelude::RadrootsTradeAgreementStateV1
+pub radroots_trade::prelude::RadrootsTradeAgreementStateV1::Agreed
+pub radroots_trade::prelude::RadrootsTradeAgreementStateV1::Cancelled
+pub radroots_trade::prelude::RadrootsTradeAgreementStateV1::Contested
+pub radroots_trade::prelude::RadrootsTradeAgreementStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementStateV1
+pub fn radroots_trade::model::RadrootsTradeAgreementStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeAttestationResultV1
+pub radroots_trade::prelude::RadrootsTradeAttestationResultV1::Invalid
+pub radroots_trade::prelude::RadrootsTradeAttestationResultV1::Valid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationResultV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationResultV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeAttestationStateV1
+pub radroots_trade::prelude::RadrootsTradeAttestationStateV1::Conflicting
+pub radroots_trade::prelude::RadrootsTradeAttestationStateV1::None
+pub radroots_trade::prelude::RadrootsTradeAttestationStateV1::PresentInvalid
+pub radroots_trade::prelude::RadrootsTradeAttestationStateV1::PresentValid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::model::RadrootsTradeAttestationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeCommitmentConfidence
+pub radroots_trade::prelude::RadrootsTradeCommitmentConfidence::AwaitingValidation
+pub radroots_trade::prelude::RadrootsTradeCommitmentConfidence::CommittedByCryptographicProof
+pub radroots_trade::prelude::RadrootsTradeCommitmentConfidence::CommittedByValidatorSet
+pub radroots_trade::prelude::RadrootsTradeCommitmentConfidence::CommittedByValidatorSetAndProof
+pub radroots_trade::prelude::RadrootsTradeCommitmentConfidence::Invalid
+impl radroots_trade::prelude::RadrootsTradeCommitmentConfidence
+pub const fn radroots_trade::prelude::RadrootsTradeCommitmentConfidence::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeCommitmentConfidence::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::prelude::RadrootsTradeConflictStateV1
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::CancellationConflict
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::ConcurrentCandidates
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::DecisionConflict
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::DoubleAcceptance
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::InvalidCausalChain
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::InventoryAuthorityConflict
+pub radroots_trade::prelude::RadrootsTradeConflictStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::model::RadrootsTradeConflictStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeEvidenceStateV1
+pub radroots_trade::prelude::RadrootsTradeEvidenceStateV1::Complete
+pub radroots_trade::prelude::RadrootsTradeEvidenceStateV1::Missing
+pub radroots_trade::prelude::RadrootsTradeEvidenceStateV1::QueryPartial
+pub radroots_trade::prelude::RadrootsTradeEvidenceStateV1::UnsupportedVersion
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::evidence::RadrootsTradeEvidenceStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeFulfillmentStateV1
+pub radroots_trade::prelude::RadrootsTradeFulfillmentStateV1::NotStarted
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::model::RadrootsTradeFulfillmentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeNegotiationStateV1
+pub radroots_trade::prelude::RadrootsTradeNegotiationStateV1::ClosedDeclined
+pub radroots_trade::prelude::RadrootsTradeNegotiationStateV1::ClosedExpired
+pub radroots_trade::prelude::RadrootsTradeNegotiationStateV1::None
+pub radroots_trade::prelude::RadrootsTradeNegotiationStateV1::Open
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub fn radroots_trade::model::RadrootsTradeNegotiationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradePaymentStateV1
+pub radroots_trade::prelude::RadrootsTradePaymentStateV1::NotTracked
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePaymentStateV1
+pub fn radroots_trade::model::RadrootsTradePaymentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradePrivateTermsStateV1
+pub radroots_trade::prelude::RadrootsTradePrivateTermsStateV1::AvailableVerified
+pub radroots_trade::prelude::RadrootsTradePrivateTermsStateV1::CommitmentMismatch
+pub radroots_trade::prelude::RadrootsTradePrivateTermsStateV1::Missing
+pub radroots_trade::prelude::RadrootsTradePrivateTermsStateV1::NotRequired
+pub radroots_trade::prelude::RadrootsTradePrivateTermsStateV1::Undecryptable
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::model::RadrootsTradePrivateTermsStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeReducerIssueV1
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::CancellationConflict
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::CandidateIdMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionConflict
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionParentMissing
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DoubleAcceptance
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::InvalidCausalChain
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::InvalidCausalChain::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::InvalidMutation
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId>
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::InvalidMutation::reason: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingMutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingParent
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingParent::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingParent::parent_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingProposal
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingProposal::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingRootProposal
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingSellerReservation
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::MultipleRootProposals
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable::reason: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationLineMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::TradeIdentityMismatch
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::UnsupportedSchema
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::UnsupportedSchema::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::prelude::RadrootsTradeReducerIssueV1::UnsupportedSchema::schema_version: u16
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::ReducerIssue
+pub fn radroots_trade::ReducerIssue::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::prelude::RadrootsTradeValidationAuthority
+pub radroots_trade::prelude::RadrootsTradeValidationAuthority::CryptographicProofVerified
+pub radroots_trade::prelude::RadrootsTradeValidationAuthority::ValidatorSetAndProofVerified
+pub radroots_trade::prelude::RadrootsTradeValidationAuthority::ValidatorSetDeterministic
+impl radroots_trade::prelude::RadrootsTradeValidationAuthority
+pub const fn radroots_trade::prelude::RadrootsTradeValidationAuthority::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeValidationAuthority::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::prelude::RadrootsTradeValidationTrustState
+pub radroots_trade::prelude::RadrootsTradeValidationTrustState::CryptographicCommitted
+pub radroots_trade::prelude::RadrootsTradeValidationTrustState::Invalid
+pub radroots_trade::prelude::RadrootsTradeValidationTrustState::Pending
+pub radroots_trade::prelude::RadrootsTradeValidationTrustState::Untrusted
+pub radroots_trade::prelude::RadrootsTradeValidationTrustState::ValidatorSetCommitted
+impl radroots_trade::prelude::RadrootsTradeValidationTrustState
+pub const fn radroots_trade::prelude::RadrootsTradeValidationTrustState::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustState::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::prelude::RadrootsValidationReceiptError
+pub radroots_trade::prelude::RadrootsValidationReceiptError::EmptyField(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::ExpectedBindingMismatch(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidField(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidJson
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidKind
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidKind::expected: u32
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidKind::got: u32
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidProofMetadata(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::InvalidTag(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::MissingTag(&'static str)
+pub radroots_trade::prelude::RadrootsValidationReceiptError::NonCanonicalJson
+pub radroots_trade::prelude::RadrootsValidationReceiptError::TagMismatch(&'static str)
+impl core::error::Error for radroots_trade::prelude::RadrootsValidationReceiptError
+impl core::fmt::Display for radroots_trade::prelude::RadrootsValidationReceiptError
+pub fn radroots_trade::prelude::RadrootsValidationReceiptError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub radroots_trade::prelude::RadrootsValidationReceiptProofSystem::None
+pub radroots_trade::prelude::RadrootsValidationReceiptProofSystem::Sp1Compressed
+pub radroots_trade::prelude::RadrootsValidationReceiptProofSystem::Sp1Core
+pub radroots_trade::prelude::RadrootsValidationReceiptProofSystem::Sp1Groth16
+pub radroots_trade::prelude::RadrootsValidationReceiptProofSystem::Sp1Plonk
+impl radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub const fn radroots_trade::prelude::RadrootsValidationReceiptProofSystem::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsValidationReceiptProofSystem::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::prelude::RadrootsValidationReceiptResult
+pub radroots_trade::prelude::RadrootsValidationReceiptResult::Invalid
+pub radroots_trade::prelude::RadrootsValidationReceiptResult::Valid
+pub enum radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::prelude::RadrootsValidationReceiptType::InventoryState
+pub radroots_trade::prelude::RadrootsValidationReceiptType::ListingValidation
+pub radroots_trade::prelude::RadrootsValidationReceiptType::StateCheckpoint
+pub radroots_trade::prelude::RadrootsValidationReceiptType::TradeTransition
+impl radroots_trade::prelude::RadrootsValidationReceiptType
+pub const fn radroots_trade::prelude::RadrootsValidationReceiptType::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsValidationReceiptType::from_label(&str) -> core::option::Option<Self>
+#[non_exhaustive] pub enum radroots_trade::prelude::WorkflowAction
+pub radroots_trade::prelude::WorkflowAction::Deliver
+pub radroots_trade::prelude::WorkflowAction::Persist
+pub radroots_trade::prelude::WorkflowAction::Sign
+pub radroots_trade::prelude::WorkflowAction::VerifyPrivateTerms
+pub struct radroots_trade::prelude::Error
+impl radroots_trade::prelude::Error
+pub const fn radroots_trade::prelude::Error::kind(&self) -> radroots_trade::prelude::ErrorKind
+pub const fn radroots_trade::prelude::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError>
+impl core::error::Error for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::prelude::PrivateTermsPlan
+impl radroots_trade::prelude::PrivateTermsPlan
+pub fn radroots_trade::prelude::PrivateTermsPlan::artifact_id(&self) -> &str
+pub const fn radroots_trade::prelude::PrivateTermsPlan::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub fn radroots_trade::prelude::PrivateTermsPlan::ciphertext_commitment(&self) -> &str
+pub fn radroots_trade::prelude::PrivateTermsPlan::schema_id(&self) -> &str
+pub struct radroots_trade::prelude::RadrootsClassifiedListingAddressParts
+pub radroots_trade::prelude::RadrootsClassifiedListingAddressParts::address: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsClassifiedListingAddressParts::kind: u32
+pub radroots_trade::prelude::RadrootsClassifiedListingAddressParts::listing_id: radroots_event::id::DTag
+pub radroots_trade::prelude::RadrootsClassifiedListingAddressParts::seller_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts
+pub fn radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError>
+pub struct radroots_trade::prelude::RadrootsOperationalListingCanonicalEdit
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::listing(&self) -> &radroots_event::listing::operational::OperationalListing
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::new(radroots_event::listing::operational::OperationalListing, radroots_identity::key::PublicKey) -> core::result::Result<Self, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::public_listing_addr(&self) -> &radroots_event::id::ClassifiedListingAddress
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit::seller_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub struct radroots_trade::prelude::RadrootsOperationalListingEditDocumentV1
+pub radroots_trade::prelude::RadrootsOperationalListingEditDocumentV1::listing: radroots_event::listing::operational::OperationalListing
+impl radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1
+pub fn radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1::new(radroots_event::listing::operational::OperationalListing) -> Self
+pub struct radroots_trade::prelude::RadrootsOperationalListingTradeProjection
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::availability: radroots_event::listing::operational::OperationalListingAvailability
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::bin_quantity: radroots_core::quantity::Quantity
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::delivery_method: radroots_event::listing::operational::OperationalListingDeliveryMethod
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::description: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::inventory_available: radroots_core::decimal::Decimal
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::listing: radroots_event::listing::operational::OperationalListing
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::listing_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::location: radroots_event::listing::operational::OperationalListingPublicLocation
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::primary_bin_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::product_type: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::seller_pubkey: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::title: alloc::string::String
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::unit: radroots_core::unit::Unit
+pub radroots_trade::prelude::RadrootsOperationalListingTradeProjection::unit_price: radroots_core::money::Money
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection
+pub fn radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsPublicClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsPublicClassifiedListingAddress::address: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsPublicClassifiedListingAddress::kind: u32
+pub radroots_trade::prelude::RadrootsPublicClassifiedListingAddress::listing_id: radroots_event::id::DTag
+pub radroots_trade::prelude::RadrootsPublicClassifiedListingAddress::seller_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress
+pub fn radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress::parse(impl core::convert::AsRef<str>) -> core::result::Result<Self, radroots_event::id::ParseError>
+pub struct radroots_trade::prelude::RadrootsTradeAgreementClaimV1
+impl radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::accepted_by_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_author_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::proposal_mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::reservation_commitment(&self) -> &str
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeAttestationRecordV1
+impl radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::event_id(&self) -> &radroots_event::id::EventId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::new(radroots_event::id::EventId, radroots_event::id::MutationId, radroots_trade::evidence::RadrootsTradeAttestationResultV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::result(&self) -> radroots_trade::evidence::RadrootsTradeAttestationResultV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeLocator
+pub radroots_trade::prelude::RadrootsTradeLocator::buyer_pubkey: core::option::Option<radroots_identity::key::PublicKey>
+pub radroots_trade::prelude::RadrootsTradeLocator::listing_addr: core::option::Option<radroots_event::id::ClassifiedListingAddress>
+pub radroots_trade::prelude::RadrootsTradeLocator::order_id: core::option::Option<radroots_trade::model::OrderId>
+pub radroots_trade::prelude::RadrootsTradeLocator::root_event_id: core::option::Option<radroots_event::id::EventId>
+pub radroots_trade::prelude::RadrootsTradeLocator::seller_pubkey: core::option::Option<radroots_identity::key::PublicKey>
+pub radroots_trade::prelude::RadrootsTradeLocator::trade_id: radroots_event::id::TradeId
+impl radroots_trade::identity::RadrootsTradeLocator
+pub fn radroots_trade::identity::RadrootsTradeLocator::new(radroots_event::id::TradeId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_buyer_pubkey(self, radroots_identity::key::PublicKey) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_listing_addr(self, radroots_event::id::ClassifiedListingAddress) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_order_id(self, radroots_trade::model::OrderId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_root_event_id(self, radroots_event::id::EventId) -> Self
+pub fn radroots_trade::identity::RadrootsTradeLocator::with_seller_pubkey(self, radroots_identity::key::PublicKey) -> Self
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::identity::RadrootsTradeLocator
+pub fn radroots_trade::identity::RadrootsTradeLocator::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeLocatorCandidate
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::buyer_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::listing_addr: radroots_event::id::ClassifiedListingAddress
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::order_id: radroots_trade::model::OrderId
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::root_event_id: radroots_event::id::EventId
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::seller_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::RadrootsTradeLocatorCandidate::trade_id: radroots_event::id::TradeId
+impl radroots_trade::identity::RadrootsTradeLocatorCandidate
+pub fn radroots_trade::identity::RadrootsTradeLocatorCandidate::locator(&self) -> radroots_trade::identity::RadrootsTradeLocator
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::identity::RadrootsTradeLocatorCandidate
+pub fn radroots_trade::identity::RadrootsTradeLocatorCandidate::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeMutationRecordV1
+impl radroots_trade::evidence::RadrootsTradeMutationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::new(core::option::Option<radroots_event::id::EventId>, radroots_event::trade::TradeMutationEnvelopeV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::transport_event_id(&self) -> core::option::Option<&radroots_event::id::EventId>
+pub struct radroots_trade::prelude::RadrootsTradePrivateTermsEvidenceV1
+impl radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::new(radroots_event::id::CandidateId, radroots_trade::model::RadrootsTradePrivateTermsStateV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeProjectionV1
+impl radroots_trade::Projection
+pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1]
+pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1
+pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId]
+pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag>
+pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue]
+pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1
+pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::Projection::projection_digest(&self) -> &str
+pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str
+pub const fn radroots_trade::Projection::reducer_version(&self) -> u16
+pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId>
+pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId]
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::Projection
+pub fn radroots_trade::Projection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::prelude::RadrootsTradeReductionInputV1
+impl radroots_trade::ReductionInput
+pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1]
+pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self
+pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64>
+pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1]
+pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self
+pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self
+pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self
+pub struct radroots_trade::prelude::RadrootsTradeValidationReceipt
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::changed_records_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::domain: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::error_bitmap: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::event_set_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::new_state_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::previous_state_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::proof: radroots_trade::prelude::RadrootsValidationReceiptProof
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::public_values_hash: alloc::string::String
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::receipt_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::result: radroots_trade::prelude::RadrootsValidationReceiptResult
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::statement: radroots_trade::prelude::RadrootsValidationReceiptStatement
+pub radroots_trade::prelude::RadrootsTradeValidationReceipt::version: u32
+impl radroots_trade::prelude::RadrootsTradeValidationReceipt
+pub fn radroots_trade::prelude::RadrootsTradeValidationReceipt::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::prelude::RadrootsTradeValidationTrustPolicy
+pub radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::require_cryptographic_proof: bool
+pub radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::validator_set: core::option::Option<radroots_trade::prelude::RadrootsValidatorSetV1>
+pub radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::validator_set_addr: core::option::Option<radroots_event::id::AddressableCoordinate>
+pub radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::validator_set_event_id: core::option::Option<alloc::string::String>
+impl radroots_trade::prelude::RadrootsTradeValidationTrustPolicy
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::explicit_dev_test() -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::has_validator_set(&self) -> bool
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::production() -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::trusts_validator_pubkey(&self, &radroots_identity::key::PublicKey) -> bool
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::validator_count(&self) -> usize
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::with_require_cryptographic_proof(self, bool) -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::with_validator_set(self, radroots_trade::prelude::RadrootsValidatorSetV1, radroots_event::id::AddressableCoordinate, impl core::convert::Into<alloc::string::String>) -> Self
+impl core::default::Default for radroots_trade::prelude::RadrootsTradeValidationTrustPolicy
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::default() -> Self
+pub struct radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding<'a>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::event_set_root: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::listing_event_id: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::order_id: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::program_hash: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::proof_system: core::option::Option<radroots_trade::prelude::RadrootsValidationReceiptProofSystem>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::public_values_hash: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::reducer_output_root: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::root_event_id: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::target_event_id: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::validator_set_addr: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::validator_set_event_id: core::option::Option<&'a str>
+pub radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding::verifying_key_hash: core::option::Option<&'a str>
+pub struct radroots_trade::prelude::RadrootsValidationReceiptProof
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::inline_proof_base64: core::option::Option<alloc::string::String>
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::mode: core::option::Option<alloc::string::String>
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::program_hash: core::option::Option<alloc::string::String>
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::proof_reference: core::option::Option<alloc::string::String>
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::system: radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub radroots_trade::prelude::RadrootsValidationReceiptProof::verifying_key_hash: core::option::Option<alloc::string::String>
+impl radroots_trade::prelude::RadrootsValidationReceiptProof
+pub fn radroots_trade::prelude::RadrootsValidationReceiptProof::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::prelude::RadrootsValidationReceiptStatement
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::listing_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::root_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::statement_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::target_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::validator_set_addr: radroots_event::id::AddressableCoordinate
+pub radroots_trade::prelude::RadrootsValidationReceiptStatement::validator_set_event_id: alloc::string::String
+pub struct radroots_trade::prelude::RadrootsValidationReceiptTags
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::event_set_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::listing_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::order_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::proof_system: radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::public_values_hash: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::receipt_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::reducer_output_root: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::root_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::target_event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::validator_set_addr: radroots_event::id::AddressableCoordinate
+pub radroots_trade::prelude::RadrootsValidationReceiptTags::validator_set_event_id: alloc::string::String
+pub struct radroots_trade::prelude::RadrootsValidatorSetV1
+pub radroots_trade::prelude::RadrootsValidatorSetV1::operator_contact: core::option::Option<alloc::string::String>
+pub radroots_trade::prelude::RadrootsValidatorSetV1::operator_name: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidatorSetV1::protocol_contract_hash: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidatorSetV1::set_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsValidatorSetV1::threshold: u8
+pub radroots_trade::prelude::RadrootsValidatorSetV1::valid_from: u64
+pub radroots_trade::prelude::RadrootsValidatorSetV1::valid_until: u64
+pub radroots_trade::prelude::RadrootsValidatorSetV1::validator_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::prelude::RadrootsValidatorSetV1
+pub fn radroots_trade::prelude::RadrootsValidatorSetV1::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::prelude::RadrootsVerifiedValidationReceipt
+pub radroots_trade::prelude::RadrootsVerifiedValidationReceipt::receipt: radroots_trade::prelude::RadrootsTradeValidationReceipt
+pub radroots_trade::prelude::RadrootsVerifiedValidationReceipt::tags: radroots_trade::prelude::RadrootsValidationReceiptTags
+pub struct radroots_trade::prelude::RadrootsVerifiedValidatorSetV1
+pub radroots_trade::prelude::RadrootsVerifiedValidatorSetV1::address: radroots_event::id::AddressableCoordinate
+pub radroots_trade::prelude::RadrootsVerifiedValidatorSetV1::authority_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::prelude::RadrootsVerifiedValidatorSetV1::event_id: alloc::string::String
+pub radroots_trade::prelude::RadrootsVerifiedValidatorSetV1::set: radroots_trade::prelude::RadrootsValidatorSetV1
+pub struct radroots_trade::prelude::WorkflowPlan
+impl radroots_trade::prelude::WorkflowPlan
+pub fn radroots_trade::prelude::WorkflowPlan::into_mutation(self) -> radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::kind(&self) -> radroots_event::trade::TradeMutationKindV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::prelude::WorkflowPlan::prepare(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<Self, radroots_trade::prelude::Error>
+pub const fn radroots_trade::prelude::WorkflowPlan::private_terms(&self) -> core::option::Option<&radroots_trade::prelude::PrivateTermsPlan>
+pub fn radroots_trade::prelude::WorkflowPlan::required_actions(&self) -> &[radroots_trade::prelude::WorkflowAction]
+pub const fn radroots_trade::prelude::WorkflowPlan::trade_id(&self) -> &radroots_event::id::TradeId
+pub const radroots_trade::prelude::RADROOTS_TRADE_REDUCER_CONTRACT_ID: &str
+pub const radroots_trade::prelude::RADROOTS_TRADE_REDUCER_VERSION: u16
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_EVENT_SET_ROOT: &str
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_PROOF_SYSTEM: &str
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_PUBLIC_VALUES_HASH: &str
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_RECEIPT_TYPE: &str
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_REDUCER_OUTPUT_ROOT: &str
+pub const radroots_trade::prelude::TAG_VALIDATION_RECEIPT_VALIDATOR_SET_MARKER: &str
+pub const radroots_trade::prelude::VALIDATION_RECEIPT_DOMAIN: &str
+pub const radroots_trade::prelude::VALIDATION_RECEIPT_PROOF_REFERENCE_SCHEME: &str
+pub const radroots_trade::prelude::VALIDATION_RECEIPT_PROOF_REFERENCE_SHA256_PREFIX: &str
+pub const radroots_trade::prelude::VALIDATION_RECEIPT_PUBLIC_VALUES_HASH_DOMAIN: &[u8]
+pub const radroots_trade::prelude::VALIDATION_RECEIPT_VERSION: u32
+pub const radroots_trade::prelude::VALIDATOR_SET_V1_OPERATOR_CONTACT_MAX_CHARS: usize
+pub const radroots_trade::prelude::VALIDATOR_SET_V1_OPERATOR_NAME_MAX_CHARS: usize
+pub const radroots_trade::prelude::VALIDATOR_SET_V1_THRESHOLD: u8
+pub fn radroots_trade::prelude::build_operational_listing_mutation_draft(&radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutation, u64) -> core::result::Result<radroots_event::draft::EventDraft, radroots_trade::operational_listing::mutation::RadrootsOperationalListingMutationError>
+pub fn radroots_trade::prelude::canonicalize_operational_listing_edit(radroots_identity::key::PublicKey, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditDocumentV1) -> core::result::Result<radroots_trade::operational_listing::draft::RadrootsOperationalListingCanonicalEdit, radroots_trade::operational_listing::draft::RadrootsOperationalListingEditError>
+pub fn radroots_trade::prelude::parse_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_trade::operational_listing::RadrootsClassifiedListingAddressParts, radroots_event::id::ParseError>
+pub fn radroots_trade::prelude::parse_operational_listing_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_event::listing::operational::OperationalListing, radroots_event::listing::operational::OperationalListingParseError>
+pub fn radroots_trade::prelude::parse_public_classified_listing_address(impl core::convert::AsRef<str>) -> core::result::Result<radroots_trade::operational_listing::RadrootsPublicClassifiedListingAddress, radroots_event::id::ParseError>
+pub fn radroots_trade::prelude::reduce_trade_records(radroots_trade::ReductionInput) -> radroots_trade::Projection
+pub fn radroots_trade::prelude::validate_operational_listing_event(&radroots_event_codec::verification::v1::RadrootsSignatureVerifiedEvent) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub fn radroots_trade::prelude::validate_operational_listing_model(radroots_event::listing::operational::OperationalListing, &radroots_identity::key::PublicKey) -> core::result::Result<radroots_trade::operational_listing::validation::RadrootsOperationalListingTradeProjection, radroots_event::trade::validation::OperationalListingValidationError>
+pub fn radroots_trade::prelude::validation_receipt_canonical_content(&radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<alloc::string::String, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validation_receipt_content_from_str(&str) -> core::result::Result<radroots_trade::prelude::RadrootsTradeValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validation_receipt_event_build(&str, &radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validation_receipt_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validation_receipt_public_values_hash_hex(&[u8]) -> alloc::string::String
+pub fn radroots_trade::prelude::validation_receipt_tags(&str, &radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validation_receipt_tags_from_tags(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_trade::prelude::RadrootsValidationReceiptTags, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_address(&radroots_identity::key::PublicKey, &str) -> core::result::Result<radroots_event::id::AddressableCoordinate, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_address_from_str(impl core::convert::AsRef<str>) -> core::result::Result<radroots_event::id::AddressableCoordinate, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_canonical_content(&radroots_trade::prelude::RadrootsValidatorSetV1) -> core::result::Result<alloc::string::String, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_content_from_str(&str) -> core::result::Result<radroots_trade::prelude::RadrootsValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_event_build(&radroots_trade::prelude::RadrootsValidatorSetV1) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::validator_set_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::verify_validation_receipt_event(&radroots_event::envelope::EventEnvelope, radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding<'_>) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::prelude::verify_validator_set_event(&radroots_event::envelope::EventEnvelope, core::option::Option<&radroots_identity::key::PublicKey>) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub mod radroots_trade::reducer
+pub enum radroots_trade::reducer::RadrootsTradeReducerIssueV1
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CancellationConflict
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionConflict
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DoubleAcceptance
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidCausalChain
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidCausalChain::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId>
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::InvalidMutation::reason: alloc::string::String
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingMutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingParent::parent_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingRootProposal
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingSellerReservation
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::MultipleRootProposals
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable::reason: alloc::string::String
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationLineMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::TradeIdentityMismatch
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::reducer::RadrootsTradeReducerIssueV1::UnsupportedSchema::schema_version: u16
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::ReducerIssue
+pub fn radroots_trade::ReducerIssue::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::reducer::RadrootsTradeReductionInputV1
+impl radroots_trade::ReductionInput
+pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1]
+pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self
+pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64>
+pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1]
+pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self
+pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self
+pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self
+pub const radroots_trade::reducer::RADROOTS_TRADE_REDUCER_CONTRACT_ID: &str
+pub const radroots_trade::reducer::RADROOTS_TRADE_REDUCER_VERSION: u16
+pub fn radroots_trade::reducer::reduce_trade_records(radroots_trade::ReductionInput) -> radroots_trade::Projection
+pub mod radroots_trade::validation
+pub mod radroots_trade::validation_receipt
+pub enum radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence
+pub radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence::AwaitingValidation
+pub radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence::CommittedByCryptographicProof
+pub radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence::CommittedByValidatorSet
+pub radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence::CommittedByValidatorSetAndProof
+pub radroots_trade::validation_receipt::RadrootsTradeCommitmentConfidence::Invalid
+impl radroots_trade::prelude::RadrootsTradeCommitmentConfidence
+pub const fn radroots_trade::prelude::RadrootsTradeCommitmentConfidence::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeCommitmentConfidence::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::validation_receipt::RadrootsTradeValidationAuthority
+pub radroots_trade::validation_receipt::RadrootsTradeValidationAuthority::CryptographicProofVerified
+pub radroots_trade::validation_receipt::RadrootsTradeValidationAuthority::ValidatorSetAndProofVerified
+pub radroots_trade::validation_receipt::RadrootsTradeValidationAuthority::ValidatorSetDeterministic
+impl radroots_trade::prelude::RadrootsTradeValidationAuthority
+pub const fn radroots_trade::prelude::RadrootsTradeValidationAuthority::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeValidationAuthority::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::validation_receipt::RadrootsTradeValidationTrustState
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustState::CryptographicCommitted
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustState::Invalid
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustState::Pending
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustState::Untrusted
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustState::ValidatorSetCommitted
+impl radroots_trade::prelude::RadrootsTradeValidationTrustState
+pub const fn radroots_trade::prelude::RadrootsTradeValidationTrustState::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustState::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::validation_receipt::RadrootsValidationReceiptError
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::EmptyField(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::ExpectedBindingMismatch(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidField(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidJson
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidKind
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidKind::expected: u32
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidKind::got: u32
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidProofMetadata(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::InvalidTag(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::MissingTag(&'static str)
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::NonCanonicalJson
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptError::TagMismatch(&'static str)
+impl core::error::Error for radroots_trade::prelude::RadrootsValidationReceiptError
+impl core::fmt::Display for radroots_trade::prelude::RadrootsValidationReceiptError
+pub fn radroots_trade::prelude::RadrootsValidationReceiptError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub enum radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem::None
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem::Sp1Compressed
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem::Sp1Core
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem::Sp1Groth16
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProofSystem::Sp1Plonk
+impl radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub const fn radroots_trade::prelude::RadrootsValidationReceiptProofSystem::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsValidationReceiptProofSystem::from_label(&str) -> core::option::Option<Self>
+pub enum radroots_trade::validation_receipt::RadrootsValidationReceiptResult
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptResult::Invalid
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptResult::Valid
+pub enum radroots_trade::validation_receipt::RadrootsValidationReceiptType
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptType::InventoryState
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptType::ListingValidation
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptType::StateCheckpoint
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptType::TradeTransition
+impl radroots_trade::prelude::RadrootsValidationReceiptType
+pub const fn radroots_trade::prelude::RadrootsValidationReceiptType::as_str(self) -> &'static str
+pub fn radroots_trade::prelude::RadrootsValidationReceiptType::from_label(&str) -> core::option::Option<Self>
+pub struct radroots_trade::validation_receipt::RadrootsTradeValidationReceipt
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::changed_records_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::domain: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::error_bitmap: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::event_set_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::new_state_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::previous_state_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::proof: radroots_trade::prelude::RadrootsValidationReceiptProof
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::public_values_hash: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::receipt_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::result: radroots_trade::prelude::RadrootsValidationReceiptResult
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::statement: radroots_trade::prelude::RadrootsValidationReceiptStatement
+pub radroots_trade::validation_receipt::RadrootsTradeValidationReceipt::version: u32
+impl radroots_trade::prelude::RadrootsTradeValidationReceipt
+pub fn radroots_trade::prelude::RadrootsTradeValidationReceipt::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::validation_receipt::RadrootsTradeValidationTrustPolicy
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustPolicy::require_cryptographic_proof: bool
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustPolicy::validator_set: core::option::Option<radroots_trade::prelude::RadrootsValidatorSetV1>
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustPolicy::validator_set_addr: core::option::Option<radroots_event::id::AddressableCoordinate>
+pub radroots_trade::validation_receipt::RadrootsTradeValidationTrustPolicy::validator_set_event_id: core::option::Option<alloc::string::String>
+impl radroots_trade::prelude::RadrootsTradeValidationTrustPolicy
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::explicit_dev_test() -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::has_validator_set(&self) -> bool
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::production() -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::trusts_validator_pubkey(&self, &radroots_identity::key::PublicKey) -> bool
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::validator_count(&self) -> usize
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::with_require_cryptographic_proof(self, bool) -> Self
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::with_validator_set(self, radroots_trade::prelude::RadrootsValidatorSetV1, radroots_event::id::AddressableCoordinate, impl core::convert::Into<alloc::string::String>) -> Self
+impl core::default::Default for radroots_trade::prelude::RadrootsTradeValidationTrustPolicy
+pub fn radroots_trade::prelude::RadrootsTradeValidationTrustPolicy::default() -> Self
+pub struct radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding<'a>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::event_set_root: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::listing_event_id: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::order_id: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::program_hash: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::proof_system: core::option::Option<radroots_trade::prelude::RadrootsValidationReceiptProofSystem>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::public_values_hash: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::reducer_output_root: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::root_event_id: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::target_event_id: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::validator_set_addr: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::validator_set_event_id: core::option::Option<&'a str>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptExpectedBinding::verifying_key_hash: core::option::Option<&'a str>
+pub struct radroots_trade::validation_receipt::RadrootsValidationReceiptProof
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::inline_proof_base64: core::option::Option<alloc::string::String>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::mode: core::option::Option<alloc::string::String>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::program_hash: core::option::Option<alloc::string::String>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::proof_reference: core::option::Option<alloc::string::String>
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::system: radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptProof::verifying_key_hash: core::option::Option<alloc::string::String>
+impl radroots_trade::prelude::RadrootsValidationReceiptProof
+pub fn radroots_trade::prelude::RadrootsValidationReceiptProof::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::validation_receipt::RadrootsValidationReceiptStatement
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::listing_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::root_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::statement_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::target_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::validator_set_addr: radroots_event::id::AddressableCoordinate
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptStatement::validator_set_event_id: alloc::string::String
+pub struct radroots_trade::validation_receipt::RadrootsValidationReceiptTags
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::event_set_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::listing_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::order_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::proof_system: radroots_trade::prelude::RadrootsValidationReceiptProofSystem
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::public_values_hash: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::receipt_type: radroots_trade::prelude::RadrootsValidationReceiptType
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::reducer_output_root: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::root_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::target_event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::validator_set_addr: radroots_event::id::AddressableCoordinate
+pub radroots_trade::validation_receipt::RadrootsValidationReceiptTags::validator_set_event_id: alloc::string::String
+pub struct radroots_trade::validation_receipt::RadrootsValidatorSetV1
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::operator_contact: core::option::Option<alloc::string::String>
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::operator_name: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::protocol_contract_hash: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::set_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::threshold: u8
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::valid_from: u64
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::valid_until: u64
+pub radroots_trade::validation_receipt::RadrootsValidatorSetV1::validator_pubkey: radroots_identity::key::PublicKey
+impl radroots_trade::prelude::RadrootsValidatorSetV1
+pub fn radroots_trade::prelude::RadrootsValidatorSetV1::validate(&self) -> core::result::Result<(), radroots_trade::prelude::RadrootsValidationReceiptError>
+pub struct radroots_trade::validation_receipt::RadrootsVerifiedValidationReceipt
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidationReceipt::receipt: radroots_trade::prelude::RadrootsTradeValidationReceipt
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidationReceipt::tags: radroots_trade::prelude::RadrootsValidationReceiptTags
+pub struct radroots_trade::validation_receipt::RadrootsVerifiedValidatorSetV1
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidatorSetV1::address: radroots_event::id::AddressableCoordinate
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidatorSetV1::authority_pubkey: radroots_identity::key::PublicKey
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidatorSetV1::event_id: alloc::string::String
+pub radroots_trade::validation_receipt::RadrootsVerifiedValidatorSetV1::set: radroots_trade::prelude::RadrootsValidatorSetV1
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_EVENT_SET_ROOT: &str
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_PROOF_SYSTEM: &str
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_PUBLIC_VALUES_HASH: &str
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_RECEIPT_TYPE: &str
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_REDUCER_OUTPUT_ROOT: &str
+pub const radroots_trade::validation_receipt::TAG_VALIDATION_RECEIPT_VALIDATOR_SET_MARKER: &str
+pub const radroots_trade::validation_receipt::VALIDATION_RECEIPT_DOMAIN: &str
+pub const radroots_trade::validation_receipt::VALIDATION_RECEIPT_PROOF_REFERENCE_SCHEME: &str
+pub const radroots_trade::validation_receipt::VALIDATION_RECEIPT_PROOF_REFERENCE_SHA256_PREFIX: &str
+pub const radroots_trade::validation_receipt::VALIDATION_RECEIPT_PUBLIC_VALUES_HASH_DOMAIN: &[u8]
+pub const radroots_trade::validation_receipt::VALIDATION_RECEIPT_VERSION: u32
+pub const radroots_trade::validation_receipt::VALIDATOR_SET_V1_OPERATOR_CONTACT_MAX_CHARS: usize
+pub const radroots_trade::validation_receipt::VALIDATOR_SET_V1_OPERATOR_NAME_MAX_CHARS: usize
+pub const radroots_trade::validation_receipt::VALIDATOR_SET_V1_THRESHOLD: u8
+pub fn radroots_trade::validation_receipt::validation_receipt_canonical_content(&radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<alloc::string::String, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validation_receipt_content_from_str(&str) -> core::result::Result<radroots_trade::prelude::RadrootsTradeValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validation_receipt_event_build(&str, &radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validation_receipt_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validation_receipt_public_values_hash_hex(&[u8]) -> alloc::string::String
+pub fn radroots_trade::validation_receipt::validation_receipt_tags(&str, &radroots_trade::prelude::RadrootsTradeValidationReceipt) -> core::result::Result<alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validation_receipt_tags_from_tags(&[alloc::vec::Vec<alloc::string::String>]) -> core::result::Result<radroots_trade::prelude::RadrootsValidationReceiptTags, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_address(&radroots_identity::key::PublicKey, &str) -> core::result::Result<radroots_event::id::AddressableCoordinate, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_address_from_str(impl core::convert::AsRef<str>) -> core::result::Result<radroots_event::id::AddressableCoordinate, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_canonical_content(&radroots_trade::prelude::RadrootsValidatorSetV1) -> core::result::Result<alloc::string::String, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_content_from_str(&str) -> core::result::Result<radroots_trade::prelude::RadrootsValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_event_build(&radroots_trade::prelude::RadrootsValidatorSetV1) -> core::result::Result<radroots_event::wire::v1::Nip01EventWireParts, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::validator_set_from_event(&radroots_event::envelope::EventEnvelope) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::verify_validation_receipt_event(&radroots_event::envelope::EventEnvelope, radroots_trade::prelude::RadrootsValidationReceiptExpectedBinding<'_>) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidationReceipt, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub fn radroots_trade::validation_receipt::verify_validator_set_event(&radroots_event::envelope::EventEnvelope, core::option::Option<&radroots_identity::key::PublicKey>) -> core::result::Result<radroots_trade::prelude::RadrootsVerifiedValidatorSetV1, radroots_trade::prelude::RadrootsValidationReceiptError>
+pub mod radroots_trade::workflow
+#[non_exhaustive] pub enum radroots_trade::workflow::ErrorKind
+pub radroots_trade::workflow::ErrorKind::InvalidMutation
+pub radroots_trade::workflow::ErrorKind::InvalidPrivateTerms
+pub radroots_trade::workflow::ErrorKind::MissingMutationId
+pub radroots_trade::workflow::ErrorKind::UnsupportedSchema
+pub enum radroots_trade::workflow::RadrootsTradeAgreementStateV1
+pub radroots_trade::workflow::RadrootsTradeAgreementStateV1::Agreed
+pub radroots_trade::workflow::RadrootsTradeAgreementStateV1::Cancelled
+pub radroots_trade::workflow::RadrootsTradeAgreementStateV1::Contested
+pub radroots_trade::workflow::RadrootsTradeAgreementStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementStateV1
+pub fn radroots_trade::model::RadrootsTradeAgreementStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeAttestationResultV1
+pub radroots_trade::workflow::RadrootsTradeAttestationResultV1::Invalid
+pub radroots_trade::workflow::RadrootsTradeAttestationResultV1::Valid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationResultV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationResultV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeAttestationStateV1
+pub radroots_trade::workflow::RadrootsTradeAttestationStateV1::Conflicting
+pub radroots_trade::workflow::RadrootsTradeAttestationStateV1::None
+pub radroots_trade::workflow::RadrootsTradeAttestationStateV1::PresentInvalid
+pub radroots_trade::workflow::RadrootsTradeAttestationStateV1::PresentValid
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::model::RadrootsTradeAttestationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeConflictStateV1
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::CancellationConflict
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::ConcurrentCandidates
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::DecisionConflict
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::DoubleAcceptance
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::InvalidCausalChain
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::InventoryAuthorityConflict
+pub radroots_trade::workflow::RadrootsTradeConflictStateV1::None
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::model::RadrootsTradeConflictStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeEvidenceStateV1
+pub radroots_trade::workflow::RadrootsTradeEvidenceStateV1::Complete
+pub radroots_trade::workflow::RadrootsTradeEvidenceStateV1::Missing
+pub radroots_trade::workflow::RadrootsTradeEvidenceStateV1::QueryPartial
+pub radroots_trade::workflow::RadrootsTradeEvidenceStateV1::UnsupportedVersion
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::evidence::RadrootsTradeEvidenceStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeFulfillmentStateV1
+pub radroots_trade::workflow::RadrootsTradeFulfillmentStateV1::NotStarted
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::model::RadrootsTradeFulfillmentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeNegotiationStateV1
+pub radroots_trade::workflow::RadrootsTradeNegotiationStateV1::ClosedDeclined
+pub radroots_trade::workflow::RadrootsTradeNegotiationStateV1::ClosedExpired
+pub radroots_trade::workflow::RadrootsTradeNegotiationStateV1::None
+pub radroots_trade::workflow::RadrootsTradeNegotiationStateV1::Open
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub fn radroots_trade::model::RadrootsTradeNegotiationStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradePaymentStateV1
+pub radroots_trade::workflow::RadrootsTradePaymentStateV1::NotTracked
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePaymentStateV1
+pub fn radroots_trade::model::RadrootsTradePaymentStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradePrivateTermsStateV1
+pub radroots_trade::workflow::RadrootsTradePrivateTermsStateV1::AvailableVerified
+pub radroots_trade::workflow::RadrootsTradePrivateTermsStateV1::CommitmentMismatch
+pub radroots_trade::workflow::RadrootsTradePrivateTermsStateV1::Missing
+pub radroots_trade::workflow::RadrootsTradePrivateTermsStateV1::NotRequired
+pub radroots_trade::workflow::RadrootsTradePrivateTermsStateV1::Undecryptable
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::model::RadrootsTradePrivateTermsStateV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub enum radroots_trade::workflow::RadrootsTradeReducerIssueV1
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::CancellationConflict
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::CandidateIdMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionConflict
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionParentMissing
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DoubleAcceptance
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::InvalidCausalChain
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::InvalidCausalChain::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::InvalidMutation
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId>
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::InvalidMutation::reason: alloc::string::String
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingMutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingParent
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingParent::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingParent::parent_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingProposal
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingProposal::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingRootProposal
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingSellerReservation
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::MultipleRootProposals
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ProjectionDigestUnavailable::reason: alloc::string::String
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationLineMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::TradeIdentityMismatch
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::UnsupportedSchema
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::UnsupportedSchema::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::workflow::RadrootsTradeReducerIssueV1::UnsupportedSchema::schema_version: u16
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::ReducerIssue
+pub fn radroots_trade::ReducerIssue::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+#[non_exhaustive] pub enum radroots_trade::workflow::WorkflowAction
+pub radroots_trade::workflow::WorkflowAction::Deliver
+pub radroots_trade::workflow::WorkflowAction::Persist
+pub radroots_trade::workflow::WorkflowAction::Sign
+pub radroots_trade::workflow::WorkflowAction::VerifyPrivateTerms
+pub struct radroots_trade::workflow::Error
+impl radroots_trade::prelude::Error
+pub const fn radroots_trade::prelude::Error::kind(&self) -> radroots_trade::prelude::ErrorKind
+pub const fn radroots_trade::prelude::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError>
+impl core::error::Error for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::workflow::PrivateTermsPlan
+impl radroots_trade::prelude::PrivateTermsPlan
+pub fn radroots_trade::prelude::PrivateTermsPlan::artifact_id(&self) -> &str
+pub const fn radroots_trade::prelude::PrivateTermsPlan::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub fn radroots_trade::prelude::PrivateTermsPlan::ciphertext_commitment(&self) -> &str
+pub fn radroots_trade::prelude::PrivateTermsPlan::schema_id(&self) -> &str
+pub struct radroots_trade::workflow::RadrootsTradeAgreementClaimV1
+impl radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::accepted_by_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_author_pubkey(&self) -> &radroots_identity::key::PublicKey
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::model::RadrootsTradeAgreementClaimV1::proposal_mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::reservation_commitment(&self) -> &str
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::model::RadrootsTradeAgreementClaimV1
+pub fn radroots_trade::model::RadrootsTradeAgreementClaimV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::workflow::RadrootsTradeAttestationRecordV1
+impl radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::claim_mutation_id(&self) -> &radroots_event::id::MutationId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::event_id(&self) -> &radroots_event::id::EventId
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::new(radroots_event::id::EventId, radroots_event::id::MutationId, radroots_trade::evidence::RadrootsTradeAttestationResultV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::result(&self) -> radroots_trade::evidence::RadrootsTradeAttestationResultV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradeAttestationRecordV1
+pub fn radroots_trade::evidence::RadrootsTradeAttestationRecordV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::workflow::RadrootsTradeMutationRecordV1
+impl radroots_trade::evidence::RadrootsTradeMutationRecordV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::new(core::option::Option<radroots_event::id::EventId>, radroots_event::trade::TradeMutationEnvelopeV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradeMutationRecordV1::transport_event_id(&self) -> core::option::Option<&radroots_event::id::EventId>
+pub struct radroots_trade::workflow::RadrootsTradePrivateTermsEvidenceV1
+impl radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::candidate_id(&self) -> &radroots_event::id::CandidateId
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::new(radroots_event::id::CandidateId, radroots_trade::model::RadrootsTradePrivateTermsStateV1) -> Self
+pub const fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1
+pub fn radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::workflow::RadrootsTradeProjectionV1
+impl radroots_trade::Projection
+pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1]
+pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1
+pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId]
+pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag>
+pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue]
+pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1
+pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::Projection::projection_digest(&self) -> &str
+pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str
+pub const fn radroots_trade::Projection::reducer_version(&self) -> u16
+pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId>
+pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId]
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::Projection
+pub fn radroots_trade::Projection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::workflow::RadrootsTradeReductionInputV1
+impl radroots_trade::ReductionInput
+pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1]
+pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self
+pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64>
+pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1]
+pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self
+pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self
+pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self
+pub struct radroots_trade::workflow::WorkflowPlan
+impl radroots_trade::prelude::WorkflowPlan
+pub fn radroots_trade::prelude::WorkflowPlan::into_mutation(self) -> radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::kind(&self) -> radroots_event::trade::TradeMutationKindV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::prelude::WorkflowPlan::prepare(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<Self, radroots_trade::prelude::Error>
+pub const fn radroots_trade::prelude::WorkflowPlan::private_terms(&self) -> core::option::Option<&radroots_trade::prelude::PrivateTermsPlan>
+pub fn radroots_trade::prelude::WorkflowPlan::required_actions(&self) -> &[radroots_trade::prelude::WorkflowAction]
+pub const fn radroots_trade::prelude::WorkflowPlan::trade_id(&self) -> &radroots_event::id::TradeId
+pub const radroots_trade::workflow::RADROOTS_TRADE_REDUCER_CONTRACT_ID: &str
+pub const radroots_trade::workflow::RADROOTS_TRADE_REDUCER_VERSION: u16
+pub fn radroots_trade::workflow::reduce_trade_records(radroots_trade::ReductionInput) -> radroots_trade::Projection
+pub enum radroots_trade::ReducerIssue
+pub radroots_trade::ReducerIssue::CancellationConflict
+pub radroots_trade::ReducerIssue::CancellationConflict::cancellation_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::CandidateIdMismatch
+pub radroots_trade::ReducerIssue::CandidateIdMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::CandidateIdMismatch::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::DecisionAuthorMismatch
+pub radroots_trade::ReducerIssue::DecisionAuthorMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::DecisionConflict
+pub radroots_trade::ReducerIssue::DecisionConflict::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::DecisionParentMissing
+pub radroots_trade::ReducerIssue::DecisionParentMissing::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::DecisionParentMissing::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::DoubleAcceptance
+pub radroots_trade::ReducerIssue::DoubleAcceptance::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::InvalidCausalChain
+pub radroots_trade::ReducerIssue::InvalidCausalChain::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::InvalidMutation
+pub radroots_trade::ReducerIssue::InvalidMutation::mutation_id: core::option::Option<radroots_event::id::MutationId>
+pub radroots_trade::ReducerIssue::InvalidMutation::reason: alloc::string::String
+pub radroots_trade::ReducerIssue::MissingMutationId
+pub radroots_trade::ReducerIssue::MissingParent
+pub radroots_trade::ReducerIssue::MissingParent::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::MissingParent::parent_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::MissingProposal
+pub radroots_trade::ReducerIssue::MissingProposal::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::MissingProposal::proposal_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::MissingRootProposal
+pub radroots_trade::ReducerIssue::MissingSellerReservation
+pub radroots_trade::ReducerIssue::MissingSellerReservation::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::MultipleRootProposals
+pub radroots_trade::ReducerIssue::PrivateTermsUnavailable
+pub radroots_trade::ReducerIssue::PrivateTermsUnavailable::candidate_id: radroots_event::id::CandidateId
+pub radroots_trade::ReducerIssue::ProjectionDigestUnavailable
+pub radroots_trade::ReducerIssue::ProjectionDigestUnavailable::reason: alloc::string::String
+pub radroots_trade::ReducerIssue::ReservationAuthorityMismatch
+pub radroots_trade::ReducerIssue::ReservationAuthorityMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::ReservationCandidateMismatch
+pub radroots_trade::ReducerIssue::ReservationCandidateMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::ReservationLineMismatch
+pub radroots_trade::ReducerIssue::ReservationLineMismatch::decision_mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::TradeIdentityMismatch
+pub radroots_trade::ReducerIssue::TradeIdentityMismatch::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::UnsupportedSchema
+pub radroots_trade::ReducerIssue::UnsupportedSchema::mutation_id: radroots_event::id::MutationId
+pub radroots_trade::ReducerIssue::UnsupportedSchema::schema_version: u16
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::ReducerIssue
+pub fn radroots_trade::ReducerIssue::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::Error
+impl radroots_trade::prelude::Error
+pub const fn radroots_trade::prelude::Error::kind(&self) -> radroots_trade::prelude::ErrorKind
+pub const fn radroots_trade::prelude::Error::protocol_error(&self) -> core::option::Option<&radroots_event::trade::TradeProtocolError>
+impl core::error::Error for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Display for radroots_trade::prelude::Error
+pub fn radroots_trade::prelude::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+pub struct radroots_trade::Projection
+impl radroots_trade::Projection
+pub fn radroots_trade::Projection::active_agreement_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::agreement_claims(&self) -> &[radroots_trade::model::RadrootsTradeAgreementClaimV1]
+pub const fn radroots_trade::Projection::agreement_state(&self) -> radroots_trade::model::RadrootsTradeAgreementStateV1
+pub const fn radroots_trade::Projection::attestation_state(&self) -> radroots_trade::model::RadrootsTradeAttestationStateV1
+pub fn radroots_trade::Projection::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::Projection::buyer_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub fn radroots_trade::Projection::cancelled_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::candidate_heads(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::conflict_state(&self) -> radroots_trade::model::RadrootsTradeConflictStateV1
+pub fn radroots_trade::Projection::contested_claim_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::declined_candidate_ids(&self) -> &[radroots_event::id::CandidateId]
+pub const fn radroots_trade::Projection::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub const fn radroots_trade::Projection::farm_id(&self) -> core::option::Option<&radroots_event::id::DTag>
+pub const fn radroots_trade::Projection::fulfillment_state(&self) -> radroots_trade::model::RadrootsTradeFulfillmentStateV1
+pub fn radroots_trade::Projection::issues(&self) -> &[radroots_trade::ReducerIssue]
+pub fn radroots_trade::Projection::missing_parent_ids(&self) -> &[radroots_event::id::MutationId]
+pub fn radroots_trade::Projection::missing_proposal_ids(&self) -> &[radroots_event::id::MutationId]
+pub const fn radroots_trade::Projection::negotiation_state(&self) -> radroots_trade::model::RadrootsTradeNegotiationStateV1
+pub const fn radroots_trade::Projection::payment_state(&self) -> radroots_trade::model::RadrootsTradePaymentStateV1
+pub const fn radroots_trade::Projection::private_terms_state(&self) -> radroots_trade::model::RadrootsTradePrivateTermsStateV1
+pub fn radroots_trade::Projection::projection_digest(&self) -> &str
+pub fn radroots_trade::Projection::reducer_contract_id(&self) -> &str
+pub const fn radroots_trade::Projection::reducer_version(&self) -> u16
+pub const fn radroots_trade::Projection::root_mutation_id(&self) -> core::option::Option<&radroots_event::id::MutationId>
+pub const fn radroots_trade::Projection::seller_pubkey(&self) -> core::option::Option<&radroots_identity::key::PublicKey>
+pub const fn radroots_trade::Projection::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::Projection::unsupported_mutation_ids(&self) -> &[radroots_event::id::MutationId]
+impl dto_bindgen_core::descriptor::Dto for radroots_trade::Projection
+pub fn radroots_trade::Projection::describe(&mut dto_bindgen_core::descriptor::DescribeCtx) -> dto_bindgen_core::types::TypeRef
+pub struct radroots_trade::ReductionInput
+impl radroots_trade::ReductionInput
+pub fn radroots_trade::ReductionInput::attestations(&self) -> &[radroots_trade::evidence::RadrootsTradeAttestationRecordV1]
+pub const fn radroots_trade::ReductionInput::evidence_state(&self) -> radroots_trade::evidence::RadrootsTradeEvidenceStateV1
+pub fn radroots_trade::ReductionInput::mutations(&self) -> &[radroots_trade::evidence::RadrootsTradeMutationRecordV1]
+pub fn radroots_trade::ReductionInput::new(radroots_event::id::TradeId) -> Self
+pub const fn radroots_trade::ReductionInput::observed_at_unix_s(&self) -> core::option::Option<u64>
+pub fn radroots_trade::ReductionInput::private_terms(&self) -> &[radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1]
+pub const fn radroots_trade::ReductionInput::trade_id(&self) -> &radroots_event::id::TradeId
+pub fn radroots_trade::ReductionInput::with_attestations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeAttestationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_evidence_state(self, radroots_trade::evidence::RadrootsTradeEvidenceStateV1) -> Self
+pub fn radroots_trade::ReductionInput::with_mutations(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradeMutationRecordV1>) -> Self
+pub fn radroots_trade::ReductionInput::with_observed_at_unix_s(self, core::option::Option<u64>) -> Self
+pub fn radroots_trade::ReductionInput::with_private_terms(self, alloc::vec::Vec<radroots_trade::evidence::RadrootsTradePrivateTermsEvidenceV1>) -> Self
+pub struct radroots_trade::WorkflowPlan
+impl radroots_trade::prelude::WorkflowPlan
+pub fn radroots_trade::prelude::WorkflowPlan::into_mutation(self) -> radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::kind(&self) -> radroots_event::trade::TradeMutationKindV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation(&self) -> &radroots_event::trade::TradeMutationEnvelopeV1
+pub const fn radroots_trade::prelude::WorkflowPlan::mutation_id(&self) -> &radroots_event::id::MutationId
+pub fn radroots_trade::prelude::WorkflowPlan::prepare(radroots_event::trade::TradeMutationEnvelopeV1) -> core::result::Result<Self, radroots_trade::prelude::Error>
+pub const fn radroots_trade::prelude::WorkflowPlan::private_terms(&self) -> core::option::Option<&radroots_trade::prelude::PrivateTermsPlan>
+pub fn radroots_trade::prelude::WorkflowPlan::required_actions(&self) -> &[radroots_trade::prelude::WorkflowAction]
+pub const fn radroots_trade::prelude::WorkflowPlan::trade_id(&self) -> &radroots_event::id::TradeId