uor-addr 0.2.0

UOR-ADDR — the typed reference vocabulary for content-addressing across recursively-grammared formats. Standard-library Layer-3 Prism realization of the UOR Foundation; ships the common architectural surface plus the JSON realization under JCS-RFC8785 + NFC + SHA-256.
Documentation
//! `json::AddressModel*` — the JSON realization's `PrismModel`
//! declarations, one per admissible σ-axis ([`crate::hash`]). Each binds
//! the shared [`AddressResolverTuple`](crate::resolvers) ψ-tower and the
//! axis's capacity profile ([`AddrBounds`](crate::bounds::AddrBounds) for
//! the 32-byte axes, [`AddrBounds64`](crate::bounds::AddrBounds64) for
//! sha512); the input is the ADR-060 borrowed-carrier handle [`JsonCarrier`].
//! `AddressModel` (sha256) is the default.

use crate::json::value::JsonCarrier;
#[allow(unused_imports)]
use crate::json::verbs::{
    address_inference, address_inference_blake3, address_inference_keccak256,
    address_inference_sha3_256, address_inference_sha512, VERB_TERMS_ADDRESS_INFERENCE,
    VERB_TERMS_ADDRESS_INFERENCE_BLAKE3, VERB_TERMS_ADDRESS_INFERENCE_KECCAK256,
    VERB_TERMS_ADDRESS_INFERENCE_SHA3_256, VERB_TERMS_ADDRESS_INFERENCE_SHA512,
};
use crate::label::{
    AddressLabelBlake3, AddressLabelKeccak256, AddressLabelSha256, AddressLabelSha3_256,
    AddressLabelSha512,
};

addr_models! {
    input: JsonCarrier<'a>,
    {
        hasher: prism::crypto::Sha256Hasher,
        bounds: crate::bounds::AddrBounds,
        shape: AddressLabelSha256,
        model: AddressModel,
        route: AddressRoute,
        verb: address_inference
    },
    {
        hasher: prism::crypto::Blake3Hasher,
        bounds: crate::bounds::AddrBounds,
        shape: AddressLabelBlake3,
        model: AddressModelBlake3,
        route: AddressRouteBlake3,
        verb: address_inference_blake3
    },
    {
        hasher: prism::crypto::Sha3_256Hasher,
        bounds: crate::bounds::AddrBounds,
        shape: AddressLabelSha3_256,
        model: AddressModelSha3_256,
        route: AddressRouteSha3_256,
        verb: address_inference_sha3_256
    },
    {
        hasher: prism::crypto::Keccak256Hasher,
        bounds: crate::bounds::AddrBounds,
        shape: AddressLabelKeccak256,
        model: AddressModelKeccak256,
        route: AddressRouteKeccak256,
        verb: address_inference_keccak256
    },
    {
        hasher: prism::crypto::Sha512Hasher,
        bounds: crate::bounds::AddrBounds64,
        shape: AddressLabelSha512,
        model: AddressModelSha512,
        route: AddressRouteSha512,
        verb: address_inference_sha512
    },
}