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: