electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

qt.py (1383B)


      1 from functools import partial
      2 
      3 from electrum.i18n import _
      4 from electrum.plugin import hook
      5 from electrum.wallet import Standard_Wallet, Abstract_Wallet
      6 
      7 from ..hw_wallet.qt import QtHandlerBase, QtPluginBase
      8 from ..hw_wallet.plugin import only_hook_if_libraries_available
      9 from .digitalbitbox import DigitalBitboxPlugin
     10 
     11 
     12 class Plugin(DigitalBitboxPlugin, QtPluginBase):
     13     icon_unpaired = "digitalbitbox_unpaired.png"
     14     icon_paired = "digitalbitbox.png"
     15 
     16     def create_handler(self, window):
     17         return DigitalBitbox_Handler(window)
     18 
     19     @only_hook_if_libraries_available
     20     @hook
     21     def receive_menu(self, menu, addrs, wallet: Abstract_Wallet):
     22         if type(wallet) is not Standard_Wallet:
     23             return
     24 
     25         keystore = wallet.get_keystore()
     26         if type(keystore) is not self.keystore_class:
     27             return
     28 
     29         if not self.is_mobile_paired():
     30             return
     31 
     32         if len(addrs) == 1:
     33             addr = addrs[0]
     34             if wallet.get_txin_type(addr) != 'p2pkh':
     35                 return
     36             def show_address():
     37                 keystore.thread.add(partial(self.show_address, wallet, addr, keystore))
     38 
     39             menu.addAction(_("Show on {}").format(self.device), show_address)
     40 
     41 
     42 class DigitalBitbox_Handler(QtHandlerBase):
     43 
     44     def __init__(self, win):
     45         super(DigitalBitbox_Handler, self).__init__(win, 'Digital Bitbox')