Move the address module out of util

The identifier 'util' does not convey any information. We have a whole
bunch of modules inside the `util` module.

As part of work to reduce the amount of arbitrary things in the `util`
module move the `address` module to the crate root level.
This commit is contained in:
Tobin C. Harding 2022-08-05 13:37:41 +10:00
parent 6cc8b22f82
commit e1ae9d86bb
10 changed files with 17 additions and 11 deletions

View File

@ -6,7 +6,7 @@ use std::{env, process};
use bitcoin::hashes::hex::FromHex; use bitcoin::hashes::hex::FromHex;
use bitcoin::secp256k1::ffi::types::AlignedType; use bitcoin::secp256k1::ffi::types::AlignedType;
use bitcoin::secp256k1::Secp256k1; use bitcoin::secp256k1::Secp256k1;
use bitcoin::util::address::Address; use bitcoin::address::Address;
use bitcoin::util::bip32::{ChildNumber, DerivationPath, ExtendedPrivKey, ExtendedPubKey}; use bitcoin::util::bip32::{ChildNumber, DerivationPath, ExtendedPrivKey, ExtendedPubKey};
use bitcoin::PublicKey; use bitcoin::PublicKey;

View File

@ -35,7 +35,6 @@ use std::str::FromStr;
use bitcoin::consensus::encode; use bitcoin::consensus::encode;
use bitcoin::hashes::hex::{self, FromHex}; use bitcoin::hashes::hex::{self, FromHex};
use bitcoin::secp256k1::{Secp256k1, Signing, Verification}; use bitcoin::secp256k1::{Secp256k1, Signing, Verification};
use bitcoin::util::address;
use bitcoin::util::amount::ParseAmountError; use bitcoin::util::amount::ParseAmountError;
use bitcoin::util::bip32::{ use bitcoin::util::bip32::{
self, ChildNumber, DerivationPath, ExtendedPrivKey, ExtendedPubKey, Fingerprint, self, ChildNumber, DerivationPath, ExtendedPrivKey, ExtendedPubKey, Fingerprint,
@ -44,7 +43,7 @@ use bitcoin::util::bip32::{
use bitcoin::util::psbt::{self, Input, Psbt, PsbtSighashType}; use bitcoin::util::psbt::{self, Input, Psbt, PsbtSighashType};
use bitcoin::{ use bitcoin::{
Address, Amount, Network, OutPoint, PackedLockTime, PrivateKey, PublicKey, Script, Sequence, Address, Amount, Network, OutPoint, PackedLockTime, PrivateKey, PublicKey, Script, Sequence,
Transaction, TxIn, TxOut, Txid, Witness, Transaction, TxIn, TxOut, Txid, Witness, address,
}; };
use self::psbt_sign::*; use self::psbt_sign::*;

View File

@ -2,7 +2,7 @@ extern crate bitcoin;
use std::str::FromStr; use std::str::FromStr;
fn do_test(data: &[u8]) { fn do_test(data: &[u8]) {
let data_str = String::from_utf8_lossy(data); let data_str = String::from_utf8_lossy(data);
let addr = match bitcoin::util::address::Address::from_str(&data_str) { let addr = match bitcoin::address::Address::from_str(&data_str) {
Ok(addr) => addr, Ok(addr) => addr,
Err(_) => return, Err(_) => return,
}; };

View File

@ -1,6 +1,6 @@
extern crate bitcoin; extern crate bitcoin;
use bitcoin::util::address::Address; use bitcoin::address::Address;
use bitcoin::network::constants::Network; use bitcoin::network::constants::Network;
use bitcoin::blockdata::script; use bitcoin::blockdata::script;
use bitcoin::consensus::encode; use bitcoin::consensus::encode;

View File

@ -9,7 +9,7 @@
//! //!
//! ```rust //! ```rust
//! use bitcoin::network::constants::Network; //! use bitcoin::network::constants::Network;
//! use bitcoin::util::address::Address; //! use bitcoin::address::Address;
//! use bitcoin::PublicKey; //! use bitcoin::PublicKey;
//! use bitcoin::secp256k1::Secp256k1; //! use bitcoin::secp256k1::Secp256k1;
//! use bitcoin::secp256k1::rand::thread_rng; //! use bitcoin::secp256k1::rand::thread_rng;

View File

@ -32,7 +32,7 @@ use crate::policy::DUST_RELAY_TX_FEE;
use crate::OutPoint; use crate::OutPoint;
use crate::util::key::PublicKey; use crate::util::key::PublicKey;
use crate::util::address::WitnessVersion; use crate::address::WitnessVersion;
use crate::util::taproot::{LeafVersion, TapBranchHash, TapLeafHash}; use crate::util::taproot::{LeafVersion, TapBranchHash, TapLeafHash};
use secp256k1::{Secp256k1, Verification, XOnlyPublicKey}; use secp256k1::{Secp256k1, Verification, XOnlyPublicKey};
use crate::schnorr::{TapTweak, TweakedPublicKey, UntweakedPublicKey}; use crate::schnorr::{TapTweak, TweakedPublicKey, UntweakedPublicKey};

View File

@ -79,6 +79,7 @@ mod serde_utils;
#[macro_use] #[macro_use]
pub mod network; pub mod network;
pub mod address;
pub mod blockdata; pub mod blockdata;
pub mod consensus; pub mod consensus;
pub mod error; pub mod error;
@ -104,7 +105,7 @@ pub use crate::blockdata::witness::Witness;
pub use crate::consensus::encode::VarInt; pub use crate::consensus::encode::VarInt;
pub use crate::hash_types::*; pub use crate::hash_types::*;
pub use crate::network::constants::Network; pub use crate::network::constants::Network;
pub use crate::util::address::{Address, AddressType}; pub use crate::address::{Address, AddressType};
pub use crate::util::amount::{Amount, Denomination, SignedAmount}; pub use crate::util::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};

View File

@ -552,7 +552,7 @@ mod tests {
use crate::hashes::hex::{FromHex, ToHex}; use crate::hashes::hex::{FromHex, ToHex};
use crate::network::constants::Network::Testnet; use crate::network::constants::Network::Testnet;
use crate::network::constants::Network::Bitcoin; use crate::network::constants::Network::Bitcoin;
use crate::util::address::Address; use crate::address::Address;
#[test] #[test]
fn test_key_derivation() { fn test_key_derivation() {

View File

@ -32,7 +32,7 @@ mod message_signing {
use secp256k1::ecdsa::{RecoveryId, RecoverableSignature}; use secp256k1::ecdsa::{RecoveryId, RecoverableSignature};
use crate::util::key::PublicKey; use crate::util::key::PublicKey;
use crate::util::address::{Address, AddressType}; use crate::address::{Address, AddressType};
use crate::internal_macros::write_err; use crate::internal_macros::write_err;
/// An error used for dealing with Bitcoin Signed Messages. /// An error used for dealing with Bitcoin Signed Messages.

View File

@ -9,7 +9,6 @@
pub mod key; pub mod key;
pub mod ecdsa; pub mod ecdsa;
pub mod schnorr; pub mod schnorr;
pub mod address;
pub mod amount; pub mod amount;
pub mod base58; pub mod base58;
pub mod bip32; pub mod bip32;
@ -111,3 +110,10 @@ pub(crate) fn read_to_end<D: io::Read>(mut d: D) -> Result<Vec<u8>, io::Error> {
} }
Ok(result) Ok(result)
} }
/// The `address` module now lives at the crate root, re-export everything so as not to break the
/// API, however deprecate the re-exports so folks know to upgrade sooner or later.
#[deprecated(since = "0.30.0", note = "Please use crate::address")]
pub mod address {
pub use crate::address::*;
}