chio-listing 0.1.2

Chio generic listing and trust-activation contracts
Documentation

chio-listing

Generic listing and trust-activation contracts for the Chio protocol. The crate defines the signed Listing and namespace artifacts marketplace participants publish, the report-aggregation and marketplace-discovery search paths that make listings findable, and the local trust-activation flow that turns a discovered listing into a runtime-admissible one. Listings are signed by their namespace owner; every validation, search, and evaluation path in the crate is pure, with no I/O.

Responsibilities

  • Define the signed generic listing and namespace artifacts and enforce their lifecycle, ownership, and visibility-only boundary invariants.
  • Aggregate signed listing reports from multiple registry publishers into one ranked, divergence-checked view.
  • Run capability marketplace discovery: pair listings with operator-signed pricing hints, filter and rank them by price and reliability, and produce a normalized side-by-side comparison.
  • Define the trust-activation artifact and evaluator that convert a visible listing into a locally admitted one, gated on freshness, publisher role, status, signer authority, and eligibility policy.

Public API

All names live at the crate root (chio_listing::*) unless noted.

  • Listing and namespace artifacts: GenericListingArtifact, SignedGenericListing, GenericNamespaceArtifact, SignedGenericNamespace, GenericNamespaceOwnership, GenericRegistryPublisher, GenericListingBoundary, GenericListingQuery, GenericListingReport, and the actor/status/lifecycle/role enums.
  • Network search types: GenericListingSearchPolicy, GenericListingFreshnessWindow, GenericListingReplicaFreshness, GenericListingSearchResult, GenericListingDivergence, GenericListingSearchResponse.
  • Validation and aggregation: normalize_namespace, ensure_generic_listing_signed_by_namespace_owner, ensure_generic_listing_namespace_consistency, aggregate_generic_listing_reports.
  • Capability marketplace discovery, also reachable under discovery::: Listing, ListingQuery, ListingSla, ListingPricingHint, SignedListingPricingHint, ListingSearchResponse, ListingComparison, search, compare, resolve_admissible_listing, provider_signing_key.
  • Trust activation: GenericTrustActivationArtifact, SignedGenericTrustActivation, GenericTrustActivationEligibility, GenericTrustActivationEvaluation, GenericTrustActivationFindingCode, build_generic_trust_activation_artifact, evaluate_generic_trust_activation.
  • Re-exported from chio-core-types: MonetaryAmount, canonical_json_bytes, crypto, receipt.

Usage

use chio_listing::{discovery, GenericListingReport, ListingQuery};

// `reports` are signed listing reports collected from registry publishers;
// `hints` are the operators' signed `SignedListingPricingHint`s.
let response = discovery::search(&reports, &hints, &ListingQuery::default(), now);
for listing in &response.results {
    println!("{} @ {:?}", listing.listing_id(), listing.price_per_call());
}

Testing

cargo test -p chio-listing

See also

  • chio-open-market - resolves listings via discovery::search to mint capability tokens in its bid/ask protocol.
  • chio-governance, chio-federation - re-export this crate as listing and build policy on its artifacts.
  • chio-core - re-exports this crate as chio_core::listing.