Merge branch 'master' of gitorious.org:electrum/server
authorgenjix <fake@lol.u>
Sun, 25 Mar 2012 18:01:11 +0000 (19:01 +0100)
committergenjix <fake@lol.u>
Sun, 25 Mar 2012 18:01:11 +0000 (19:01 +0100)
modules/python_bitcoin/__init__.py
modules/python_bitcoin/__init__.pyc [deleted file]
modules/python_bitcoin/composed.py

index fd3afd8..db104df 100644 (file)
@@ -122,6 +122,7 @@ class NumblocksSubscribe:
         subscribed = self.spring_clean()
         for session, request in subscribed:
             session.push_response({"id": request["id"], "result": latest})
+        self.backend.blockchain.subscribe_reorganize(self.reorganize)
 
     def spring_clean(self):
         with self.lock:
@@ -160,6 +161,9 @@ class LibbitcoinProcessor(stratum.Processor):
             self.numblocks_subscribe.subscribe(session, request)
         elif request["method"] == "address.get_history":
             self.address_get_history.get(session, request)
+        elif request["method"] == "server.banner":
+            session.push_response({"id": request["id"],
+                "result": "libbitcoin using python-bitcoin bindings"})
         # Execute and when ready, you call
         # session.push_response(response)
 
diff --git a/modules/python_bitcoin/__init__.pyc b/modules/python_bitcoin/__init__.pyc
deleted file mode 100644 (file)
index ecdac5c..0000000
Binary files a/modules/python_bitcoin/__init__.pyc and /dev/null differ
index e36f151..c8b0f4a 100644 (file)
@@ -31,6 +31,7 @@ class StatementLine:
         self.output_loaded = None
         self.input_point = None
         self.input_loaded = None
+        self.raw_output_script = None
 
     def is_loaded(self):
         with self.lock:
@@ -85,6 +86,9 @@ class PaymentHistory:
             if line.input_point:
                 line.input_loaded["value"] = -line.output_loaded["value"]
                 result.append(line.input_loaded)
+            else:
+                line.output_loaded["raw_output_script"] = \
+                    line.raw_output_script
             result.append(line.output_loaded)
         self.handle_finish(result)
         self.stop()
@@ -134,7 +138,11 @@ class PaymentHistory:
         if info["is_in"] == 1:
             info["inputs"][info["pos"]] = self.address
         else:
-            info["value"] = tx.outputs[info["pos"]].value
+            our_output = tx.outputs[info["pos"]]
+            info["value"] = our_output.value
+            with statement_line.lock:
+                statement_line.raw_output_script = \
+                    str(bitcoin.save_script(our_output.output_script))
         if not [empty_in for empty_in in info["inputs"] if empty_in is None]:
             # We have the sole input
             assert(info["is_in"] == 1)