From: ThomasV Date: Sun, 21 Oct 2012 20:38:03 +0000 (+0400) Subject: fix bug with merkle tree X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=commitdiff_plain;h=c68c49f695a4951a535a8536e60d8a5e373f317e fix bug with merkle tree --- diff --git a/backends/abe/__init__.py b/backends/abe/__init__.py index 13cd73d..65bd284 100644 --- a/backends/abe/__init__.py +++ b/backends/abe/__init__.py @@ -446,14 +446,14 @@ class AbeStore(Datastore_class): if len(merkle)%2: merkle.append( merkle[-1] ) n = [] while merkle: + new_hash = Hash( merkle[0] + merkle[1] ) if merkle[0] == target_hash: s.append( "L" + encode(merkle[1])) - n.append( target_hash ) + target_hash = new_hash elif merkle[1] == target_hash: s.append( "R" + encode(merkle[0])) - n.append( target_hash) - else: - n.append( Hash( merkle[0] + merkle[1] ) ) + target_hash = new_hash + n.append( new_hash ) merkle = merkle[2:] merkle = n