From 7367daef9fff7f8bdc2f472ea94ecb475070ed26 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Wed, 22 Apr 2020 01:59:28 -0400 Subject: [PATCH] Tidy TransparentAddress FromStr/Display --- zebra-chain/src/addresses/sapling.rs | 13 +-- zebra-chain/src/addresses/transparent.rs | 127 ++++++++++------------- 2 files changed, 59 insertions(+), 81 deletions(-) diff --git a/zebra-chain/src/addresses/sapling.rs b/zebra-chain/src/addresses/sapling.rs index 15cc297a9..4870bb578 100644 --- a/zebra-chain/src/addresses/sapling.rs +++ b/zebra-chain/src/addresses/sapling.rs @@ -115,21 +115,18 @@ impl Arbitrary for SaplingShieldedAddress { mod tests { use rand_core::OsRng; - use std::str::FromStr; use super::*; #[test] fn from_str_display() { - let zs_addr = SaplingShieldedAddress::from_str( - "zs1qqqqqqqqqqqqqqqqqrjq05nyfku05msvu49mawhg6kr0wwljahypwyk2h88z6975u563j8nfaxd", - ) - .expect("sapling z-addr string to parse"); - - let address = zs_addr.to_string(); + let zs_addr: SaplingShieldedAddress = + "zs1qqqqqqqqqqqqqqqqqrjq05nyfku05msvu49mawhg6kr0wwljahypwyk2h88z6975u563j8nfaxd" + .parse() + .unwrap(); assert_eq!( - format!("{}", address), + format!("{}", zs_addr), "zs1qqqqqqqqqqqqqqqqqrjq05nyfku05msvu49mawhg6kr0wwljahypwyk2h88z6975u563j8nfaxd" ); } diff --git a/zebra-chain/src/addresses/transparent.rs b/zebra-chain/src/addresses/transparent.rs index ab2ba1ed6..1dd6f2ff0 100644 --- a/zebra-chain/src/addresses/transparent.rs +++ b/zebra-chain/src/addresses/transparent.rs @@ -60,62 +60,6 @@ pub enum TransparentAddress { }, } -impl TransparentAddress { - /// A hash of a transparent address payload, as used in - /// transparent pay-to-script-hash and pay-to-publickey-hash - /// addresses. - /// - /// The resulting hash in both of these cases is always exactly 20 - /// bytes. - /// https://en.bitcoin.it/Base58Check_encoding#Encoding_a_Bitcoin_address - fn hash_payload(bytes: &[u8]) -> [u8; 20] { - let sha_hash = Sha256::digest(bytes); - let ripe_hash = Ripemd160::digest(&sha_hash); - let mut payload = [0u8; 20]; - payload[..].copy_from_slice(&ripe_hash[..]); - payload - } -} - -impl From