Browse Source

receipts. 'list' command to list variables.

283
thomasv 13 years ago
parent
commit
90cd03e093
  1. 9
      client/electrum
  2. 1
      client/gui.py
  3. 7
      client/wallet.py

9
client/electrum

@ -30,7 +30,7 @@ urldecode = lambda x: _ud.sub(lambda m: chr(int(m.group(1), 16)), x)
if __name__ == '__main__': if __name__ == '__main__':
known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'payto', 'sendtx', 'password', 'newaddress', 'addresses', 'history', 'label', 'gui', 'mktx','seed','import','signmessage','verifymessage'] known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'payto', 'sendtx', 'password', 'newaddress', 'addresses', 'history', 'label', 'gui', 'mktx','seed','import','signmessage','verifymessage','list']
usage = "usage: %prog [options] command args\nCommands: "+ (', '.join(known_commands)) usage = "usage: %prog [options] command args\nCommands: "+ (', '.join(known_commands))
@ -147,7 +147,7 @@ if __name__ == '__main__':
cmd = 'help' cmd = 'help'
# open session # open session
if cmd not in ['password', 'mktx', 'history', 'label', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage']: if cmd not in ['password', 'mktx', 'history', 'label', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage', 'list']:
wallet.interface.new_session(wallet.all_addresses(), wallet.electrum_version) wallet.interface.new_session(wallet.all_addresses(), wallet.electrum_version)
wallet.update() wallet.update()
wallet.save() wallet.save()
@ -237,6 +237,11 @@ if __name__ == '__main__':
for addr in wallet.addressbook: for addr in wallet.addressbook:
print addr, " ", wallet.labels.get(addr) print addr, " ", wallet.labels.get(addr)
elif cmd == 'list':
objname = args[1]
obj = eval("wallet."+objname)
print obj
elif cmd in [ 'addresses']: elif cmd in [ 'addresses']:
for addr in wallet.all_addresses(): for addr in wallet.all_addresses():
if options.show_all or not wallet.is_change(addr): if options.show_all or not wallet.is_change(addr):

1
client/gui.py

@ -786,6 +786,7 @@ class BitcoinGUI:
return return
try: try:
self.wallet.verify_message(signing_address, signature, cmd ) self.wallet.verify_message(signing_address, signature, cmd )
self.wallet.receipt = (signing_address, signature, cmd)
except: except:
self.show_message('Warning: the URI contains a bad signature.\nThe identity of the recipient cannot be verified.') self.show_message('Warning: the URI contains a bad signature.\nThe identity of the recipient cannot be verified.')
payto = amount = label = identity = '' payto = amount = label = identity = ''

7
client/wallet.py

@ -238,6 +238,8 @@ class Wallet:
self.history = {} self.history = {}
self.labels = {} # labels for addresses and transactions self.labels = {} # labels for addresses and transactions
self.aliases = {} # aliases for addresses self.aliases = {} # aliases for addresses
self.receipts = {} # signed URIs
self.receipt = None # next receipt
self.addressbook = [] # outgoing addresses, for payments self.addressbook = [] # outgoing addresses, for payments
# not saved # not saved
@ -477,6 +479,7 @@ class Wallet:
'contacts':self.addressbook, 'contacts':self.addressbook,
'imported_keys':self.imported_keys, 'imported_keys':self.imported_keys,
'aliases':self.aliases, 'aliases':self.aliases,
'receipts':self.receipts,
} }
f = open(self.path,"w") f = open(self.path,"w")
f.write( repr(s) ) f.write( repr(s) )
@ -508,6 +511,7 @@ class Wallet:
self.addressbook = d.get('contacts') self.addressbook = d.get('contacts')
self.imported_keys = d.get('imported_keys',{}) self.imported_keys = d.get('imported_keys',{})
self.aliases = d.get('aliases',{}) self.aliases = d.get('aliases',{})
self.receipts = d.get('receipts',{})
except: except:
raise BaseException(upgrade_msg) raise BaseException(upgrade_msg)
@ -705,6 +709,9 @@ class Wallet:
out = self.interface.send_tx(tx) out = self.interface.send_tx(tx)
if out != tx_hash: if out != tx_hash:
return False, "error: " + out return False, "error: " + out
if self.receipt:
self.receipts[tx_hash] = self.receipt
self.receipt = None
return True, out return True, out
def get_alias(self, x): def get_alias(self, x):

Loading…
Cancel
Save