ot_ltc_testnet.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/usr/bin/env python3
  2. #
  3. # mmgen = Multi-Mode GENerator, command-line Bitcoin cold storage solution
  4. # Copyright (C)2013-2021 The MMGen Project <mmgen@tuta.io>
  5. """
  6. test.objtest_py_d.ot_ltc_testnet: LTC testnet test vectors for MMGen data objects
  7. """
  8. from mmgen.obj import *
  9. from .ot_common import *
  10. from mmgen.protocol import init_proto
  11. proto = init_proto('ltc',network='testnet')
  12. tests = {
  13. 'CoinAddr': {
  14. 'bad': (
  15. {'addr':1, 'proto':proto},
  16. {'addr':'x', 'proto':proto},
  17. {'addr':'я', 'proto':proto},
  18. ),
  19. 'good': (
  20. {'addr':'n2D3joAy3yE5fqxUeCp38X6uPUcVn7EFw9', 'proto':proto},
  21. {'addr':'QN59YbnHsPQcbKWSq9PmTpjrhBnHGQqRmf', 'proto':proto},
  22. ),
  23. },
  24. 'WifKey': {
  25. 'bad': (
  26. {'proto':proto, 'wif':1},
  27. {'proto':proto, 'wif':[]},
  28. {'proto':proto, 'wif':'\0'},
  29. {'proto':proto, 'wif':'\1'},
  30. {'proto':proto, 'wif':'я'},
  31. {'proto':proto, 'wif':'g'},
  32. {'proto':proto, 'wif':'gg'},
  33. {'proto':proto, 'wif':'FF'},
  34. {'proto':proto, 'wif':'f00'},
  35. {'proto':proto, 'wif':r16.hex()},
  36. {'proto':proto, 'wif':'2MspvWFjBbkv2wzQGqhxJUYPCk3Y2jMaxLN'},
  37. ),
  38. 'good': (
  39. {'proto':proto, 'wif':'936Fd4qs3Zy2ZiYHH7vZ3UpT23KtCAiGiG2xBTkjHo7jE9aWA2f', 'ret_idx':1},
  40. {'proto':proto, 'wif':'cQY3EumdaSNuttvDSUuPdiMYLyw8aVmYfFqxo9kdPuWbJBN4Ny66', 'ret_idx':1},
  41. )
  42. },
  43. 'PrivKey': {
  44. 'bad': (
  45. {'proto':proto, 'wif':1},
  46. {'proto':proto, 'wif':'1'},
  47. {'proto':proto, 'wif':'5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
  48. {'proto':proto, 's':r32,'wif':'5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
  49. {'proto':proto, 'pubkey_type':'std'},
  50. {'proto':proto, 's':r32},
  51. {'proto':proto, 's':r32,'compressed':'yes'},
  52. {'proto':proto, 's':r32,'compressed':'yes','pubkey_type':'std'},
  53. {'proto':proto, 's':r32,'compressed':True,'pubkey_type':'nonstd'},
  54. {'proto':proto, 's':r32+b'x','compressed':True,'pubkey_type':'std'}
  55. ),
  56. 'good': (
  57. {'proto':proto, 'wif':'92iqzh6NqiKawyB1ronw66YtEHrU4rxRJ5T4aHniZqvuSVZS21f',
  58. 'ret':'95b2aa7912550eacdd3844dcc14bee08ce7bc2434ad4858beb136021e945afeb'},
  59. {'proto':proto, 'wif':'cSaJAXBAm9ooHpVJgoxqjDG3AcareFy29Cz8mhnNTRijjv2HLgta',
  60. 'ret':'94fa8b90c11fea8fb907c9376b919534b0a75b9a9621edf71a78753544b4101c'},
  61. {'proto':proto, 's':r32,'compressed':False,'pubkey_type':'std','ret':r32.hex()},
  62. {'proto':proto, 's':r32,'compressed':True,'pubkey_type':'std','ret':r32.hex()}
  63. )
  64. },
  65. }