commerceblock / ocean-wallet

CB Electrum wallet implementation
MIT License
3 stars 3 forks source link

redemption: Coins=>Spend From [last asset] #75

Open cryptopoly opened 5 years ago

cryptopoly commented 5 years ago

Traceback (most recent call last): File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/utxolist.py", line 74, in menu.addAction(("Redeem"), lambda: self.parent.redeem_coins(coins)) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/main_window.py", line 2371, in redeem_coins self.show_transaction(tx,tx_desc) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/main_window.py", line 810, in show_transaction show_transaction(tx, self, tx_desc) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/transaction_dialog.py", line 57, in show_transaction d = TxDialog(tx, parent, desc, prompt_if_unsaved) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/transaction_dialog.py", line 163, in init self.update() File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/gui/qt/transaction_dialog.py", line 233, in update size = self.tx.estimated_size() File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/util.py", line 336, in return lambda *args, *kw_args: do_profile(args, kw_args) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/util.py", line 332, in do_profile o = func(args, **kw_args) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1162, in estimated_size weight = self.estimated_weight() File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1214, in estimated_weight total_tx_size = self.estimated_total_size() File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1191, in estimated_total_size return len(self.serialize(True)) // 2 if not self.is_complete() or self.raw is None else len(self.raw) // 2 # ASCII hex string File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1088, in serialize network_ser = self.serialize_to_network(estimate_size, witness) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1103, in serialize_to_network txouts = var_int(len(outputs)) + ''.join(self.serialize_output(o) for o in outputs) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1103, in txouts = var_int(len(outputs)) + ''.join(self.serialize_output(o) for o in outputs) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 1053, in serialize_output script = self.pay_script(output.type, output.address) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/transaction.py", line 793, in pay_script return bitcoin.address_to_script(addr) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/bitcoin.py", line 304, in address_to_script witver, witprog = segwit_addr.decode(net.SEGWIT_HRP, addr) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/segwit_addr.py", line 105, in decode hrpgot, data = bech32_decode(addr) File "/Users/cryptopoly/DGLD/cb-client-wallet/electrum/segwit_addr.py", line 64, in bech32_decode if ((any(ord(x) 126 for x in bech)) or TypeError: 'NoneType' object is not iterable

Additional information Electrum version: 3.2.2-286-g483d6b89-dirty Python version: 3.7.3 (default, Mar 27 2019, 09:23:15) [Clang 10.0.1 (clang-1001.0.46.3)] Operating system: Darwin-19.0.0-x86_64-i386-64bit Wallet type: imported Locale: en_GB

nkostoulas commented 5 years ago

Happens when there are no unused addresses in the wallet, specifically the imported wallet. No straightforward way of solving this at the moment. Make sure you import an unused to proceed with redemption.