From 427a3fc9188754cd6e96eb9bd081459d8682de5c Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sat, 20 Jul 2024 02:04:01 +0000 Subject: [PATCH] devtools: Show P2PKH <--> TEX conversion when inspecting one side --- devtools/src/bin/inspect/address.rs | 87 +++++++++++++++++------------ 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/devtools/src/bin/inspect/address.rs b/devtools/src/bin/inspect/address.rs index a8213a099..1c5aca033 100644 --- a/devtools/src/bin/inspect/address.rs +++ b/devtools/src/bin/inspect/address.rs @@ -104,45 +104,60 @@ pub(crate) fn inspect(addr: ZcashAddress) { } ); - if let AddressKind::Unified(ua) = addr.kind { - eprintln!(" - Receivers:"); - for receiver in ua.items() { - match receiver { - unified::Receiver::Orchard(data) => { - eprintln!( - " - Orchard ({})", - unified::Address::try_from_items(vec![unified::Receiver::Orchard( - data - )]) - .unwrap() - .encode(&addr.net) - ); - } - unified::Receiver::Sapling(data) => { - eprintln!( - " - Sapling ({})", - ZcashAddress::from_sapling(addr.net, data) - ); - } - unified::Receiver::P2pkh(data) => { - eprintln!( - " - Transparent P2PKH ({})", - ZcashAddress::from_transparent_p2pkh(addr.net, data) - ); - } - unified::Receiver::P2sh(data) => { - eprintln!( - " - Transparent P2SH ({})", - ZcashAddress::from_transparent_p2sh(addr.net, data) - ); - } - unified::Receiver::Unknown { typecode, data } => { - eprintln!(" - Unknown"); - eprintln!(" - Typecode: {}", typecode); - eprintln!(" - Payload: {}", hex::encode(data)); + match addr.kind { + AddressKind::Unified(ua) => { + eprintln!(" - Receivers:"); + for receiver in ua.items() { + match receiver { + unified::Receiver::Orchard(data) => { + eprintln!( + " - Orchard ({})", + unified::Address::try_from_items(vec![ + unified::Receiver::Orchard(data) + ]) + .unwrap() + .encode(&addr.net) + ); + } + unified::Receiver::Sapling(data) => { + eprintln!( + " - Sapling ({})", + ZcashAddress::from_sapling(addr.net, data) + ); + } + unified::Receiver::P2pkh(data) => { + eprintln!( + " - Transparent P2PKH ({})", + ZcashAddress::from_transparent_p2pkh(addr.net, data) + ); + } + unified::Receiver::P2sh(data) => { + eprintln!( + " - Transparent P2SH ({})", + ZcashAddress::from_transparent_p2sh(addr.net, data) + ); + } + unified::Receiver::Unknown { typecode, data } => { + eprintln!(" - Unknown"); + eprintln!(" - Typecode: {}", typecode); + eprintln!(" - Payload: {}", hex::encode(data)); + } } } } + AddressKind::P2pkh(data) => { + eprintln!( + " - Corresponding TEX: {}", + ZcashAddress::from_tex(addr.net, data), + ); + } + AddressKind::Tex(data) => { + eprintln!( + " - Corresponding P2PKH: {}", + ZcashAddress::from_transparent_p2pkh(addr.net, data), + ); + } + _ => (), } } }