def test_roundtrip_wif(self): k1 = PrivateKey() k2 = PrivateKey.from_wif(k1.to_wif()) assert k1.secret == k2.secret assert k1.network is k2.network assert k1.compressed == k2.compressed
def test_from_invalid_wif(self): too_short = encode_base58h(b'a') too_long = encode_base58h(b'a' * 30) with raises(PrivateKey.InvalidWifLength): PrivateKey.from_wif(too_short) with raises(PrivateKey.InvalidWifLength): PrivateKey.from_wif(too_long) valid = decode_base58h(PrivateKey().to_wif()) with raises(PrivateKey.InvalidCompressionByte): PrivateKey.from_wif(encode_base58h(valid[:-1] + b'a')) with raises(PrivateKey.UnknownNetwork): PrivateKey.from_wif(encode_base58h(b'a' + valid[1:]))
def test_invalid_network(self): with raises(PrivateKey.UnknownNetwork): PrivateKey(network=-1)
def test_invalid_secret(self): with raises(PrivateKey.InvalidSecret): PrivateKey(-1) with raises(PrivateKey.InvalidSecret): PrivateKey(10**100)
def test_from_random(self): k1, k2 = PrivateKey(), PrivateKey() assert k1.secret != k2.secret