soft3/mudra/Cargo.toml

# ---
# tags: mudra, config
# crystal-type: source
# crystal-domain: comp
# ---
[package]
name = "cyber-mudra"
version = "0.1.0"
edition = "2024"
description = "cryptographic primitives: keys, seeds, claims (phase 1); seal, stealth, veil, quorum, delay, order, place (spec)"
license-file = "LICENSE"

[features]
# Phase 2 β€” provable verification: secp256k1 emulated as Goldilocks limbs
# (`proof::curve`/`ecdsa`/`field`/`ripemd160`/`scalar`/`sha256`, all of
# `nebu`-backed), and the nox→zheng proving pipeline built on it
# (`proof::prove`, milestone 2e). off by default: pulls the whole proof
# system, including `nebu` β€” measured cost to a downstream wasm build is
# real (~65KB brotli, found migrating lytics's tracker onto `mudra::domain`;
# the base field-emulation layer alone, before nox/zheng, was already most
# of it). nothing outside `proof` itself references `nebu` or `proof::`.
# enable with `cargo test --features prove`.
prove = ["dep:nebu", "dep:nox", "dep:zheng"]

# the legacy-key bridge's HD-derivation path (BIP-32/39, Cosmos coin type
# 118) β€” `seed.rs`, and `claim`/`cosmos`'s recovery-of-an-existing-account
# use. on by default (mudra's own CLI/tests need it); off for a downstream
# crate that only wants fresh domain-scoped identity (`domain.rs`) and
# cannot afford bip32/bip39 in its build β€” e.g. a wasm bundle, where bip32's
# HMAC-SHA512 ladder and bip39's 2048-word list are exactly the weight
# `domain.rs` exists to avoid. `domain`/`claim::sign_arbitrary`/`cosmos` do
# not need this feature; only `seed` and `claim::create`/`verify`'s
# BIP-32-recovered-key call sites do.
default = ["bridge"]
bridge = ["dep:bip32", "dep:bip39"]

[lib]
name = "mudra"
path = "src/lib.rs"

[dependencies]
# native neuron identity: neuron = Hemera(pubkey)
hemera = { package = "cyber-hemera", version = "0.3", path = "../hemera/rs" }

# phase 2 β€” provable verification: secp256k1 emulated as Goldilocks limbs.
# behind `prove` β€” see the feature doc above.
nebu = { package = "strata-nebu", version = "0.1", path = "../strata/nebu/rs", optional = true }

# phase 2e β€” actual proving pipeline (nox program β†’ zheng proof). Heavy; opt-in.
nox = { package = "cyber-nox", version = "0.1.2", path = "../nox/rs", optional = true }
zheng = { version = "0.1.2", path = "../zheng/rs", optional = true }

# secp256k1 β€” always on: `domain.rs` (fresh identity) and `claim.rs`'s
# general ADR-036 sign/verify need it with or without the `bridge` feature.
# depended on directly (not through bip32's re-export) so it stays
# available with `bridge` off; version pinned to match bip32 0.5's own
# k256 pin so both resolve to the same crate when `bridge` is on.
# `default-features = false`: cargo unifies features across the whole
# dependency graph, so leaving k256's defaults on here would silently
# re-enable them for every downstream crate too, regardless of what that
# crate itself requested β€” found live, migrating lytics's wasm tracker
# onto this crate: lytics-event's own `k256 = { default-features = false,
# features = ["ecdsa", "arithmetic", "alloc"] }` (dropping precomputed
# tables, pkcs8/pem/serde/schnorr/ecdh β€” an explicit, measured size cut)
# was silently overridden back to k256's full default feature set by this
# line alone, ~65KB of the ~89KB the migration first appeared to cost.
k256 = { version = "0.13", default-features = false, features = ["ecdsa", "arithmetic", "alloc"] }
sha2 = "0.10"
ripemd = "0.1"
bech32 = "0.11"
base64 = "0.22"

# phase 1 β€” legacy-key bridge (spacepussy migration): HD derivation at the
# Cosmos path. behind `bridge` β€” see the feature doc above.
bip39 = { version = "2", features = ["rand"], optional = true }
bip32 = { version = "0.5", optional = true }

# NOTE: the post-quantum modules (seal/stealth/veil/quorum/delay) will re-add the
# strata algebra crates when implemented:
#   nebu   = { path = "../strata/nebu/rs" }
#   genies = { path = "../strata/genies/rs" }
#   jali   = { path = "../strata/jali/rs" }

bin
name = "mudra"
path = "src/bin/mudra.rs"
required-features = ["bridge"]

[dev-dependencies]
hex = "0.4"
# independent references for the phase-2 gadget tests only
num-bigint = "0.4"

Homonyms

cyb/Cargo.toml
neural/rs/Cargo.toml
warriors/erga/Cargo.toml
soft3/tru/Cargo.toml
warriors/trisha/Cargo.toml
cyb/evy/Cargo.toml
cyb/wysm/Cargo.toml
soft3/zheng/Cargo.toml
cyb/shell/Cargo.toml
soft3/hemera/Cargo.toml
cyb/core/Cargo.toml
soft3/glia/Cargo.toml
cyb/optica/Cargo.toml
soft3/cybergraph/Cargo.toml
soft3/strata/Cargo.toml
neural/rune/Cargo.toml
cyb/honeycrisp/Cargo.toml
cyb/prysm/Cargo.toml
cyberia/cyberia-my/Cargo.toml
soft3/foculus/Cargo.toml
neural/trident/Cargo.toml
soft3/radio/Cargo.toml
cyb/apps/Cargo.toml
soft3/crate/Cargo.toml
cyb/cli/Cargo.toml
soft3/lens/Cargo.toml
soft3/mir/Cargo.toml
soft3/nox/Cargo.toml
neural/eidos/Cargo.toml
soft3/radio/iroh-relay/Cargo.toml
soft3/lens/core/Cargo.toml
warriors/trisha/honeycrisp/Cargo.toml
soft3/radio/iroh-car/Cargo.toml
soft3/hemera/cli/Cargo.toml
neural/rune/cli/Cargo.toml
soft3/strata/src/Cargo.toml
cyb/wysm/fuzz/Cargo.toml
soft3/tru/rs/Cargo.toml
soft3/hemera/bench/Cargo.toml
cyb/crates/cyb-reserve/Cargo.toml
neural/rs/cli/Cargo.toml
cyb/honeycrisp/aruminium/Cargo.toml
soft3/strata/proof/Cargo.toml
soft3/nox/cli/Cargo.toml
warriors/trisha/wgpu/Cargo.toml
soft3/soma/kernel/Cargo.toml
cyb/honeycrisp/unimem/Cargo.toml
neural/inf/rs/Cargo.toml
soft3/radio/nettools/Cargo.toml
cyb/honeycrisp/acpu/Cargo.toml
soft3/radio/iroh/Cargo.toml
soft3/tru/cli/Cargo.toml
soft3/lens/src/Cargo.toml
neural/rs/link/Cargo.toml
neural/rs/dialect/Cargo.toml
soft3/lens/porphyry/Cargo.toml
soft3/lens/brakedown/Cargo.toml
soft3/cybergraph/cli/Cargo.toml
soft3/radio/iroh-dns-server/Cargo.toml
soft3/glia/import/Cargo.toml
soft3/lens/binius/Cargo.toml
soft3/bbg/rs/Cargo.toml
neural/rs/mir-format/Cargo.toml
cyberia/research/cyberia-my/Cargo.toml
soft3/lens/cli/Cargo.toml
soft3/lytics/rs/Cargo.toml
neural/eidos/rs/Cargo.toml
soft3/strata/cli/Cargo.toml
neural/rs/pure-rust-check/Cargo.toml
neural/rs/rsc/Cargo.toml
neural/rs/core/Cargo.toml
soft3/glia/cli/Cargo.toml
soft3/radio/iroh-base/Cargo.toml
soft3/radio/particle/Cargo.toml
neural/rs/darwin-sys/Cargo.toml
cyb/honeycrisp/rane/Cargo.toml
soft3/glia/run/Cargo.toml
soft3/tok/rs/Cargo.toml
soft3/radio/iroh-ffi/Cargo.toml
cyb/crates/cyb/Cargo.toml
soft3/zheng/rs/Cargo.toml
soft3/radio/iroh-gossip/Cargo.toml
soft3/hemera/rs/Cargo.toml
soft3/radio/iroh-willow/Cargo.toml
cyb/prysm/cli/Cargo.toml
soft3/radio/radio-cli/Cargo.toml
soft3/lens/ikat/Cargo.toml
soft3/lens/assayer/Cargo.toml
soft3/nox/rs/Cargo.toml
soft3/radio/quinn/Cargo.toml
soft3/conformance/rs/Cargo.toml
soft3/strata/core/Cargo.toml
soft3/radio/iroh-blobs/Cargo.toml
soft3/radio/iroh-docs/Cargo.toml
warriors/trisha/cli/Cargo.toml
soft3/bbg/cli/Cargo.toml
neural/rs/codegen/Cargo.toml
warriors/trisha/rs/Cargo.toml
soft3/hemera/wgsl/Cargo.toml
neural/rs/macros/Cargo.toml
soft3/zheng/cli/Cargo.toml
warriors/erga/cli/Cargo.toml
soft3/radio/cyber-bao/Cargo.toml
soft3/strata/ext/Cargo.toml
neural/rs/sigil/Cargo.toml
neural/eidos/cli/Cargo.toml
soft3/strata/compute/Cargo.toml
neural/rs/macho-linker/Cargo.toml
soft3/radio/iroh/bench/Cargo.toml
soft3/strata/genies/rs/Cargo.toml
cyb/honeycrisp/aruminium/benches/Cargo.toml
cyb/wysm/crates/collections/Cargo.toml
neural/inf/rs/lex/Cargo.toml
warriors/erga/rs/miner/Cargo.toml
cyb/wysm/crates/fuzz/Cargo.toml
warriors/erga/rs/mine-bench/Cargo.toml
soft3/strata/trop/wgsl/Cargo.toml
soft3/strata/kuro/cli/Cargo.toml
soft3/strata/jali/cli/Cargo.toml
cyb/wysm/crates/ir/Cargo.toml
soft3/strata/jali/wgsl/Cargo.toml
neural/inf/rs/source/Cargo.toml
cyb/wysm/crates/wasi/Cargo.toml
neural/inf/rs/oracle/Cargo.toml
warriors/erga/rs/autolykos/Cargo.toml
cyb/evy/forks/naga/Cargo.toml
soft3/tape/impl/rust/Cargo.toml
soft3/strata/nebu/cli/Cargo.toml
soft3/radio/quinn/fuzz/Cargo.toml
soft3/radio/tests/integration/Cargo.toml
soft3/radio/nettools/netwatch/Cargo.toml
soft3/strata/genies/cli/Cargo.toml
soft3/radio/quinn/quinn-proto/Cargo.toml
neural/inf/rs/ast/Cargo.toml
cyb/evy/forks/bevy_image/Cargo.toml
cyb/evy/forks/bevy_pbr/Cargo.toml
neural/trident/editor/zed/Cargo.toml
neural/rune/rs/lex/Cargo.toml
neural/rune/rs/compile/Cargo.toml
warriors/trisha/.vendor/triton-constraint-builder/Cargo.toml
warriors/erga/rs/pool/Cargo.toml
cyb/evy/forks/bevy_tasks/Cargo.toml
soft3/strata/kuro/rs/Cargo.toml
cyb/wysm/crates/wast/Cargo.toml
soft3/radio/iroh-ffi/iroh-js/Cargo.toml
neural/inf/rs/cli/Cargo.toml
cyb/evy/forks/bevy_diagnostic/Cargo.toml
neural/rs/tests/macro-integration/Cargo.toml
cyb/evy/crates/evy_diagnostic/Cargo.toml
soft3/strata/genies/wgsl/Cargo.toml
soft3/strata/nebu/wgsl/Cargo.toml
cyb/evy/forks/bevy_animation/Cargo.toml
neural/rune/rs/ast/Cargo.toml
soft3/radio/nettools/portmapper/Cargo.toml
cyb/wysm/crates/core/Cargo.toml
cyb/evy/crates/evy_engine_dispatch/Cargo.toml
soft3/lytics/rs/event/Cargo.toml
neural/rune/rs/interp/Cargo.toml
soft3/strata/nebu/rs/Cargo.toml
warriors/erga/rs/rtable-bench/Cargo.toml
soft3/lytics/rs/agent/Cargo.toml
warriors/erga/rs/app/Cargo.toml
cyb/evy/forks/bevy_core_pipeline/Cargo.toml
cyb/evy/forks/bevy_anti_alias/Cargo.toml
cyb/evy/crates/evy_dialect/Cargo.toml
neural/rune/rs/prysm/Cargo.toml
cyb/evy/forks/bevy_mesh/Cargo.toml
soft3/lytics/rs/core/Cargo.toml
cyb/evy/forks/bevy_sprite/Cargo.toml
soft3/strata/trop/cli/Cargo.toml
neural/inf/rs/eval/Cargo.toml
warriors/trisha/.vendor/triton-constraint-circuit/Cargo.toml
soft3/radio/quinn/perf/Cargo.toml
neural/rune/rs/lower/Cargo.toml
warriors/trisha/.vendor/triton-air/Cargo.toml
cyb/evy/crates/evy_prysm_core/Cargo.toml
cyb/evy/crates/evy_engine_core/Cargo.toml
warriors/trisha/.vendor/twenty-first/Cargo.toml
soft3/radio/quinn/quinn/Cargo.toml
neural/rune/rs/subject/Cargo.toml
cyb/evy/crates/evy_platform_caps/Cargo.toml
cyb/evy/crates/evy_ecs_storage/Cargo.toml
warriors/trisha/.vendor/triton-vm/Cargo.toml
warriors/erga/rs/blake-bench/Cargo.toml
cyb/evy/forks/bevy_transform/Cargo.toml
cyb/wysm/crates/cli/Cargo.toml
soft3/strata/jali/rs/Cargo.toml
neural/rune/rs/parse/Cargo.toml
neural/rune/rs/mold/Cargo.toml
soft3/radio/quinn/quinn-udp/Cargo.toml
cyb/wysm/crates/c_api/Cargo.toml
soft3/radio/quinn/bench/Cargo.toml
neural/inf/rs/plan/Cargo.toml
soft3/strata/trop/rs/Cargo.toml
cyb/evy/forks/bevy_post_process/Cargo.toml
soft3/lytics/rs/ingest/Cargo.toml
cyb/evy/crates/evy_engine_tasks/Cargo.toml
soft3/strata/kuro/wgsl/Cargo.toml
cyb/wysm/crates/wasmi/Cargo.toml
cyb/evy/forks/bevy_render/Cargo.toml
cyb/honeycrisp/rane/benches/Cargo.toml
neural/inf/rs/value/Cargo.toml
cyb/evy/crates/evy_radio/Cargo.toml
cyb/evy/forks/bevy_sprite_render/Cargo.toml
cyb/evy/forks/bevy_ecs/Cargo.toml
neural/rune/rs/parse-pure/Cargo.toml
neural/inf/rs/cozo/Cargo.toml
warriors/trisha/.vendor/triton-isa/Cargo.toml
neural/inf/rs/parse/Cargo.toml
cyb/evy/forks/bevy_gizmos_render/Cargo.toml
warriors/erga/rs/wallet/Cargo.toml
neural/inf/rs/lower/Cargo.toml
cyb/evy/forks/bevy_gizmos/Cargo.toml
neural/inf/rs/cozo/cozo-bin/Cargo.toml
neural/inf/rs/cozo/cozo-core/Cargo.toml
cyb/wysm/crates/c_api/macro/Cargo.toml
cyb/honeycrisp/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/Cargo.toml
neural/inf/rs/cozo/cozo-lib-c/Cargo.toml
neural/inf/rs/cozo/cozo-lib-java/Cargo.toml
soft3/radio/quinn/docs/book/Cargo.toml
cyb/honeycrisp/unimem/experiments/hyp_probe/Cargo.toml
neural/inf/rs/cozo/cozo-lib-nodejs/Cargo.toml
cyb/wysm/crates/c_api/artifact/Cargo.toml
neural/inf/rs/cozo/cozorocks/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/Cargo.toml
neural/inf/rs/cozo/cozo-lib-wasm/Cargo.toml
neural/inf/rs/cozo/cozo-lib-swift/Cargo.toml
neural/inf/rs/cozo/cozo-lib-python/Cargo.toml
neural/inf/rs/cozo/cozo-core-examples/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/rane/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/acpu/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/aruminium/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/rane/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/acpu/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/aruminium/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/rane/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/rane/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/aruminium/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/aruminium/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/hyp_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/hyp_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml

Graph