tMerge pull request #3053 from kyuupichan/keepkey-fix - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit fe75699d3a2eb2254db381e70c14f1d540f55b24
 (DIR) parent fbb5b23e7834690645a6c5c585f35cb40504cb47
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Tue, 17 Oct 2017 11:25:08 +0200
       
       Merge pull request #3053 from kyuupichan/keepkey-fix
       
       Remove decrypt_message; no longer supported by Trezor or KeepKey
       Diffstat:
         M plugins/trezor/clientbase.py        |       2 +-
         M plugins/trezor/plugin.py            |      13 +++----------
       
       2 files changed, 4 insertions(+), 11 deletions(-)
       ---
 (DIR) diff --git a/plugins/trezor/clientbase.py b/plugins/trezor/clientbase.py
       t@@ -230,7 +230,7 @@ class TrezorClientBase(GuiMixin, PrintError):
        
            @staticmethod
            def wrap_methods(cls):
       -        for method in ['apply_settings', 'change_pin', 'decrypt_message',
       +        for method in ['apply_settings', 'change_pin',
                               'get_address', 'get_public_node',
                               'load_device_by_mnemonic', 'load_device_by_xprv',
                               'recovery_device', 'reset_device', 'sign_message',
 (DIR) diff --git a/plugins/trezor/plugin.py b/plugins/trezor/plugin.py
       t@@ -33,14 +33,7 @@ class TrezorCompatibleKeyStore(Hardware_KeyStore):
                return self.plugin.get_client(self, force_pair)
        
            def decrypt_message(self, sequence, message, password):
       -        raise RuntimeError(_('Electrum and %s encryption and decryption are currently incompatible') % self.device)
       -        client = self.get_client()
       -        address_path = self.get_derivation() + "/%d/%d"%sequence
       -        address_n = client.expand_path(address_path)
       -        payload = base64.b64decode(message)
       -        nonce, message, msg_hmac = payload[:33], payload[33:-8], payload[-8:]
       -        result = client.decrypt_message(address_n, nonce, message, msg_hmac)
       -        return result.message
       +        raise RuntimeError(_('Encryption and decryption are not implemented by %s') % self.device)
        
            def sign_message(self, sequence, message, password):
                client = self.get_client()
       t@@ -59,7 +52,7 @@ class TrezorCompatibleKeyStore(Hardware_KeyStore):
                for txin in tx.inputs():
                    pubkeys, x_pubkeys = tx.get_sorted_pubkeys(txin)
                    tx_hash = txin['prevout_hash']
       -            prev_tx[tx_hash] = txin['prev_tx'] 
       +            prev_tx[tx_hash] = txin['prev_tx']
                    for x_pubkey in x_pubkeys:
                        if not is_xpubkey(x_pubkey):
                            continue
       t@@ -100,7 +93,7 @@ class TrezorCompatiblePlugin(HW_PluginBase):
                    # raise
                    self.print_error("cannot connect at", device.path, str(e))
                    return None
       - 
       +
            def _try_bridge(self, device):
                self.print_error("Trying to connect over Trezor Bridge...")
                try: