mmgen-wallet/test/objtest_d/ltc_testnet.py

72 lines
2.5 KiB
Python
Raw Permalink Normal View History

2019-05-27 09:34:21 +00:00
#!/usr/bin/env python3
#
2024-10-18 10:32:06 +00:00
# MMGen Wallet, a terminal-based cryptocurrency wallet
2026-02-11 13:02:12 +00:00
# Copyright (C)2013-2026 The MMGen Project <mmgen@tuta.io>
2019-05-27 09:34:21 +00:00
"""
test.objtest_d.ltc_testnet: LTC testnet test vectors for MMGen data objects
2019-05-27 09:34:21 +00:00
"""
2023-10-03 14:27:55 +00:00
from mmgen.addr import CoinAddr
2024-10-18 10:32:13 +00:00
from mmgen.key import WifKey, PrivKey
from mmgen.protocol import init_proto
2023-10-11 12:58:51 +00:00
from .common import r16, r32
2023-10-11 12:58:51 +00:00
from ..include.common import cfg
2024-10-18 10:32:13 +00:00
proto = init_proto(cfg, 'ltc', network='testnet', need_amt=True)
2020-04-09 19:34:24 +00:00
tests = {
'CoinAddr': {
2024-10-18 10:32:13 +00:00
'bad': (
{'addr': 1, 'proto': proto},
{'addr': 'x', 'proto': proto},
{'addr': 'я', 'proto': proto},
),
2024-10-18 10:32:13 +00:00
'good': (
{'addr': 'n2D3joAy3yE5fqxUeCp38X6uPUcVn7EFw9', 'proto': proto},
{'addr': 'QN59YbnHsPQcbKWSq9PmTpjrhBnHGQqRmf', 'proto': proto},
),
2020-04-09 19:34:24 +00:00
},
'WifKey': {
'bad': (
2024-10-18 10:32:13 +00:00
{'proto': proto, 'wif': 1},
{'proto': proto, 'wif': []},
{'proto': proto, 'wif': '\0'},
{'proto': proto, 'wif': '\1'},
{'proto': proto, 'wif': 'я'},
{'proto': proto, 'wif': 'g'},
{'proto': proto, 'wif': 'gg'},
{'proto': proto, 'wif': 'FF'},
{'proto': proto, 'wif': 'f00'},
{'proto': proto, 'wif': r16.hex()},
{'proto': proto, 'wif': '2MspvWFjBbkv2wzQGqhxJUYPCk3Y2jMaxLN'},
),
'good': (
2024-10-18 10:32:13 +00:00
{'proto': proto, 'wif': '936Fd4qs3Zy2ZiYHH7vZ3UpT23KtCAiGiG2xBTkjHo7jE9aWA2f', 'ret_idx': 1},
{'proto': proto, 'wif': 'cQY3EumdaSNuttvDSUuPdiMYLyw8aVmYfFqxo9kdPuWbJBN4Ny66', 'ret_idx': 1},
)
2020-04-09 19:34:24 +00:00
},
'PrivKey': {
2019-05-27 09:34:21 +00:00
'bad': (
2024-10-18 10:32:13 +00:00
{'proto': proto, 'wif': 1},
{'proto': proto, 'wif': '1'},
{'proto': proto, 'wif': '5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
{'proto': proto, 's': r32, 'wif': '5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
{'proto': proto, 'pubkey_type': 'std'},
{'proto': proto, 's': r32},
{'proto': proto, 's': r32, 'compressed': 'yes'},
{'proto': proto, 's': r32, 'compressed': 'yes', 'pubkey_type': 'std'},
{'proto': proto, 's': r32, 'compressed': True, 'pubkey_type': 'nonstd'},
{'proto': proto, 's': r32+b'x', 'compressed': True, 'pubkey_type': 'std'}
2019-05-27 09:34:21 +00:00
),
'good': (
2024-10-18 10:32:13 +00:00
{'proto': proto, 'wif': '92iqzh6NqiKawyB1ronw66YtEHrU4rxRJ5T4aHniZqvuSVZS21f',
'ret': bytes.fromhex('95b2aa7912550eacdd3844dcc14bee08ce7bc2434ad4858beb136021e945afeb')},
{'proto': proto, 'wif': 'cSaJAXBAm9ooHpVJgoxqjDG3AcareFy29Cz8mhnNTRijjv2HLgta',
'ret': bytes.fromhex('94fa8b90c11fea8fb907c9376b919534b0a75b9a9621edf71a78753544b4101c')},
{'proto': proto, 's': r32, 'compressed': False, 'pubkey_type': 'std', 'ret': r32},
{'proto': proto, 's': r32, 'compressed': True, 'pubkey_type': 'std', 'ret': r32}
2019-05-27 09:34:21 +00:00
)
2020-04-09 19:34:24 +00:00
},
}