from decimal import Decimal
from electrum.util import print_error
from electrum.bitcoin import is_valid
-from electrum import mnemonic, pyqrnative, WalletStorage, Wallet
+from electrum import mnemonic, WalletStorage, Wallet
Gdk.threads_init()
APP_NAME = "Electrum"
import platform
MONOSPACE_FONT = 'Lucida Console' if platform.system() == 'Windows' else 'monospace'
-from electrum.util import format_satoshis
+from electrum.util import format_satoshis, parse_URI
from electrum.network import DEFAULT_SERVERS
from electrum.bitcoin import MIN_RELAY_TX_FEE
entry.modify_base(Gtk.StateType.NORMAL, Gdk.color_parse("#ffffff"))
def set_url(self, url):
- payto, amount, label, message, signature, identity, url = self.wallet.parse_url(url, self.show_message, self.question)
+ payto, amount, label, message, payment_request = parse_URI(url)
self.notebook.set_current_page(1)
self.payto_entry.set_text(payto)
self.message_entry.set_text(message)
self.amount_entry.set_text(amount)
- if identity:
- self.set_frozen(self.payto_entry,True)
- self.set_frozen(self.amount_entry,True)
- self.set_frozen(self.message_entry,True)
- self.payto_sig_id.set_text( ' The bitcoin URI was signed by ' + identity )
- else:
- self.payto_sig.set_visible(False)
+ self.payto_sig.set_visible(False)
def create_about_tab(self):
from gi.repository import Pango
hbox.pack_start(button,False, False, 0)
def showqrcode(w, treeview, liststore):
+ import qrcode
path, col = treeview.get_cursor()
if not path: return
address = liststore.get_value(liststore.get_iter(path), 0)
- qr = pyqrnative.QRCode(4, pyqrnative.QRErrorCorrectLevel.H)
- qr.addData(address)
- qr.make()
+ qr = qrcode.QRCode()
+ qr.add_data(address)
boxsize = 7
- boxcount_row = qr.getModuleCount()
+ matrix = qr.get_matrix()
+ boxcount_row = len(matrix)
size = (boxcount_row + 4) * boxsize
def area_expose_cb(area, cr):
style = area.get_style()
Gdk.cairo_set_source_color(cr, style.black)
for r in range(boxcount_row):
for c in range(boxcount_row):
- if qr.isDark(r, c):
+ if matrix[r][c]:
cr.rectangle((c + 2) * boxsize, (r + 2) * boxsize, boxsize, boxsize)
cr.fill()
area = Gtk.DrawingArea()
time_str = 'pending'
inputs = map(lambda x: x.get('address'), tx.inputs)
- outputs = map(lambda x: x.get('address'), tx.d['outputs'])
+ outputs = map(lambda x: x[0], tx.get_outputs())
tx_details = "Transaction Details" +"\n\n" \
+ "Transaction ID:\n" + tx_hash + "\n\n" \
+ "Status: %d confirmations\n"%conf