Skip to main content

Crate privacy_core

Crate privacy_core 

Source
Expand description

privacy-core — shared, halo2-free foundation for the privacy-indexer and privacy-relayer.

Contains only the light, proving-stack-free pieces both services need:

  • ethereum — event-log decode + bundle/erc/finalize calldata encode (ethabi).
  • types — plain serde data structures (stored bundle, indexed notes/bundles).
  • intent — BTC shield-intent helpers (single-sig federation V1).

The Fr/circuit/witness machinery (proving, note decryption, key derivation, Poseidon) deliberately stays out of this crate so the services don’t pull in halo2.

Re-exports§

pub use intent::build_shield_intent_v1;
pub use intent::bundle_content_sha256;
pub use intent::BridgeError;
pub use intent::BtcDepositConfigV1;
pub use intent::ShieldIntentV1;
pub use types::OrchardIndexBatch;
pub use types::OrchardIndexedAbiNote;
pub use types::OrchardIndexedBundle;
pub use types::OrchardStoredAction;
pub use types::OrchardStoredBundle;

Modules§

commitment_tree
BN254 Poseidon note-commitment tree (halo2-free).
ethereum
Calldata encoding for PrivacyBTC.sol — all operations go through bundle().
intent
Bridge / federation helpers — V1 single-signature BTC deposit address.
types
Plain serde data types shared by the indexer and relayer.