From 29b213daca0701d20cf6bde1b6d4fb6f9e4ebc8b Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Wed, 17 Jul 2024 07:04:08 +1000 Subject: [PATCH] Move validation module to consensus_validation The `consensus` module is currently doing two things, validation and encoding. These two things are orthogonal. Move the `consensus::validation` module to `consensus_validation`. Remove the function re-exports from `consensus`. --- bitcoin/src/blockdata/transaction.rs | 2 +- bitcoin/src/consensus/mod.rs | 8 -------- .../{consensus/validation.rs => consensus_validation.rs} | 6 +++--- bitcoin/src/lib.rs | 2 ++ 4 files changed, 6 insertions(+), 12 deletions(-) rename bitcoin/src/{consensus/validation.rs => consensus_validation.rs} (97%) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index b9af14983..8bdbb98fc 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -1841,7 +1841,7 @@ mod tests { fn transaction_verify() { use std::collections::HashMap; - use crate::consensus::validation::TxVerifyError; + use crate::consensus_validation::TxVerifyError; use crate::witness::Witness; // a random recent segwit transaction from blockchain using both old and segwit inputs diff --git a/bitcoin/src/consensus/mod.rs b/bitcoin/src/consensus/mod.rs index daef74f9b..cfc06ab38 100644 --- a/bitcoin/src/consensus/mod.rs +++ b/bitcoin/src/consensus/mod.rs @@ -9,8 +9,6 @@ pub mod encode; pub mod params; #[cfg(feature = "serde")] pub mod serde; -#[cfg(feature = "bitcoinconsensus")] -pub mod validation; use core::fmt; @@ -26,12 +24,6 @@ pub use self::{ params::Params, }; -#[cfg(feature = "bitcoinconsensus")] -#[doc(inline)] -pub use self::validation::{ - verify_script, verify_script_with_flags, verify_transaction, verify_transaction_with_flags, -}; - struct IterReader>> { iterator: core::iter::Fuse, buf: Option, diff --git a/bitcoin/src/consensus/validation.rs b/bitcoin/src/consensus_validation.rs similarity index 97% rename from bitcoin/src/consensus/validation.rs rename to bitcoin/src/consensus_validation.rs index bd9e0c38d..ad13ca45b 100644 --- a/bitcoin/src/consensus/validation.rs +++ b/bitcoin/src/consensus_validation.rs @@ -10,14 +10,14 @@ use internals::write_err; use crate::amount::Amount; #[cfg(doc)] -use crate::consensus; +use crate::consensus_validation; use crate::consensus::encode; use crate::script::Script; use crate::transaction::{OutPoint, Transaction, TxOut}; /// Verifies spend of an input script. /// -/// Shorthand for [`consensus::verify_script_with_flags`] with flag +/// Shorthand for [`consensus_validation::verify_script_with_flags`] with flag /// [`bitcoinconsensus::VERIFY_ALL_PRE_TAPROOT`]. /// /// # Parameters @@ -72,7 +72,7 @@ pub fn verify_script_with_flags>( /// Verifies that this transaction is able to spend its inputs. /// -/// Shorthand for [`consensus::verify_transaction_with_flags`] with flag +/// Shorthand for [`consensus_validation::verify_transaction_with_flags`] with flag /// [`bitcoinconsensus::VERIFY_ALL_PRE_TAPROOT`]. /// /// The `spent` closure should not return the same [`TxOut`] twice! diff --git a/bitcoin/src/lib.rs b/bitcoin/src/lib.rs index fa45b34b7..5362b37ac 100644 --- a/bitcoin/src/lib.rs +++ b/bitcoin/src/lib.rs @@ -93,6 +93,8 @@ pub mod bip158; pub mod bip32; pub mod blockdata; pub mod consensus; +#[cfg(feature = "bitcoinconsensus")] +pub mod consensus_validation; // Private until we either make this a crate or flatten it - still to be decided. pub(crate) mod crypto; pub mod hash_types;