コード例 #1
0
    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
コード例 #2
0
    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:]))
コード例 #3
0
 def test_invalid_network(self):
     with raises(PrivateKey.UnknownNetwork):
         PrivateKey(network=-1)
コード例 #4
0
 def test_invalid_secret(self):
     with raises(PrivateKey.InvalidSecret):
         PrivateKey(-1)
     with raises(PrivateKey.InvalidSecret):
         PrivateKey(10**100)
コード例 #5
0
 def test_from_random(self):
     k1, k2 = PrivateKey(), PrivateKey()
     assert k1.secret != k2.secret