A test for random address generation #2213

Merged
PeterSurda merged 2 commits from gitea-87 into v0.6 2024-04-16 06:17:13 +02:00
3 changed files with 21 additions and 6 deletions

View File

@ -201,10 +201,11 @@ class singleWorker(StoppableThread):
'Could not read or decode privkey for address %s', address)
raise ValueError
privSigningKeyHex = hexlify(
highlevelcrypto.decodeWalletImportFormat(privSigningKeyBase58))
privSigningKeyHex = hexlify(highlevelcrypto.decodeWalletImportFormat(
privSigningKeyBase58.encode()))
privEncryptionKeyHex = hexlify(
highlevelcrypto.decodeWalletImportFormat(privEncryptionKeyBase58))
highlevelcrypto.decodeWalletImportFormat(
privEncryptionKeyBase58.encode()))
# The \x04 on the beginning of the public keys are not sent.
# This way there is only one acceptable way to encode
@ -1113,7 +1114,7 @@ class singleWorker(StoppableThread):
continue
privEncryptionKeyHex = hexlify(
highlevelcrypto.decodeWalletImportFormat(
privEncryptionKeyBase58))
privEncryptionKeyBase58.encode()))
pubEncryptionKeyBase256 = unhexlify(highlevelcrypto.privToPub(
privEncryptionKeyHex))[1:]
requiredAverageProofOfWorkNonceTrialsPerByte = \

View File

@ -102,8 +102,8 @@ def reloadMyAddressHashes():
# Returns a simple 32 bytes of information encoded in 64 Hex characters
try:
privEncryptionKey = hexlify(
highlevelcrypto.decodeWalletImportFormat(
config.get(addressInKeysFile, 'privencryptionkey')
highlevelcrypto.decodeWalletImportFormat(config.get(
addressInKeysFile, 'privencryptionkey').encode()
))
except ValueError:
logger.error(

View File

@ -85,3 +85,17 @@ class TestAddressGenerator(TestPartialRun):
self.config.getboolean(sample_deterministic_addr4, 'chan'))
self.assertTrue(
self.config.getboolean(sample_deterministic_addr4, 'enabled'))
def test_random(self):
"""Test random address"""
self.command_queue.put((
'createRandomAddress', 4, 1, 'test_random', 1, '', False, 0, 0))
addr = self.return_queue.get()
self.assertRegexpMatches(addr, r'^BM-')
self.assertRegexpMatches(addr[3:], r'[a-zA-Z1-9]+$')
self.assertLessEqual(len(addr[3:]), 40)
self.assertEqual(
self.worker_queue.get(), ('sendOutOrStoreMyV4Pubkey', addr))
self.assertEqual(self.config.get(addr, 'label'), 'test_random')
self.assertTrue(self.config.getboolean(addr, 'enabled'))