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")) } }