From 792b1016cd6f14e91a25f30b71ab2f936dc63b53 Mon Sep 17 00:00:00 2001
From: Moul <moul@moul.re>
Date: Sun, 8 Dec 2019 20:42:32 +0200
Subject: [PATCH] [feat] #113: Handle block signature verification

---
 duniterpy/key/verifying_key.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/duniterpy/key/verifying_key.py b/duniterpy/key/verifying_key.py
index 87a189c2..54bbae8b 100644
--- a/duniterpy/key/verifying_key.py
+++ b/duniterpy/key/verifying_key.py
@@ -11,6 +11,7 @@ import libnacl.sign
 import libnacl.encode
 
 from duniterpy.documents import Document
+from duniterpy.documents.block import Block
 from .base58 import Base58Encoder
 
 
@@ -34,7 +35,13 @@ class VerifyingKey(libnacl.sign.Verifier):
         :return:
         """
         signature = base64.b64decode(document.signatures[0])
-        prepended = signature + bytes(document.raw(), "ascii")
+        if isinstance(document, Block):
+            content_to_verify = "InnerHash: {0}\nNonce: {1}\n".format(
+                document.inner_hash, document.nonce
+            )
+        else:
+            content_to_verify = document.raw()
+        prepended = signature + bytes(content_to_verify, "ascii")
 
         try:
             self.verify(prepended)
-- 
GitLab