From 29d7a0e3c93600d26e3237a3e2c2fa4f9f592789 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Fri, 9 Mar 2018 16:32:20 +0100 Subject: [PATCH] [ethkey] Unify debug/display for Address/Public/Secret (#8076) * unify debug in ethkey * fix tests --- ethkey/cli/src/main.rs | 4 ++-- ethkey/src/secret.rs | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ethkey/cli/src/main.rs b/ethkey/cli/src/main.rs index 1c9b748a9..7268784f0 100644 --- a/ethkey/cli/src/main.rs +++ b/ethkey/cli/src/main.rs @@ -31,7 +31,7 @@ use std::{env, fmt, process, io, sync}; use docopt::Docopt; use ethkey::{KeyPair, Random, Brain, BrainPrefix, Prefix, Error as EthkeyError, Generator, sign, verify_public, verify_address, brain_recover}; -use rustc_hex::{ToHex, FromHex, FromHexError}; +use rustc_hex::{FromHex, FromHexError}; pub const USAGE: &'static str = r#" Ethereum keys generator. @@ -180,7 +180,7 @@ fn display(result: (KeyPair, Option), mode: DisplayMode) -> String { Some(extra_data) => format!("{}\n{}", extra_data, keypair), None => format!("{}", keypair) }, - DisplayMode::Secret => format!("{}", keypair.secret().to_hex()), + DisplayMode::Secret => format!("{:?}", keypair.secret()), DisplayMode::Public => format!("{:?}", keypair.public()), DisplayMode::Address => format!("{:?}", keypair.address()), } diff --git a/ethkey/src/secret.rs b/ethkey/src/secret.rs index 6273671b7..6e0548264 100644 --- a/ethkey/src/secret.rs +++ b/ethkey/src/secret.rs @@ -34,6 +34,12 @@ impl ToHex for Secret { } impl fmt::Debug for Secret { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + write!(fmt, "{:?}", self.inner) + } +} + +impl fmt::Display for Secret { fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { write!(fmt, "Secret: 0x{:x}{:x}..{:x}{:x}", self.inner[0], self.inner[1], self.inner[30], self.inner[31]) } @@ -168,7 +174,7 @@ impl Secret { if self.is_zero() { return Ok(()); } - + match pow { 0 => *self = key::ONE_KEY.into(), 1 => (),