Skip to content

Commit feaee60

Browse files
g1itchLee Miller
authored andcommitted
Add a test for WIF decoding and encoding
1 parent c1ca704 commit feaee60

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

src/tests/samples.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,13 @@
7373
sample_sig_sha1 = unhexlify(
7474
'30460221008ad234687d1bdc259932e28ea6ee091b88b0900d8134902aa8c2fd7f016b96e'
7575
'd022100dafb94e28322c2fa88878f9dcbf0c2d33270466ab3bbffaec3dca0a2d1ef9354')
76+
77+
# [chan] bitmessage
78+
sample_wif_privsigningkey = unhexlify(
79+
b'a2e8b841a531c1c558ee0680c396789c7a2ea3ac4795ae3f000caf9fe367d144')
80+
sample_wif_privencryptionkey = unhexlify(
81+
b'114ec0e2dca24a826a0eed064b0405b0ac148abc3b1d52729697f4d7b873fdc6')
82+
sample_privsigningkey_wif = \
83+
b'5K42shDERM5g7Kbi3JT5vsAWpXMqRhWZpX835M2pdSoqQQpJMYm'
84+
sample_privencryptionkey_wif = \
85+
b'5HwugVWm31gnxtoYcvcK7oywH2ezYTh6Y4tzRxsndAeMi6NHqpA'

src/tests/test_addresses.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import unittest
33
from binascii import unhexlify
44

5-
from pybitmessage import addresses
5+
from pybitmessage import addresses, highlevelcrypto
66

77
from .samples import (
88
sample_address, sample_daddr3_512, sample_daddr4_512,
99
sample_deterministic_addr4, sample_deterministic_addr3,
10-
sample_deterministic_ripe, sample_ripe)
10+
sample_deterministic_ripe, sample_ripe,
11+
sample_privsigningkey_wif, sample_privencryptionkey_wif,
12+
sample_wif_privsigningkey, sample_wif_privencryptionkey)
1113

1214
sample_addr3 = sample_deterministic_addr3.split('-')[1]
1315
sample_addr4 = sample_deterministic_addr4.split('-')[1]
@@ -59,3 +61,26 @@ def test_base58(self):
5961
sample_addr4, addresses.encodeBase58(sample_daddr4_512))
6062
self.assertEqual(
6163
sample_addr3, addresses.encodeBase58(sample_daddr3_512))
64+
65+
def test_wif(self):
66+
"""Decode WIFs of [chan] bitmessage and check the keys"""
67+
self.assertEqual(
68+
sample_wif_privsigningkey,
69+
highlevelcrypto.decodeWalletImportFormat(
70+
sample_privsigningkey_wif))
71+
self.assertEqual(
72+
sample_wif_privencryptionkey,
73+
highlevelcrypto.decodeWalletImportFormat(
74+
sample_privencryptionkey_wif))
75+
self.assertEqual(
76+
sample_privsigningkey_wif,
77+
highlevelcrypto.encodeWalletImportFormat(
78+
sample_wif_privsigningkey))
79+
self.assertEqual(
80+
sample_privencryptionkey_wif,
81+
highlevelcrypto.encodeWalletImportFormat(
82+
sample_wif_privencryptionkey))
83+
84+
with self.assertRaises(ValueError):
85+
highlevelcrypto.decodeWalletImportFormat(
86+
sample_privencryptionkey_wif[:-2])

0 commit comments

Comments
 (0)