コード例 #1
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_roundtrip_wif(self):
        k1 = PrivateKey.generate()
        k2 = PrivateKey.from_wif(k1.to_wif())

        assert k1.key.private_numbers().private_value == k2.key.private_numbers().private_value
        assert k1.network is k2.network
        assert k1.compressed == k2.compressed
コード例 #2
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
コード例 #3
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    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
コード例 #4
0
    def test_from_private_key(self):
        privkey = PrivateKey.from_hex(data['privkey_hex'])
        pubkey = PublicKey.from_private_key(privkey)

        assert pubkey.network is privkey.network
        assert pubkey.compressed == privkey.compressed
        assert pubkey.pair == data['pubkey_pair']
コード例 #5
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_from_bytes(self):

        k = PrivateKey.from_bytes(data['privkey_bin'])

        assert k.compressed is True
        assert k.network is network.default
        assert k.to_bytes() == data['privkey_bin']
コード例 #6
0
ファイル: test_pubkey.py プロジェクト: coinforge/bitforge
    def test_from_private_key(self):
        privkey = PrivateKey.from_hex(data['privkey_hex'])
        pubkey  = PublicKey.from_private_key(privkey)

        assert pubkey.network is privkey.network
        assert pubkey.compressed == privkey.compressed
        assert pubkey.pair == data['pubkey_pair']
コード例 #7
0
    def test_from_bytes(self):
        k = PrivateKey.from_bytes(data['privkey_bin'])

        assert k.to_hex() == data['privkey_hex']
        assert k.to_bytes() == data['privkey_bin']

        assert k.compressed is True
        assert k.network is networks.default
コード例 #8
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:]))
コード例 #9
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_bitcoind_valid_wifs(self, valid_wifs):
        for wif, secret_hex, attrs in valid_wifs:
            secret = encoding.b2i_bigendian(encoding.a2b_hex(secret_hex))
            network_ = network.testnet if attrs['isTestnet'] else network.livenet
            compressed = attrs['isCompressed']

            k = PrivateKey.from_wif(wif)

            assert k.key.private_numbers().private_value == secret
            assert k.network is network_
            assert k.compressed == compressed
コード例 #10
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    def test_bitcoind_valid_wifs(self, valid_wifs):
        for wif, secret_hex, attrs in valid_wifs:
            secret     = decode_int(decode_hex(secret_hex))
            network    = networks.testnet if attrs['isTestnet'] else networks.livenet
            compressed = attrs['isCompressed']

            k = PrivateKey.from_wif(wif)

            assert k.secret == secret
            assert k.network is network
            assert k.compressed == compressed
コード例 #11
0
    def test_bitcoind_valid_wifs(self, valid_wifs):
        for wif, secret_hex, attrs in valid_wifs:
            secret = decode_int(decode_hex(secret_hex))
            network = networks.testnet if attrs[
                'isTestnet'] else networks.livenet
            compressed = attrs['isCompressed']

            k = PrivateKey.from_wif(wif)

            assert k.secret == secret
            assert k.network is network
            assert k.compressed == compressed
コード例 #12
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    def test_from_invalid_wif(self):
        too_short = encode_base58h('a')
        too_long  = encode_base58h('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] + 'a'))

        with raises(PrivateKey.UnknownNetwork):
            PrivateKey.from_wif(encode_base58h('a' + valid[1:]))
コード例 #13
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_from_invalid_wif(self):
        too_short = encoding.b2a_base58check('a')

        with raises(privkey.InvalidEncoding):
            PrivateKey.from_wif(too_short)

        too_long = encoding.b2a_base58check('a' * 30)

        with raises(privkey.InvalidEncoding):
            PrivateKey.from_wif(too_long)

        valid = encoding.a2b_base58check(PrivateKey.generate().to_wif())

        with raises(privkey.InvalidEncoding):
            PrivateKey.from_wif(encoding.b2a_base58check(valid[:-1] + 'a'))

        with raises(privkey.InvalidEncoding):
            PrivateKey.from_wif(encoding.b2a_base58check('a' + valid[1:]))
コード例 #14
0
    def test_from_wif_test_uncompress(self):
        k = PrivateKey.from_wif(data['wif']['test_uncompress'])

        assert k.compressed is False
        assert k.network is networks.testnet
        assert k.to_wif() == data['wif']['test_uncompress']
コード例 #15
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    def test_from_wif_test_compress(self):
        k = PrivateKey.from_wif(data['wif']['test_compress'])

        assert k.compressed is True
        assert k.network is networks.testnet
        assert k.to_wif() == data['wif']['test_compress']
コード例 #16
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_from_invalid_secret_exponent(self, invalid_exponents):

        for exponent in invalid_exponents:
            with raises(privkey.InvalidExponent):
                PrivateKey.from_secret_exponent(exponent)
コード例 #17
0
 def test_invalid_secret(self):
     with raises(PrivateKey.InvalidSecret):
         PrivateKey(-1)
     with raises(PrivateKey.InvalidSecret):
         PrivateKey(10**100)
コード例 #18
0
 def test_to_pubkey_compressed(self):
     k = PrivateKey.from_wif(data['wif']['live_uncompress'])
     assert k.to_public_key().to_hex() == data['pubkey']['uncompress_hex']
コード例 #19
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
 def test_to_pubkey_compressed(self):
     k = PrivateKey.from_wif(data['wif']['live_uncompress'])
     assert k.to_public_key().to_hex() == data['pubkey']['uncompress_hex']
コード例 #20
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
 def test_bitcoind_invalid_wifs(self, invalid_wifs):
     for invalid_wif in invalid_wifs:
         with raises(PrivateKey.Error):
             PrivateKey.from_wif(invalid_wif)
コード例 #21
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    def test_from_wif_live_uncompress(self):
        k = PrivateKey.from_wif(data['wif']['live_uncompress'])

        assert k.compressed is False
        assert k.network is networks.livenet
        assert k.to_wif() == data['wif']['live_uncompress']
コード例 #22
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_from_invalid_bytes(self):
        with raises(privkey.InvalidEncoding):
            PrivateKey.from_bytes('a')

        with raises(privkey.InvalidEncoding):
            PrivateKey.from_bytes('a' * 33)
コード例 #23
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_generate_random_keys(self):

        k1 = PrivateKey.generate()
        k2 = PrivateKey.generate()
        assert k1.key.private_numbers() != k2.key.private_numbers()
コード例 #24
0
 def test_bitcoind_invalid_wifs(self, invalid_wifs):
     for invalid_wif in invalid_wifs:
         with raises(PrivateKey.Error):
             PrivateKey.from_wif(invalid_wif)
コード例 #25
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
 def test_to_address_test_uncompressed(self):
     k = PrivateKey.from_wif(data['wif']['test_uncompress'])
     assert k.to_address().to_string() == data['address']['test_uncompress']
コード例 #26
0
 def test_to_address_test_uncompressed(self):
     k = PrivateKey.from_wif(data['wif']['test_uncompress'])
     assert k.to_address().to_string() == data['address']['test_uncompress']
コード例 #27
0
 def test_from_invalid_hex(self):
     with raises(PrivateKey.InvalidHex):
         PrivateKey.from_hex('a')
     with raises(PrivateKey.InvalidHex):
         PrivateKey.from_hex('a@')
コード例 #28
0
 def test_from_random(self):
     k1, k2 = PrivateKey(), PrivateKey()
     assert k1.secret != k2.secret
コード例 #29
0
    def test_from_invalid_bytes(self):
        with raises(PrivateKey.InvalidBinaryLength):
            PrivateKey.from_bytes('a')

        with raises(PrivateKey.InvalidBinaryLength):
            PrivateKey.from_bytes('a' * 33)
コード例 #30
0
 def test_invalid_network(self):
     with raises(PrivateKey.UnknownNetwork):
         PrivateKey(network=-1)
コード例 #31
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
    def test_from_secret_exponent(self, valid_exponents):

        for exponent in valid_exponents:
            k = PrivateKey.from_secret_exponent(exponent)
            assert k.key.private_numbers().private_value == exponent
コード例 #32
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
 def test_from_invalid_hex(self):
     with raises(PrivateKey.InvalidHex): PrivateKey.from_hex('a')
     with raises(PrivateKey.InvalidHex): PrivateKey.from_hex('a@')
コード例 #33
0
ファイル: privkey.py プロジェクト: maraoz/bitforge
    def test_from_invalid_bytes(self):
        with raises(PrivateKey.InvalidBinaryLength):
            PrivateKey.from_bytes('a')

        with raises(PrivateKey.InvalidBinaryLength):
            PrivateKey.from_bytes('a' * 33)
コード例 #34
0
    def test_from_wif_live_compress(self):
        k = PrivateKey.from_wif(data['wif']['live_compress'])

        assert k.compressed is True
        assert k.network is networks.livenet
        assert k.to_wif() == data['wif']['live_compress']
コード例 #35
0
ファイル: privkey.py プロジェクト: Unepic/bitforge
 def test_bitcoind_invalid_wifs(self, invalid_wifs):
     for invalid_wif in invalid_wifs:
         with raises(privkey.InvalidEncoding):
             PrivateKey.from_wif(invalid_wif)