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/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.