Update BTC & LTC regex for Taproot and stricter rules

This commit is contained in:
Ygsk Lv.212
2025-11-17 09:44:54 +00:00
committed by linsui
parent c8e974113c
commit a211a047b5
2 changed files with 9 additions and 3 deletions

View File

@@ -425,11 +425,11 @@ valuetypes = {
["AuthorEmail"]),
FieldValidator("Bitcoin address",
r'^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$',
r'^([13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[02-9ac-hj-np-z]{39,59})$',
["Bitcoin"]),
FieldValidator("Litecoin address",
r'^([LM3][a-km-zA-HJ-NP-Z1-9]{26,33}|ltc1[ac-hj-np-z0-9]{39,59})$',
r'^([LM3][a-km-zA-HJ-NP-Z1-9]{26,33}|ltc1[02-9ac-hj-np-z]{39,59})$',
["Litecoin"]),
FieldValidator("Repo Type",

View File

@@ -78,6 +78,12 @@ class MetadataTest(unittest.TestCase):
self.assertIsNone(
validator.check('bc1qar0srrr7xrkvr5lr43lrdnwrre5rgtrzrf5rrq', 'fake.app.id')
)
self.assertIsNone(
validator.check(
'bc1pyp5jy62x5lnjg9tm4p89xxk6mlrr0uphgp0z2vrgm2r5zd6xta3qw67uv6',
'fake.app.id',
)
)
# some invalid addresses
self.assertRaises(
@@ -125,7 +131,7 @@ class MetadataTest(unittest.TestCase):
break
self.assertIsNotNone(validator, "could not find 'Litecoin address' validator")
# some valid addresses (L, M, 3, segwit)
# some valid addresses (L, M, 3, segwit, taproot)
self.assertIsNone(
validator.check('LgeGrrrrJAxyXprrPrrBrrX5Qrrrrrrrrd', 'fake.app.id')
)