consensus: Add a script verifier stub

Part of #428.
This commit is contained in:
teor 2020-06-10 14:09:11 +10:00 committed by Henry de Valence
parent ba61498a7f
commit c019726fb1
2 changed files with 23 additions and 0 deletions

View File

@ -18,6 +18,7 @@ use tower::{buffer::Buffer, Service};
use zebra_chain::block::Block;
mod script;
mod transaction;
/// Block verification service.

View File

@ -0,0 +1,22 @@
//! Script verification for Zebra.
//!
//! Verification occurs in multiple stages:
//! - getting transactions from blocks or the mempool (disk- or network-bound)
//! - context-free verification of scripts, signatures, and proofs (CPU-bound)
//! - context-dependent verification of transactions against the chain state
//! (awaits an up-to-date chain)
//!
//! Verification is provided via a `tower::Service`, to support backpressure and batch
//! verification.
//!
//! This is an internal module. Use `verify::BlockVerifier` for blocks and their
//! transactions, or `mempool::MempoolTransactionVerifier` for mempool transactions.
/// Internal script verification service.
///
/// After verification, the script future completes. State changes are handled by
/// `BlockVerifier` or `MempoolTransactionVerifier`.
///
/// `ScriptVerifier` is not yet implemented.
#[derive(Default)]
pub(crate) struct ScriptVerifier {}