diff --git a/Cargo.toml b/Cargo.toml index 9f3a584389..ec678b6fab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ readme = "README.md" [features] default = [ "secp-recovery" ] base64 = [ "base64-compat" ] -fuzztarget = ["bitcoin_hashes/fuzztarget"] +fuzztarget = [] unstable = [] rand = ["secp256k1/rand-std"] use-serde = ["serde", "bitcoin_hashes/serde", "secp256k1/serde"] @@ -22,12 +22,12 @@ secp-lowmemory = ["secp256k1/lowmemory"] secp-recovery = ["secp256k1/recovery"] [dependencies] -bech32 = "0.7.2" -bitcoin_hashes = "0.9.1" -secp256k1 = "0.20.0" +bech32 = "0.7.3" +bitcoin_hashes = "0.9.6" +secp256k1 = "0.20.2" base64-compat = { version = "1.0.0", optional = true } -bitcoinconsensus = { version = "0.19.0-1", optional = true } +bitcoinconsensus = { version = "0.19.0-3", optional = true } serde = { version = "1", features = [ "derive" ], optional = true } [dev-dependencies] diff --git a/src/blockdata/script.rs b/src/blockdata/script.rs index 2d5f5952f4..0b6dfbbaa6 100644 --- a/src/blockdata/script.rs +++ b/src/blockdata/script.rs @@ -105,7 +105,7 @@ display_from_debug!(Builder); /// Ways that a script might fail. Not everything is split up as /// much as it could be; patches welcome if more detailed errors /// would help you. -#[derive(PartialEq, Eq, Debug, Clone)] +#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)] pub enum Error { /// Something did a non-minimal push; for more information see /// `https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#Push_operators` diff --git a/src/lib.rs b/src/lib.rs index 1ceb42e6d2..26bf991e35 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -99,8 +99,8 @@ pub use util::ecdsa::PublicKey; #[cfg(all(test, feature = "unstable"))] mod tests { - use hashes::core::fmt::Arguments; use std::io::{IoSlice, Result, Write}; + use std::fmt::Arguments; #[derive(Default, Clone, Debug, PartialEq, Eq)] pub struct EmptyWrite; diff --git a/src/util/address.rs b/src/util/address.rs index ed082761b0..892beaee6d 100644 --- a/src/util/address.rs +++ b/src/util/address.rs @@ -49,7 +49,7 @@ use util::base58; use util::ecdsa; /// Address error. -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone)] pub enum Error { /// Base58 encoding error Base58(base58::Error), diff --git a/src/util/bip32.rs b/src/util/bip32.rs index 0934af0fa6..e512bd3907 100644 --- a/src/util/bip32.rs +++ b/src/util/bip32.rs @@ -423,16 +423,16 @@ impl fmt::Debug for DerivationPath { pub type KeySource = (Fingerprint, DerivationPath); /// A BIP32 error -#[derive(Clone, PartialEq, Eq, Debug)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] pub enum Error { /// A pk->pk derivation was attempted on a hardened key CannotDeriveFromHardenedKey, /// A secp256k1 error occurred - Ecdsa(secp256k1::Error), + Ecdsa(secp256k1::Error), // TODO: This is not necessary ECDSA error and should be renamed /// A child number was provided that was out of range InvalidChildNumber(u32), /// Error creating a master seed --- for application use - RngError(String), + RngError(String), // TODO: This option seems unused and should be removed, opening a way to make this type copiable /// Invalid childnumber format. InvalidChildNumberFormat, /// Invalid derivation path format. diff --git a/src/util/contracthash.rs b/src/util/contracthash.rs index 3e8a480932..9f42030e9c 100644 --- a/src/util/contracthash.rs +++ b/src/util/contracthash.rs @@ -36,7 +36,7 @@ use util::address; static PUBKEY: u8 = 0xFE; /// A contract-hash error -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] pub enum Error { /// Other secp256k1 related error Secp(secp256k1::Error), diff --git a/src/util/key.rs b/src/util/key.rs index 1fbc9caad3..2aa2e24748 100644 --- a/src/util/key.rs +++ b/src/util/key.rs @@ -26,7 +26,7 @@ use secp256k1; use util::base58; /// A key-related error. -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] pub enum Error { /// Base58 encoding error Base58(base58::Error), diff --git a/src/util/psbt/error.rs b/src/util/psbt/error.rs index 4c63d1581c..4f566d7817 100644 --- a/src/util/psbt/error.rs +++ b/src/util/psbt/error.rs @@ -21,7 +21,7 @@ use util::psbt::raw; use hashes; -#[derive(Copy, Clone, PartialEq, Eq, Debug)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] /// Enum for marking psbt hash error pub enum PsbtHash { Ripemd, @@ -30,7 +30,7 @@ pub enum PsbtHash { Hash256, } /// Ways that a Partially Signed Transaction might fail. -#[derive(Clone, PartialEq, Eq, Debug)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] pub enum Error { /// Magic bytes for a PSBT must be the ASCII for "psbt" serialized in most /// significant byte order.