diff --git a/bitcoin/src/pow.rs b/bitcoin/src/pow.rs index bb095b07..9387bb4f 100644 --- a/bitcoin/src/pow.rs +++ b/bitcoin/src/pow.rs @@ -306,6 +306,16 @@ impl Decodable for CompactTarget { } } +impl LowerHex for CompactTarget { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { LowerHex::fmt(&self.0, f) } +} + +impl UpperHex for CompactTarget { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { UpperHex::fmt(&self.0, f) } +} + /// Big-endian 256 bit integer type. // (high, low): u.0 contains the high bits, u.1 contains the low bits. #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1536,6 +1546,12 @@ mod tests { assert!(result.is_err()); } + #[test] + fn compact_target_lower_hex_and_upper_hex() { + assert_eq!(format!("{:08x}", CompactTarget(0x01D0F456)), "01d0f456"); + assert_eq!(format!("{:08X}", CompactTarget(0x01d0f456)), "01D0F456"); + } + #[test] fn target_from_compact() { // (nBits, target)