Implement LowerHex and UpperHex for CompactTarget

This commit is contained in:
Vojtěch Toman 2023-11-25 23:26:57 +01:00
parent 71d92bdbb9
commit 58710dfb91
No known key found for this signature in database
GPG Key ID: 9DF8CA8C3FD8A614
1 changed files with 16 additions and 0 deletions

View File

@ -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)]
@ -1538,6 +1548,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)