from __future__ import absolute_import
import android
-from electrum import SimpleConfig, Wallet, WalletStorage, format_satoshis, mnemonic_encode, mnemonic_decode
-from electrum.bitcoin import is_valid
-from electrum import util
+from electrum_nvc import SimpleConfig, Wallet, WalletStorage, format_satoshis, mnemonic_encode, mnemonic_decode
+from electrum_nvc.bitcoin import is_valid
+from electrum_nvc import util
from decimal import Decimal
import datetime, re
droid.dialogShow()
response = droid.dialogGetResponse()
result = response.result
+ droid.dialogDismiss()
+
if result is None:
print "modal input: result is none"
- return False
- droid.dialogDismiss()
+ return modal_input(title, msg, value, etype)
+
if result.get('which') == 'positive':
return result.get('value')
droid.dialogShow()
response = droid.dialogGetResponse()
result = response.result
+ droid.dialogDismiss()
+
if result is None:
print "modal question: result is none"
- return False
- droid.dialogDismiss()
+ return modal_question(q,msg, pos_text, neg_text)
+
return result.get('which') == 'positive'
def edit_label(addr):
<TextView
android:id="@+id/textElectrum"
- android:text="Electrum"
+ android:text="Electrum-NVC"
android:textSize="7pt"
android:textColor="#ff4444ff"
android:gravity="left"
time_str = str( dt.time() )
else:
time_str = str( dt.date() )
- except:
+ except Exception:
time_str = 'pending'
conf_str = 'v' if conf else 'o'
try:
tx = wallet.mktx( [(recipient, amount)], password, fee)
- except BaseException, e:
+ except Exception as e:
modal_dialog('error', e.message)
droid.dialogDismiss()
return
if r:
data = r['extras']['SCAN_RESULT']
if data:
- if re.match('^bitcoin:', data):
- address, _, _, _, _, _, _ = util.parse_url(data)
+ if re.match('^novacoin:', data):
+ address, _, _, _, _ = util.parse_URI(data)
elif is_valid(data):
address = data
else:
amount = droid.fullQueryDetail('amount').result.get('text')
if not is_valid(recipient):
- modal_dialog('Error','Invalid Bitcoin address')
+ modal_dialog('Error','Invalid Novacoin address')
continue
try:
- amount = int( 100000000 * Decimal(amount) )
- except:
+ amount = int( 1000000 * Decimal(amount) )
+ except Exception:
modal_dialog('Error','Invalid amount')
continue
if r:
data = r['extras']['SCAN_RESULT']
if data:
- if re.match('^bitcoin:', data):
- payto, amount, label, _, _, _, _ = util.parse_url(data)
+ if re.match('^novacoin:', data):
+ payto, amount, label, _, _ = util.parse_URI(data)
droid.fullSetProperty("recipient", "text",payto)
droid.fullSetProperty("amount", "text", amount)
droid.fullSetProperty("label", "text", label)
password = None
try:
- seed = wallet.decode_seed(password)
- except:
+ seed = wallet.get_seed(password)
+ except Exception:
modal_dialog('error','incorrect password')
return
password = None
try:
- seed = wallet.decode_seed(password)
- except:
+ wallet.get_seed(password)
+ except Exception:
modal_dialog('error','incorrect password')
return
modal_dialog('error','passwords do not match')
return
- wallet.update_password(seed, password, new_password)
+ wallet.update_password(password, new_password)
if new_password:
modal_dialog('Password updated','your wallet is encrypted')
else:
def set_listview():
- server, port, p = network.default_server.split(':')
- fee = str( Decimal( wallet.fee)/100000000 )
+ host, port, p = network.default_server.split(':')
+ fee = str( Decimal( wallet.fee)/1000000 )
is_encrypted = 'yes' if wallet.use_encryption else 'no'
protocol = protocol_name(p)
droid.fullShow(settings_layout)
- droid.fullSetList("myListView",['Server: ' + server, 'Protocol: '+ protocol, 'Port: '+port, 'Transaction fee: '+fee, 'Password: '+is_encrypted, 'Seed'])
+ droid.fullSetList("myListView",['Server: ' + host, 'Protocol: '+ protocol, 'Port: '+port, 'Transaction fee: '+fee, 'Password: '+is_encrypted, 'Seed'])
set_listview()
network_changed = True
elif pos == "3": #fee
- fee = modal_input('Transaction fee', 'The fee will be this amount multiplied by the number of inputs in your transaction. ', str( Decimal( wallet.fee)/100000000 ), "numberDecimal")
+ fee = modal_input('Transaction fee', 'The fee will be this amount multiplied by the number of inputs in your transaction. ', str( Decimal( wallet.fee)/1000000 ), "numberDecimal")
if fee:
try:
- fee = int( 100000000 * Decimal(fee) )
- except:
+ fee = int( 1000000 * Decimal(fee) )
+ except Exception:
modal_dialog('error','invalid fee value')
wallet.set_fee(fee)
set_listview()
auto_connect = False
try:
network.set_parameters(host, port, protocol, proxy, auto_connect)
- except:
+ except Exception:
modal_dialog('error','invalid server')
set_listview()
if action == 'create':
wallet.init_seed(None)
self.show_seed()
- wallet.save_seed()
- wallet.create_accounts()
+ wallet.save_seed(None)
wallet.synchronize() # generate first addresses offline
elif action == 'restore':
if not seed:
exit()
wallet.init_seed(str(seed))
- wallet.save_seed()
+ wallet.save_seed(None)
else:
exit()
if not self.restore_wallet():
exit()
- self.password_dialog(wallet)
+ self.password_dialog()
else:
wallet = Wallet(storage)
m = modal_input('Mnemonic','please enter your code')
try:
seed = mnemonic_decode(m.split(' '))
- except:
+ except Exception:
modal_dialog('error: could not decode this seed')
return
def network_dialog(self):
return True
- def verify_seed(self):
- wallet.save_seed()
- return True
def show_seed(self):
modal_dialog('Your seed is:', wallet.seed)