Browse Source

display and encode only hex with OP_RETURN

master
ThomasV 11 years ago
parent
commit
9a6d98f899
  1. 10
      gui/qt/paytoedit.py
  2. 5
      lib/transaction.py

10
gui/qt/paytoedit.py

@ -66,17 +66,17 @@ class PayToEdit(ScanQRTextEdit):
self.setStyleSheet("QWidget { background-color:#ffcccc;}")
def parse_address_and_amount(self, line):
m = re.match('^OP_RETURN\s+"(.+)"$', line.strip())
m = re.match('^OP_RETURN\s+([0-9a-fA-F]+)$', line.strip())
if m:
type = 'op_return'
address = m.group(1)
_type = 'op_return'
address = m.group(1).decode('hex')
amount = 0
else:
x, y = line.split(',')
type = 'address'
_type = 'address'
address = self.parse_address(x)
amount = self.parse_amount(y)
return type, address, amount
return _type, address, amount
def parse_amount(self, x):

5
lib/transaction.py

@ -757,10 +757,7 @@ class Transaction:
elif type == 'pubkey':
addr = public_key_to_bc_address(x.decode('hex'))
elif type == 'op_return':
try:
addr = 'OP_RETURN: "' + x.decode('utf8') + '"'
except:
addr = 'OP_RETURN: "' + x.encode('hex') + '"'
addr = 'OP_RETURN ' + x.encode('hex')
else:
addr = "(None)"
o.append((addr,v)) # consider using yield (addr, v)

Loading…
Cancel
Save