// ---
// tags: mudra, rust
// crystal-type: source
// crystal-domain: comp
// ---
//! mudra โ cryptographic primitives: confidentiality, distribution, delay, ordering, position.
//!
//! Most of mudra is post-quantum and signature-free by design: a neuron's
//! identity is `Hemera(secret)` and authentication is a zheng proof of hash
//! preimage. Those modules (seal/stealth/veil/quorum/delay/order/place) are
//! specified in `specs/` and not yet implemented.
//!
//! **Phase 1 โ the legacy-key bridge.** To migrate an existing Cosmos-SDK
//! network (spacepussy first), we must let a holder prove control of the
//! secp256k1 key they already have and bind it to a native neuron. That is the
//! one place classical signatures are structurally required. This crate
//! currently implements that bridge:
//!
//! - [`seed`] โ BIP-39 mnemonic โ seed โ BIP-32/44 secp256k1 key (coin type 118)
//! - [`cosmos`] โ compressed pubkey โ `ripemd160(sha256(pk))` โ bech32 address
//! - [`claim`] โ ADR-036 sign/verify of a `legacy address โ native neuron` binding
//!
//! Verification here is native (in-process). Phase 2 re-expresses the same
//! secp256k1 + sha256 + ripemd160 verification as a nox program producing a
//! zheng proof, making the binding trustless. The Phase-1 code is the reference
//! implementation Phase 2 must match.
pub use Claim;
/// The secp256k1 signing key type used across the bridge. Sourced from bip32's
/// re-export so its `k256` version is locked to the HD-derivation crate's.
pub use SigningKey;
/// Errors from the legacy-key bridge.