URI: 
       tdirect interface for ultralight clients - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 36b9144d600b21fdd8ef438c382335cda6c545ea
   DIR parent 754fdcfa5098a860811809eaba9f2486150750d6
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sun, 15 Jan 2012 16:28:07 +0300
       
       direct interface for ultralight clients
       
       Diffstat:
         M server/server.py                    |      22 +++++++++++++++++++++-
       
       1 file changed, 21 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/server/server.py b/server/server.py
       t@@ -36,6 +36,11 @@ import ConfigParser
        from json import dumps, loads
        import urllib
        
       +# we need to import electrum
       +sys.path.append('../client/')
       +import electrum
       +
       +
        config = ConfigParser.ConfigParser()
        # set some defaults, which will be overwritten by the config file
        config.add_section('server')
       t@@ -319,6 +324,21 @@ class MyStore(Datastore_class):
        
        
        
       +class Direct_Interface(electrum.Interface):
       +    def __init__(self):
       +        pass
       +
       +    def handler(self, method, params = ''):
       +        cmds = {'session.new':new_session,
       +                'session.poll':poll_session,
       +                'session.update':update_session,
       +                'blockchain.transaction.broadcast':send_tx,
       +                'blockchain.address.get_history':store.get_history
       +                }
       +        func = cmds[method]
       +        return func( params )
       +
       +
        
        def send_tx(tx):
            postdata = dumps({"method": 'importtransaction', 'params': [tx], 'id':'jsonrpc'})
       t@@ -500,7 +520,7 @@ def do_command(cmd, data, ipaddr):
                master_public_key = k.decode('hex') # todo: sanitize. no need to decode twice...
                print master_public_key
                wallet_id = random_string(10)
       -        w = electrum.Wallet()
       +        w = electrum.Wallet( Direct_Interface() )
                w.master_public_key = master_public_key.decode('hex')
                w.synchronize()
                wallets[wallet_id] = w