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