From 3592c13133a151a774872e73ba123871bc7a85ee Mon Sep 17 00:00:00 2001 From: Vladimir Komendantskiy Date: Sun, 10 Jun 2018 10:44:12 +0100 Subject: [PATCH] fixed propagation of common coin messages to the top level --- mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mod.rs b/mod.rs index 7b82d33..db100c4 100644 --- a/mod.rs +++ b/mod.rs @@ -72,7 +72,8 @@ impl Signature { pub fn parity(&self) -> bool { let uncomp = self.0.into_affine().into_uncompressed(); let bytes = uncomp.as_ref(); - let parity = 0 == bytes.last().expect("non-empty signature") % 2; + let xor_bytes: u8 = bytes.iter().fold(0, |result, byte| result ^ byte); + let parity = 0 == xor_bytes % 2; debug!("Signature: {:?}, output: {}", bytes, parity); parity }