Skip to content

Commit

Permalink
Showing 2 changed files with 12 additions and 0 deletions.
11 changes: 11 additions & 0 deletions test/functional/test_framework/muhash.py
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
"""Native Python MuHash3072 implementation."""

import hashlib
import unittest

from .util import modinv

@@ -88,3 +89,13 @@ def digest(self):
val = (self.numerator * modinv(self.denominator, self.MODULUS)) % self.MODULUS
bytes384 = val.to_bytes(384, 'little')
return hashlib.sha256(bytes384).digest()

class TestFrameworkMuhash(unittest.TestCase):
def test_muhash(self):
muhash = MuHash3072()
muhash.insert([0]*32)
muhash.insert([1] + [0]*31)
muhash.remove([2] + [0]*31)
finalized = muhash.digest()
# This mirrors the result in the C++ MuHash3072 unit test
self.assertEqual(finalized[::-1].hex(), "a44e16d5e34d259b349af21c06e65d653915d2e208e4e03f389af750dc0bfdc3")
1 change: 1 addition & 0 deletions test/functional/test_runner.py
Original file line number Diff line number Diff line change
@@ -69,6 +69,7 @@
TEST_FRAMEWORK_MODULES = [
"address",
"blocktools",
"muhash",
"script",
"util",
]

0 comments on commit 0e2b400

Please sign in to comment.