def test_hash(self): announce = MasternodeAnnounce.deserialize(raw_announce) expected_hash = 'a8a3dc1782191f28f613c8971709a57ee58a4d0d7a11138804f89a0b088d67d1' msg = announce.serialize_for_sig() h = bitcoin.Hash(ecc.msg_magic(msg)) h = bitcoin.hash_encode(h) self.assertEqual(expected_hash, h)
def test_hash(self): announce = MasternodeAnnounce.deserialize(raw_announce_70210) expected_hash = '5f69e59f5ea327be16e649fb6c72ed02e39ef9dae8ecb27d222419e94dcd89b7' msg = announce.serialize_for_sig() h = bitcoin.Hash(ecc.msg_magic(msg)) h = bitcoin.hash_encode(h) self.assertEqual(expected_hash, h)
def load_wallet(self, wallet, window): self.wallet = wallet if not self.is_available(): return if self.listener is None: self.listener = Listener(self) self.listener.start() self.cosigner_list = [] for key, xpub in self.wallet.master_public_keys.items(): K = bitcoin.deserialize_xkey(xpub)[-1].encode('hex') _hash = bitcoin.Hash(K).encode('hex') if self.wallet.master_private_keys.get(key): self.listener.set_key(key, _hash) else: self.cosigner_list.append((xpub, K, _hash))
def update(self, window): wallet = window.wallet if type(wallet) != Multisig_Wallet: return if self.listener is None: self.print_error("starting listener") self.listener = Listener(self) self.listener.start() elif self.listener: self.print_error("shutting down listener") self.listener.stop() self.listener = None self.keys = [] self.cosigner_list = [] for key, keystore in wallet.keystores.items(): xpub = keystore.get_master_public_key() K = bitcoin.deserialize_xpub(xpub)[-1].encode('hex') _hash = bitcoin.Hash(K).encode('hex') if not keystore.is_watching_only(): self.keys.append((key, _hash, window)) else: self.cosigner_list.append((window, xpub, K, _hash)) if self.listener: self.listener.set_keyhashes([t[1] for t in self.keys])