Пример #1
0
def wif_to_key(wif):
    private_key_hex, compressed, version = wif_to_hex(wif)

    if version == 'main':
        if compressed:
            return PrivateKey.from_hex(private_key_hex)
        else:
            return PrivateKey(wif)
    else:
        if compressed:
            return PrivateKeyTestnet.from_hex(private_key_hex)
        else:
            return PrivateKeyTestnet(wif)
Пример #2
0
    def __init__(self, wif=None):
        if wif:
            if isinstance(wif, str):
                private_key_hex, compressed, version = wif_to_hex(wif)
                self._pk = derive_private_key(hex_to_int(private_key_hex))
            elif isinstance(wif, EllipticCurvePrivateKey):
                self._pk = wif
                compressed = True
            else:
                raise TypeError('Wallet Import Format must be a string.')
        else:
            self._pk = generate_private_key()
            compressed = True

        self._public_point = None
        self._public_key = point_to_public_key(
            self._pk.public_key().public_numbers(), compressed=compressed)
Пример #3
0
 def test_wif_to_hex_invalid_network(self):
     with pytest.raises(ValueError):
         wif_to_hex(BITCOIN_ADDRESS)
Пример #4
0
 def test_wif_to_hex_compressed(self):
     assert wif_to_hex(WALLET_FORMAT_COMPRESSED_MAIN) == (PRIVATE_KEY_HEX,
                                                          True, 'main')
Пример #5
0
 def test_wif_to_hex_test(self):
     assert wif_to_hex(WALLET_FORMAT_TEST) == (PRIVATE_KEY_HEX, False,
                                               'test')
Пример #6
0
 def test_wif_to_hex_main(self):
     assert wif_to_hex(WALLET_FORMAT_MAIN) == (PRIVATE_KEY_HEX, False,
                                               'main')