sc_consensus_nakamoto/
lib.rs

1mod aux_schema;
2mod block_import;
3mod chain_params;
4mod import_queue;
5mod metrics;
6mod verification;
7mod verifier;
8
9pub use block_import::{BitcoinBlockImport, BitcoinBlockImporter, ImportConfig, ImportStatus};
10pub use chain_params::ChainParams;
11pub use import_queue::{
12    BlockImportQueue, ImportBlocks, ImportManyBlocksResult, bitcoin_import_queue,
13};
14pub use verification::{
15    BlockVerification, BlockVerifier, HeaderError, HeaderVerifier, ScriptEngine,
16};
17pub use verifier::SubstrateImportQueueVerifier;
18
19/// Consensus error type.
20#[derive(Debug, thiserror::Error)]
21pub enum Error {
22    #[error("Header uses the wrong engine {0:?}")]
23    WrongEngine([u8; 4]),
24    #[error("Multiple pre-runtime digests")]
25    MultiplePreRuntimeDigests,
26    #[error("bitcoin block hash not found in the header diegst")]
27    MissingBitcoinBlockHashDigest,
28    #[error("invalid bitcoin block hash in the header diegst")]
29    InvalidBitcoinBlockHashDigest,
30    #[error(transparent)]
31    Client(sp_blockchain::Error),
32    #[error(transparent)]
33    Codec(codec::Error),
34}