add foundry script
[electrum-server.git] / backends / bitcoind / storage.py
index 691b400..7658b49 100644 (file)
@@ -22,7 +22,6 @@ class Storage(object):
         self.shared = shared
         self.hash_list = {}
         self.parents = {}
-        self.root_hash = None
 
         self.test_reorgs = test_reorgs
         try:
@@ -55,6 +54,11 @@ class Storage(object):
             return
 
 
+        # compute root hash
+        d = self.get_node('')
+        self.root_hash, v = self.get_node_hash('',d,None)
+        print_log("UTXO tree root hash:", self.root_hash.encode('hex'))
+        print_log("Coins in database:", v)
 
     # convert between bitcoin addresses and 20 bytes keys used for storage. 
     def address_to_key(self, addr):
@@ -64,10 +68,13 @@ class Storage(object):
         return hash_160_to_bc_address(addr)
 
 
-    def get_address_path(self, addr):
+    def get_proof(self, addr):
         key = self.address_to_key(addr)
-        p = self.get_path(key) 
-        p.append(key)
+        i = self.db_utxo.iterator(start=key)
+        k, _ = i.next()
+
+        p = self.get_path(k) 
+        p.append(k)
 
         out = []
         for item in p: