Move merkleblock into merkle_tree

Move the `merkleblock` module into the `merkle_tree` module in a
submodule called `block`. In order to do the minimum amount of changes
in this patch DO NOT rename types to improved naming and reduce stutter.

Note:

- block module is private
- the three types are re-exported from `merkle_block`

This patch purposefully does the minimum amount of changes because there
a whole bunch of improvements to the old "merkleblock" module that are
coming next.
This commit is contained in:
Tobin C. Harding 2022-11-15 11:18:09 +11:00
parent c89d9c48ac
commit 613107298d
5 changed files with 12 additions and 7 deletions

View File

@ -128,7 +128,7 @@ pub use crate::pow::{CompactTarget, Target, Work};
pub use crate::amount::{Amount, Denomination, SignedAmount}; pub use crate::amount::{Amount, Denomination, SignedAmount};
pub use crate::util::ecdsa::{self, EcdsaSig, EcdsaSigError}; pub use crate::util::ecdsa::{self, EcdsaSig, EcdsaSigError};
pub use crate::util::key::{KeyPair, PrivateKey, PublicKey, XOnlyPublicKey}; pub use crate::util::key::{KeyPair, PrivateKey, PublicKey, XOnlyPublicKey};
pub use crate::util::merkleblock::MerkleBlock; pub use crate::merkle_tree::MerkleBlock;
pub use crate::util::schnorr::{self, SchnorrSig, SchnorrSigError}; pub use crate::util::schnorr::{self, SchnorrSig, SchnorrSigError};
pub use crate::util::{psbt, Error}; pub use crate::util::{psbt, Error};

View File

@ -53,7 +53,7 @@ use crate::blockdata::block::{self, Block};
use crate::blockdata::transaction::Transaction; use crate::blockdata::transaction::Transaction;
use crate::blockdata::constants::{MAX_BLOCK_WEIGHT, MIN_TRANSACTION_WEIGHT}; use crate::blockdata::constants::{MAX_BLOCK_WEIGHT, MIN_TRANSACTION_WEIGHT};
use crate::consensus::encode::{self, Decodable, Encodable}; use crate::consensus::encode::{self, Decodable, Encodable};
use crate::util::merkleblock::MerkleBlockError::*; use crate::merkle_tree::MerkleBlockError::*;
/// An error when verifying the merkle block. /// An error when verifying the merkle block.
#[derive(Clone, PartialEq, Eq, Debug)] #[derive(Clone, PartialEq, Eq, Debug)]
@ -164,7 +164,7 @@ impl PartialMerkleTree {
/// ```rust /// ```rust
/// use bitcoin::hash_types::Txid; /// use bitcoin::hash_types::Txid;
/// use bitcoin::hashes::hex::FromHex; /// use bitcoin::hashes::hex::FromHex;
/// use bitcoin::util::merkleblock::PartialMerkleTree; /// use bitcoin::merkle_tree::{MerkleBlock, PartialMerkleTree};
/// ///
/// // Block 80000 /// // Block 80000
/// let txids: Vec<Txid> = [ /// let txids: Vec<Txid> = [
@ -520,6 +520,8 @@ impl Decodable for MerkleBlock {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*;
use core::cmp::min; use core::cmp::min;
use crate::hashes::Hash; use crate::hashes::Hash;
@ -528,7 +530,6 @@ mod tests {
use secp256k1::rand::prelude::*; use secp256k1::rand::prelude::*;
use crate::consensus::encode::{deserialize, serialize}; use crate::consensus::encode::{deserialize, serialize};
use crate::util::merkleblock::{MerkleBlock, PartialMerkleTree};
use crate::{merkle_tree, Block}; use crate::{merkle_tree, Block};
/// accepts `pmt_test_$num` /// accepts `pmt_test_$num`

View File

@ -14,6 +14,8 @@
//! let root = merkle_tree::calculate_root(tx_hashes.into_iter()); //! let root = merkle_tree::calculate_root(tx_hashes.into_iter());
//! ``` //! ```
mod block;
use core::iter; use core::iter;
use crate::prelude::*; use crate::prelude::*;
@ -24,6 +26,8 @@ use core::cmp::min;
use crate::hashes::Hash; use crate::hashes::Hash;
use crate::consensus::encode::Encodable; use crate::consensus::encode::Encodable;
pub use block::{MerkleBlock, PartialMerkleTree, MerkleBlockError};
/// Calculates the merkle root of a list of *hashes*, inline (in place) in `hashes`. /// Calculates the merkle root of a list of *hashes*, inline (in place) in `hashes`.
/// ///
/// In most cases, you'll want to use [`calculate_root`] instead. Please note, calling this function /// In most cases, you'll want to use [`calculate_root`] instead. Please note, calling this function

View File

@ -24,7 +24,7 @@ use crate::network::message_compact_blocks;
use crate::network::constants::Magic; use crate::network::constants::Magic;
use crate::consensus::encode::{CheckedData, Decodable, Encodable, VarInt}; use crate::consensus::encode::{CheckedData, Decodable, Encodable, VarInt};
use crate::consensus::{encode, serialize}; use crate::consensus::{encode, serialize};
use crate::util::merkleblock::MerkleBlock; use crate::merkle_tree::MerkleBlock;
/// The maximum number of [super::message_blockdata::Inventory] items in an `inv` message. /// The maximum number of [super::message_blockdata::Inventory] items in an `inv` message.
/// ///
@ -469,6 +469,8 @@ impl Decodable for RawNetworkMessage {
#[cfg(test)] #[cfg(test)]
mod test { mod test {
use super::*;
use std::net::Ipv4Addr; use std::net::Ipv4Addr;
use super::{RawNetworkMessage, NetworkMessage, CommandString}; use super::{RawNetworkMessage, NetworkMessage, CommandString};
use crate::network::constants::{ServiceFlags, Magic, Network}; use crate::network::constants::{ServiceFlags, Magic, Network};
@ -484,7 +486,6 @@ mod test {
use crate::blockdata::transaction::Transaction; use crate::blockdata::transaction::Transaction;
use crate::blockdata::script::Script; use crate::blockdata::script::Script;
use crate::network::message_bloom::{FilterAdd, FilterLoad, BloomFlags}; use crate::network::message_bloom::{FilterAdd, FilterLoad, BloomFlags};
use crate::MerkleBlock;
use crate::network::message_compact_blocks::{GetBlockTxn, SendCmpct}; use crate::network::message_compact_blocks::{GetBlockTxn, SendCmpct};
use crate::bip152::BlockTransactionsRequest; use crate::bip152::BlockTransactionsRequest;

View File

@ -10,7 +10,6 @@ pub mod key;
pub mod ecdsa; pub mod ecdsa;
pub mod schnorr; pub mod schnorr;
pub mod base58; pub mod base58;
pub mod merkleblock;
pub mod psbt; pub mod psbt;
pub mod taproot; pub mod taproot;