Expand description
uor_addr::ring — the ring-element realization of UOR-ADDR
(ARCHITECTURE.md “Format-specific realizations” § uor-addr-ring).
Ring-element typed-input content-addressing under UOR-Framework
Amendment 43 §2’s Element::canonical_bytes layout, with the
σ-projection bound to prism::crypto::Sha256Hasher.
§Authoritative sources
- Amendment 43 §2 canonical-bytes layout — UOR-Framework wiki
https://github.com/UOR-Foundation/UOR-Framework/wiki/Amendment-43.
The canonical-bytes layout is
header(k) || le_bytes(x, k+1)wherekis the element’s Witt level andxis its value coefficient encoded in little-endian overk+1bytes. - ADR-039 ring algebra surface — UOR-Framework wiki https://github.com/UOR-Foundation/UOR-Framework/wiki/ADR-039.
- SHA-256 σ-projection — NIST FIPS 180-4 (https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).
§Canonical-bytes layout
canonical_bytes(e) := [witt_level: u8] || [coefficient: u8; witt_level + 1]witt_level ∈ {0, 1, 2, 3}— the element’s Witt level per Amendment 43.coefficient—witt_level + 1little-endian bytes encoding the element valuex. The coefficient byte width is determined by the Witt level (1, 2, 3, or 4 bytes), so the canonical bytes are1 + (witt_level + 1)bytes total — between 2 and 5 bytes.
This is the minimum-information byte sequence that distinguishes two ring elements: the Witt level disambiguates the algebraic domain; the LE coefficient bytes distinguish elements within the same level.
Re-exports§
pub use model::AddressModel;pub use model::AddressModelBlake3;pub use model::AddressModelKeccak256;pub use model::AddressModelSha3_256;pub use model::AddressModelSha512;pub use model::AddressRoute;pub use pipeline::address;pub use pipeline::address_blake3;pub use pipeline::address_keccak256;pub use pipeline::address_sha3_256;pub use pipeline::address_sha512;pub use pipeline::AddressFailure;pub use pipeline::AddressOutcome;pub use pipeline::AddressWitness;pub use pipeline::VerifyError;pub use shapes::MAX_WITT_LEVEL;pub use shapes::RING_VALUE_MAX_BYTES;pub use value::RingElement;pub use verbs::address_inference;pub use verbs::VERB_TERMS_ADDRESS_INFERENCE;pub use crate::resolvers::AddressResolverTuple;
Modules§
- model
ring::AddressModel*— the ring realization’sPrismModeldeclarations, one per admissible σ-axis (crate::hash). Each binds the sharedAddressResolverTupleψ-tower and the axis’s capacity profile (AddrBoundsfor the 32-byte axes,AddrBounds64for sha512).AddressModel(sha256) is the default.- pipeline
ring::address— the ring-element realization’s public entry point.- shapes
- Substitution-axis selections for the ring-element realization.
- value
RingElement— the ring-element typed input handle (UOR-Framework Amendment 43 §2Element::canonical_bytes).- verbs
- ring-element realization’s ψ-chain content-address derivation verb (wiki ADR-024 + ADR-035 + ADR-036 + ARCHITECTURE.md “Common verb arena”).