URI: 
       tload wallet plugin in Wallet factory, fix trustedcoin wizard on kivy - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit cb9dcb8e2674b39285917e864769322f705a1836
   DIR parent d73f7a2c1080ff564a123b67340dae02f31d2f1f
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Tue, 26 Feb 2019 09:44:34 +0100
       
       load wallet plugin in Wallet factory, fix trustedcoin wizard on kivy
       
       Diffstat:
         M electrum/json_db.py                 |       6 ------
         M electrum/plugins/trustedcoin/trust… |       1 +
         M electrum/wallet.py                  |       5 ++++-
       
       3 files changed, 5 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/electrum/json_db.py b/electrum/json_db.py
       t@@ -31,7 +31,6 @@ from typing import Dict
        
        from . import util, bitcoin
        from .util import PrintError, profiler, WalletFileException, multisig_type, TxMinedInfo
       -from .plugin import plugin_loaders
        from .keystore import bip44_derivation
        from .transaction import Transaction
        
       t@@ -105,11 +104,6 @@ class JsonDB(PrintError):
                if not isinstance(self.data, dict):
                    raise WalletFileException("Malformed wallet file (not dict)")
        
       -        # check here if I need to load a plugin
       -        t = self.get('wallet_type')
       -        l = plugin_loaders.get(t)
       -        if l: l()
       -
                if not self.manual_upgrades:
                    if self.requires_split():
                        raise WalletFileException("This wallet has multiple accounts and must be split")
   DIR diff --git a/electrum/plugins/trustedcoin/trustedcoin.py b/electrum/plugins/trustedcoin/trustedcoin.py
       t@@ -629,6 +629,7 @@ class TrustedCoinPlugin(BasePlugin):
                k3 = keystore.from_xpub(xpub3)
                wizard.data['x3/'] = k3.dump()
                wizard.pw_args = password, encrypt_storage, STO_EV_USER_PW
       +        wizard.terminate()
        
            def create_remote_key(self, email, wizard):
                xpub1 = wizard.data['x1/']['xpub']
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -54,7 +54,7 @@ from .util import multisig_type
        from .storage import STO_EV_PLAINTEXT, STO_EV_USER_PW, STO_EV_XPUB_PW, WalletStorage
        from . import transaction, bitcoin, coinchooser, paymentrequest, ecc, bip32
        from .transaction import Transaction, TxOutput, TxOutputHwInfo
       -from .plugin import run_hook
       +from .plugin import run_hook, plugin_loaders
        from .address_synchronizer import (AddressSynchronizer, TX_HEIGHT_LOCAL,
                                           TX_HEIGHT_UNCONF_PARENT, TX_HEIGHT_UNCONFIRMED)
        from .paymentrequest import (PR_PAID, PR_UNPAID, PR_UNKNOWN, PR_EXPIRED,
       t@@ -1838,6 +1838,9 @@ class Wallet(object):
        
            def __new__(self, storage):
                wallet_type = storage.get('wallet_type')
       +        # check here if I need to load a plugin
       +        if wallet_type in plugin_loaders:
       +            plugin_loaders[wallet_type]()
                WalletClass = Wallet.wallet_class(wallet_type)
                wallet = WalletClass(storage)
                # Convert hardware wallets restored with older versions of