From ae1f8f460997a4d7dfa7552f27b481e81da6cfa2 Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Wed, 8 Sep 2021 15:21:39 +1000 Subject: [PATCH 1/2] Bump bitcoin_hashes to version 0.10 Requires for interoperability of the `ThirtyTwoByteHash` trait with rust-bitcoin. --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e545b2e..d2cce2a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ global-context-less-secure = [] [dependencies] secp256k1-sys = { version = "0.4.1", default-features = false, path = "./secp256k1-sys" } -bitcoin_hashes = { version = "0.9", optional = true } +bitcoin_hashes = { version = "0.10", optional = true } rand = { version = "0.6", default-features = false, optional = true } serde = { version = "1.0", default-features = false, optional = true } @@ -39,7 +39,7 @@ serde = { version = "1.0", default-features = false, optional = true } rand = "0.6" rand_core = "0.4" serde_test = "1.0" -bitcoin_hashes = "0.9" +bitcoin_hashes = "0.10" [target.wasm32-unknown-unknown.dev-dependencies] wasm-bindgen-test = "0.3" From bc42529a16667486fee2c06cc32cab7bdb8e3c85 Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Wed, 8 Sep 2021 15:46:38 +1000 Subject: [PATCH 2/2] Rename `secp256k1::bitcoin_hashes` module to `secp256k1::hashes` --- CHANGELOG.md | 5 ++++- src/lib.rs | 28 ++++++++++++++-------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de5fec5..b260f90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# Unreleased + +* Rename `secp256k1::bitcoin_hashes` module to `secp256k1::hashes` to align with `bitcoin` crate naming. # 0.20.3 - 2021-06-10 @@ -35,7 +38,7 @@ # 0.18.0 - 2020-08-26 * Add feature-gated `bitcoin_hashes` dependency and [`ThirtyTwoByteHash` trait](https://github.com/rust-bitcoin/rust-secp256k1/pull/206/) -* Add feature-gated [global static context](https://github.com/rust-bitcoin/rust-secp256k1/pull/224) +* Add feature-gated [global static context](https://github.com/rust-bitcoin/rust-secp256k1/pull/224) * Allow [all-zero messages](https://github.com/rust-bitcoin/rust-secp256k1/pull/207) to be constructed * Bump rust-secp-sys to 0.2.0 diff --git a/src/lib.rs b/src/lib.rs index a32a2af..8ad1d82 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -40,7 +40,7 @@ //! # #[cfg(all(feature="rand", feature="bitcoin_hashes"))] { //! use secp256k1::rand::rngs::OsRng; //! use secp256k1::{Secp256k1, Message}; -//! use secp256k1::bitcoin_hashes::sha256; +//! use secp256k1::hashes::sha256; //! //! let secp = Secp256k1::new(); //! let mut rng = OsRng::new().expect("OsRng"); @@ -126,7 +126,7 @@ pub extern crate secp256k1_sys; pub use secp256k1_sys as ffi; -#[cfg(feature = "bitcoin_hashes")] pub extern crate bitcoin_hashes; +#[cfg(feature = "bitcoin_hashes")] pub extern crate bitcoin_hashes as hashes; #[cfg(all(test, feature = "unstable"))] extern crate test; #[cfg(any(test, feature = "rand"))] pub extern crate rand; #[cfg(any(test))] extern crate rand_core; @@ -163,7 +163,7 @@ use ffi::{CPtr, types::AlignedType}; pub use context::global::SECP256K1; #[cfg(feature = "bitcoin_hashes")] -use bitcoin_hashes::Hash; +use hashes::Hash; /// An ECDSA signature #[derive(Copy, Clone, PartialEq, Eq)] @@ -212,21 +212,21 @@ pub trait ThirtyTwoByteHash { } #[cfg(feature = "bitcoin_hashes")] -impl ThirtyTwoByteHash for bitcoin_hashes::sha256::Hash { +impl ThirtyTwoByteHash for hashes::sha256::Hash { fn into_32(self) -> [u8; 32] { self.into_inner() } } #[cfg(feature = "bitcoin_hashes")] -impl ThirtyTwoByteHash for bitcoin_hashes::sha256d::Hash { +impl ThirtyTwoByteHash for hashes::sha256d::Hash { fn into_32(self) -> [u8; 32] { self.into_inner() } } #[cfg(feature = "bitcoin_hashes")] -impl ThirtyTwoByteHash for bitcoin_hashes::sha256t::Hash { +impl ThirtyTwoByteHash for hashes::sha256t::Hash { fn into_32(self) -> [u8; 32] { self.into_inner() } @@ -497,8 +497,8 @@ impl Message { /// assert_eq!(m1, m2); /// ``` #[cfg(feature = "bitcoin_hashes")] - pub fn from_hashed_data(data: &[u8]) -> Self { - ::hash(data).into() + pub fn from_hashed_data(data: &[u8]) -> Self { + ::hash(data).into() } } @@ -1291,25 +1291,25 @@ mod tests { #[cfg(feature = "bitcoin_hashes")] #[test] fn test_from_hash() { - use bitcoin_hashes; - use bitcoin_hashes::Hash; + use hashes; + use hashes::Hash; let test_bytes = "Hello world!".as_bytes(); - let hash = bitcoin_hashes::sha256::Hash::hash(test_bytes); + let hash = hashes::sha256::Hash::hash(test_bytes); let msg = Message::from(hash); assert_eq!(msg.0, hash.into_inner()); assert_eq!( msg, - Message::from_hashed_data::(test_bytes) + Message::from_hashed_data::(test_bytes) ); - let hash = bitcoin_hashes::sha256d::Hash::hash(test_bytes); + let hash = hashes::sha256d::Hash::hash(test_bytes); let msg = Message::from(hash); assert_eq!(msg.0, hash.into_inner()); assert_eq!( msg, - Message::from_hashed_data::(test_bytes) + Message::from_hashed_data::(test_bytes) ); } }