Skip to main content

Crate northroot_proof_engine

Crate northroot_proof_engine 

Source
Expand description

Engine v0.2.0 - LOCKED DO NOT MODIFY without version bump Last frozen: 2025-11-06

Northroot Proof Engine v0.2 — Core proof computation and validation library

This library provides the foundational cryptographic and validation primitives for the modular proof architecture (PoSH, PoX).

§Architecture

  • PoSH (Proof of Shape): Method transformation contracts
  • PoX (Proof of Execution): Run evidence and commitments

§Modules

  • types: v0.2 proof type definitions
  • canonical: Deterministic JSON canonicalization
  • hash: SHA-256 hash computation
  • signature: ed25519 signature handling
  • validation: Input validation functions
  • data_shape: Data shape hashing

§Usage Example

use northroot_proof_engine::{compute_sha256, validate_trace_id, SpanCommitment, SpanStatus};

// Compute SHA-256 hash
let hash = compute_sha256("Hello, world!");
assert!(hash.starts_with("sha256:"));

// Validate trace ID
assert!(validate_trace_id("tr_01H1234567890").is_ok());
assert!(validate_trace_id("invalid").is_err());

§See Also

Re-exports§

pub use types::ArtifactRef;
pub use types::Did;
pub use types::IsoTime;
pub use types::MethodRef;
pub use types::MethodShapeManifest;
pub use types::RuntimePins;
pub use types::Sha256;
pub use types::Signature;
pub use types::SignedSpan;
pub use types::SpanCommitment;
pub use types::SpanMeta;
pub use types::SpanShape;
pub use types::SpanStatus;
pub use types::Trace;
pub use types::TraceRoots;
pub use types::Uri;
pub use canonical::canonicalize_method_shape;
pub use canonical::canonicalize_span_commitment;
pub use canonical::canonicalize_span_shape;
pub use canonical::canonicalize_trace;
pub use canonical::canonicalize_trace_roots;
pub use canonical::normalize_timestamp;
pub use canonical::CanonicalError;
pub use hash::compute_identity_root;
pub use hash::compute_method_shape_hash;
pub use hash::compute_method_shape_root;
pub use hash::compute_sha256;
pub use hash::compute_span_commitment_hash;
pub use hash::compute_span_shape_hash;
pub use hash::compute_trace_hash;
pub use hash::compute_trace_roots_hash;
pub use hash::compute_trace_seq_root;
pub use hash::compute_trace_set_root;
pub use hash::HashError;
pub use signature::sign_message;
pub use signature::sign_span_commitment;
pub use signature::validate_signature_format;
pub use signature::verify_signature;
pub use signature::verify_span_commitment_signature;
pub use signature::SignatureError;
pub use validation::validate_iso_time;
pub use validation::validate_method_ref;
pub use validation::validate_sha256_format;
pub use validation::validate_span_commitment;
pub use validation::validate_span_id;
pub use validation::validate_trace_id;
pub use validation::ValidationError;
pub use data_shape::compute_data_shape_hash;
pub use data_shape::validate_data_shape_hash;
pub use data_shape::DataShapeError;
pub use ids::validate_span_id as validate_otel_span_id;
pub use ids::validate_trace_id as validate_otel_trace_id;
pub use ids::OtelIdError;

Modules§

canonical
Canonicalization for v0.2 proof types
data_shape
Data shape hashing for v0.2
hash
Hash computation for v0.2 proof types
ids
OTEL ID validation utilities
signature
Signature handling for v0.2 proof types
types
v0.2 Proof type definitions
validation
Validation functions for v0.2 proof types