def to_address(self, subkey, purpose): if purpose == 'p2wpkh': return bech32_encode(self.bech_prefix, [0] + convertbits(subkey.hash160(), 8, 5)) elif purpose == 'p2wsh': raise RuntimeError('no addresses can be generated for p2wsh') else: return b2a_hashed_base58(self.address_prefix + subkey.hash160())
def b58(args, parser): for arg in args.input: blob, is_hex_input = parse_arg(arg, args.b) if is_hex_input: print(b2h(blob)) print(b2a_base58(blob)) print(b2a_hashed_base58(blob)) else: print(b2h(blob)) print(b2a_base58(blob)) try: blob = a2b_hashed_base58(arg) print("valid hashed b58") print("contents: ", b2h(blob)) except Exception: print("not hashed b58")
def b58(args, parser): for arg in args.input: blob, is_hex_input = parse_arg(arg, args.b) if is_hex_input: print(b2h(blob)) print(b2a_base58(blob)) print(b2a_hashed_base58(blob)) else: print(b2h(blob)) print(b2a_base58(blob)) try: blob = a2b_hashed_base58(arg) print("valid hashed b58") print("contents: ", b2h(blob)) except Exception: print("not hashed b58")
def bip84_as_string(blob, as_private): prefix = ui_kwargs.get("bip84_%s_prefix" % ("prv" if as_private else "pub")) return b2a_hashed_base58(prefix + blob)
def wif_for_blob(blob): return b2a_hashed_base58(_wif_prefix + blob)
def b2a(self, blob): return b2a_hashed_base58(blob)
def change_prefix(address, new_prefix): return b2a_hashed_base58(new_prefix + key_from_text(address).hash160())
def get_address(self, key: BIP32Node) -> str: address_wallet_hash160 = key.hash160() return b2a_hashed_base58(h2b("00") + address_wallet_hash160)
def address_for_p2pkh(self, h160): if self._address_prefix: if 'GRS' in self._sec_prefix: return b2a_hashed_base58_grs(self._address_prefix + h160) return b2a_hashed_base58(self._address_prefix + h160) return "???"
def hashedBase58(x): """ Returns a base58check encoded hexstring """ return b2a_hashed_base58(binascii.unhexlify(x.encode()))
def address_for_p2pkh(self, h160): if self._address_prefix: return b2a_hashed_base58(self._address_prefix + h160) return "???"
def to_private(self, exponent): return b2a_hashed_base58(b'\x80' + to_bytes_32(exponent) + b'\01')
def wif_for_blob(self, blob): if 'GRS' in self._sec_prefix: return b2a_hashed_base58_grs(self._wif_prefix + blob) return b2a_hashed_base58(self._wif_prefix + blob)
def wif_for_blob(self, blob): return b2a_hashed_base58(self._wif_prefix + blob)
def bip32_as_string(self, blob, as_private): prefix = self._bip32_prv_prefix if as_private else self._bip32_pub_prefix return b2a_hashed_base58(prefix + blob)
def address_for_p2sh(self, h160): if self._pay_to_script_prefix: return b2a_hashed_base58(self._pay_to_script_prefix + h160) return "???"
def do_test(as_text, as_bin): self.assertEqual(as_text, b2a_hashed_base58(as_bin)) self.assertEqual(as_bin, a2b_hashed_base58(as_text)) self.assertTrue(is_hashed_base58_valid(as_text)) bogus_text = as_text[:-1] + chr(1+ord(as_text[-1])) self.assertFalse(is_hashed_base58_valid(bogus_text))
def do_test(as_text, as_bin): self.assertEqual(as_text, b2a_hashed_base58(as_bin)) self.assertEqual(as_bin, a2b_hashed_base58(as_text)) self.assertTrue(is_hashed_base58_valid(as_text)) bogus_text = as_text[:-1] + chr(1 + ord(as_text[-1])) self.assertFalse(is_hashed_base58_valid(bogus_text))
def bip32_as_string(self, blob, as_private): prefix = self._bip32_prv_prefix if as_private else self._bip32_pub_prefix return b2a_hashed_base58(prefix + blob)
def change_prefix(address, new_prefix): return b2a_hashed_base58(new_prefix + a2b_hashed_base58(address)[1:])
def change_prefix(address, new_prefix): return b2a_hashed_base58(new_prefix + a2b_hashed_base58(address)[1:])
def wif_for_blob(self, blob): return b2a_hashed_base58(self._wif_prefix + blob)
def address_for_p2pkh(self, h160): if self._address_prefix: return b2a_hashed_base58(self._address_prefix + h160) return "???"
def address_for_p2sh(self, h160): if self._pay_to_script_prefix: return b2a_hashed_base58(self._pay_to_script_prefix + h160) return "???"
def change_prefix(address, new_prefix): return b2a_hashed_base58(new_prefix + key_from_text(address).hash160())
def b2a(self, blob): return b2a_hashed_base58(blob)