standardize send_tx and new_session parameters
[electrum-server.git] / server.py
index 24ef436..5d48ee3 100755 (executable)
--- a/server.py
+++ b/server.py
@@ -324,7 +324,11 @@ def send_tx(tx):
     postdata = dumps({"method": 'importtransaction', 'params': [tx], 'id':'jsonrpc'})
     respdata = urllib.urlopen(bitcoind_url, postdata).read()
     r = loads(respdata)
-    return r 
+    if r['error'] != None:
+        out = "error: transaction rejected by memorypool"
+    else:
+        out = r['result']
+    return out
 
 
 
@@ -363,7 +367,7 @@ def get_cache(pw,addr):
         return 'wrong password'
 
 
-def cmd_poll(session_id):
+def poll_session(session_id):
     session = sessions.get(session_id)
     if session is None:
         print time.asctime(), "session not found", session_id
@@ -402,7 +406,7 @@ def cmd_poll(session_id):
         return out
 
 
-def new_session(addresses, version):
+def new_session(version, addresses):
     session_id = random_string(10)
     sessions[session_id] = { 'addresses':{}, 'version':version }
     for a in addresses:
@@ -478,7 +482,7 @@ def do_command(cmd, data, ipaddr):
             print "error", data
             return None
         print time.strftime("[%d/%m/%Y-%H:%M:%S]"), "new session", ipaddr, addresses[0] if addresses else addresses, len(addresses), version
-        out = new_session(addresses, version)
+        out = new_session(version, addresses)
 
     elif cmd=='update_session':
         try:
@@ -537,7 +541,7 @@ def do_command(cmd, data, ipaddr):
         out = ''
             
     elif cmd=='poll': 
-        out = cmd_poll(data)
+        out = poll_session(data)
 
     elif cmd == 'h': 
         # history
@@ -549,10 +553,6 @@ def do_command(cmd, data, ipaddr):
 
     elif cmd =='tx':
         r = send_tx(data)
-        if r['error'] != None:
-            out = "error: transaction rejected by memorypool"
-        else:
-            out = r['result']
         print "sent tx:", out
 
     elif cmd == 'stop':
@@ -663,7 +663,9 @@ def jsonrpc_thread(store):
     server.register_function(get_cache, 'get_cache')
     server.register_function(send_tx, 'blockchain.transaction.broadcast')
     server.register_function(store.get_history, 'blockchain.address.get_history')
-    server.register_function(new_session, 'new_session')
+    server.register_function(new_session, 'session.new')
+    server.register_function(update_session, 'session.update')
+    server.register_function(poll_session, 'session.poll')
     server.serve_forever()