From 532bbaf460d070e3ca559e6427c603aa59f5f9f4 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Fri, 13 Mar 2020 15:36:29 -0400 Subject: [PATCH] Impl zcash_deserialize for secp256k1::PublicKey --- zebra-chain/src/keys/transparent.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zebra-chain/src/keys/transparent.rs b/zebra-chain/src/keys/transparent.rs index 68a49b18b..e4435d79b 100644 --- a/zebra-chain/src/keys/transparent.rs +++ b/zebra-chain/src/keys/transparent.rs @@ -12,7 +12,10 @@ impl ZcashSerialize for PublicKey { } impl ZcashDeserialize for PublicKey { - fn zcash_deserialize(mut _reader: R) -> Result { - unimplemented!(); + fn zcash_deserialize(mut reader: R) -> Result { + let mut bytes = [0; 33]; + reader.read_exact(&mut bytes[..])?; + Self::from_slice(&bytes[..]) + .map_err(|_| SerializationError::Parse("weird secp256k1 compressed public key")) } }