Skip to main content

Crate cardanowall

Crate cardanowall 

Source
Expand description

Rust SDK for the Label 309 Proof-of-Existence standard.

This crate is a byte-parity sibling of the TypeScript (@cardanowall/sdk-ts) and Python (cardanowall-sdk) SDKs. It independently reproduces the exact canonical-CBOR bytes, validation verdicts, and cryptographic outputs of those implementations, proven against the same shared cross-implementation test vectors.

The public surface mirrors the other SDKs: a standalone structural validator, a public verifier, a recipient verifier with sealed-PoE decryption, and a gateway-agnostic HTTP client. Nothing here trusts a publisher or an issuer server; a verifier needs only transaction metadata, optionally the content bytes, and a public blockchain explorer.

§Cargo features

  • client (default) — the gateway-agnostic HTTP client namespace, the production blocking-reqwest transport, and the seed-backed record Signer implementation. This is the only feature that pulls in an HTTP stack.

Building with --no-default-features yields a transport-free crate that keeps the entire structural validator, the pure verifier pipeline, the SSRF / deny-host egress guards, and the cryptographic primitives. In that configuration the verifier::verify_tx entry point has no built-in transport: a caller injects its own FetchTransport via VerifyTxInput::fetch_outbound.

Modules§

cbor
Hand-rolled canonical CBOR encoder and strict canonical decoder.
certificate
Label 309 Inclusion Certificate — a self-contained, standalone-verifiable proof of inclusion.
client
Gateway-agnostic HTTP client for the Label 309 service surface.
cose
COSE_Sign1 construction and verification (RFC 9052) for Label 309 record signatures, plus the Ed25519 primitive the signatures ride on and the COSE_Key decoder used to resolve out-of-band signer keys.
estimate
A tight upper-bound estimator for the canonical-CBOR record size.
hash
Hash primitives: SHA-256, BLAKE2b-256, and dual-hash digests.
hex
Hexadecimal encode/decode helpers.
ids
Crockford base32 and prefixed resource identifiers.
kdf
HKDF-SHA256 key derivation (RFC 5869).
merkle
Binary Merkle tree root, inclusion proof, and verification (RFC 9162).
poe_standard
Label 309 v1 Proof-of-Existence record wire format.
recipient
Bech32 codec and age/age1pqc recipient string encode/decode.
sealed_poe
The sealed-PoE construction (enc.scheme: 1): multi-recipient and passphrase encryption for Proof-of-Existence content.
seed_derive
Deterministic key derivation from a single 32-byte master seed.
seed_encoding
Checksummed string encoding for the 32-byte identity seed.
unicode_nfkc16
Pinned Unicode 16.0.0 NFKC normalization.
verifier
Public and recipient verifiers over Cardano transaction metadata.