#![doc(html_favicon_url = "https://zfnd.org/wp-content/uploads/2022/03/zebra-favicon-128.png")]
#![doc(html_logo_url = "https://zfnd.org/wp-content/uploads/2022/03/zebra-icon.png")]
#![doc(html_root_url = "https://docs.rs/zakura_consensus")]
mod block;
mod checkpoint;
mod primitives;
mod script;
pub mod config;
pub mod error;
pub mod router;
pub mod transaction;
#[cfg(any(test, feature = "proptest-impl"))]
pub use block::check::difficulty_is_valid;
#[cfg(any(test, feature = "proptest-impl"))]
pub use checkpoint::CheckpointVerifier;
pub use block::{subsidy::funding_stream_address, Request, VerifyBlockError, MAX_BLOCK_SIGOPS};
pub use checkpoint::{VerifyCheckpointError, MAX_CHECKPOINT_BYTE_COUNT, MAX_CHECKPOINT_HEIGHT_GAP};
pub use config::Config;
pub use error::BlockError;
pub use primitives::{ed25519, groth16, halo2, redjubjub, redpallas, sapling::sapling_prover};
pub use router::RouterError;
pub type BoxError = Box<dyn std::error::Error + Send + Sync + 'static>;