zcash_primitives/
lib.rs

1//! *General Zcash primitives.*
2//!
3//! `zcash_primitives` is a library that provides the core structs and functions necessary
4//! for working with Zcash.
5//!
6//! ## Feature flags
7#![cfg_attr(feature = "std", doc = document_features::document_features!())]
8//!
9
10#![cfg_attr(docsrs, feature(doc_cfg))]
11#![cfg_attr(docsrs, feature(doc_auto_cfg))]
12// Catch documentation errors caused by code changes.
13#![deny(rustdoc::broken_intra_doc_links)]
14// Temporary until we have addressed all Result<T, ()> cases.
15#![allow(clippy::result_unit_err)]
16// Present to reduce refactoring noise from changing all the imports inside this crate for
17// the `sapling` crate extraction.
18#![allow(clippy::single_component_path_imports)]
19#![no_std]
20
21#[cfg(feature = "std")]
22extern crate std;
23
24#[macro_use]
25extern crate alloc;
26
27pub mod block;
28pub(crate) mod encoding;
29#[cfg(zcash_unstable = "zfuture")]
30pub mod extensions;
31pub mod merkle_tree;
32pub mod transaction;
33
34#[deprecated(note = "This module is deprecated; use `::zcash_protocol::consensus` instead.")]
35pub mod consensus {
36    pub use zcash_protocol::consensus::*;
37}
38#[deprecated(note = "This module is deprecated; use `::zcash_protocol::constants` instead.")]
39pub mod constants {
40    pub use zcash_protocol::constants::*;
41}
42#[deprecated(note = "This module is deprecated; use `::zcash_protocol::memo` instead.")]
43pub mod memo {
44    pub use zcash_protocol::memo::*;
45}
46#[deprecated(note = "This module is deprecated; use the `zip32` crate instead.")]
47pub mod zip32 {
48    pub use zip32::*;
49}
50#[deprecated(note = "This module is deprecated; use the `zcash_transparent` crate instead.")]
51pub mod legacy {
52    pub use transparent::address::*;
53    #[cfg(feature = "transparent-inputs")]
54    #[deprecated(note = "This module is deprecated; use `::zcash_transparent::keys` instead.")]
55    pub mod keys {
56        pub use transparent::keys::*;
57    }
58}