コード例 #1
0
 def test_encode_check(self):
     for a, b in self.vectors:
         self.assertEqual(base58.encode_check(unhexlify(a)), b)
     for a, b in self.vectors_graphene:
         self.assertEqual(
             base58.encode_check(unhexlify(a),
                                 digestfunc=digestfunc_graphene), b)
コード例 #2
0
def _public_key_to_wif(pub_key: bytes) -> str:
    if len(pub_key) == 65:
        head = 0x03 if pub_key[64] & 0x01 else 0x02
        compresed_pub_key = bytes([head]) + pub_key[1:33]
    elif len(pub_key) == 33:
        compresed_pub_key = pub_key
    else:
        raise wire.DataError("invalid public key length")
    return "EOS" + base58.encode_check(compresed_pub_key, _ripemd160_32)
コード例 #3
0
 def test_valid_address(self):
     # b58 -> cashaddr
     for b58, ca in VALID_ADDRESS:
         data = base58.decode_check(b58)
         version = data[0]
         if version == 5:
             version = 8
         enc = cashaddr.encode('bitcoincash', version, data[1:])
         self.assertEqual(ca, enc)
     # cashaddr -> base58
     for b58, ca in VALID_ADDRESS:
         prefix, addr = ca.split(':')
         version, data = cashaddr.decode(prefix, addr)
         if version == 8:
             version = 5
         enc = base58.encode_check(bytes([version]) + data)
         self.assertEqual(b58, enc)
コード例 #4
0
ファイル: addresses.py プロジェクト: stopstopstop/emu
def address_p2sh(redeem_script_hash: bytes, coin: CoinInfo) -> str:
    s = address_type.tobytes(coin.address_type_p2sh) + redeem_script_hash
    return base58.encode_check(bytes(s), coin.b58_hash)
コード例 #5
0
ファイル: addresses.py プロジェクト: stopstopstop/emu
def address_pkh(pubkey: bytes, coin: CoinInfo) -> str:
    s = address_type.tobytes(coin.address_type) + coin.script_hash(pubkey)
    return base58.encode_check(bytes(s), coin.b58_hash)
コード例 #6
0
def base58_encode_check(payload, prefix=None):
    result = payload
    if prefix is not None:
        result = TEZOS_PREFIX_BYTES[prefix] + payload
    return base58.encode_check(result)
コード例 #7
0
ファイル: addresses.py プロジェクト: vodelerk/trezor-core
def address_p2wpkh_in_p2sh(pubkey: bytes, addrtype: int) -> str:
    s = bytearray(21)
    s[0] = addrtype
    s[1:21] = address_p2wpkh_in_p2sh_raw(pubkey)
    return base58.encode_check(bytes(s))
コード例 #8
0
def _address_base58(address):
    return base58.encode_check(address)
コード例 #9
0
def _b58b(address):
    return base58.encode_check(bytes(address))
コード例 #10
0
ファイル: addresses.py プロジェクト: zhaojun-sh/trezor-core
def address_p2sh(redeem_script_hash: bytes, addrtype: int) -> str:
    s = addrtype_bytes(addrtype) + redeem_script_hash
    return base58.encode_check(bytes(s))
コード例 #11
0
ファイル: addresses.py プロジェクト: zhaojun-sh/trezor-core
def address_pkh(pubkey: bytes, addrtype: int) -> str:
    s = addrtype_bytes(addrtype) + sha256_ripemd160_digest(pubkey)
    return base58.encode_check(bytes(s))
コード例 #12
0
ファイル: addresses.py プロジェクト: technwallet/techn-core
def address_pkh(pubkey: bytes, coin: CoinInfo) -> str:
    s = address_type.tobytes(
        coin.address_type) + sha256_ripemd160_digest(pubkey)
    return base58.encode_check(bytes(s), coin.b58_hash)
コード例 #13
0
ファイル: helpers.py プロジェクト: vdovhanych/trezor-firmware
def base58_encode_check(payload: bytes, prefix: str | None = None) -> str:
    result = payload
    if prefix is not None:
        result = TEZOS_PREFIX_BYTES[prefix] + payload
    return base58.encode_check(result)