ot_btc_testnet.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python3
  2. #
  3. # mmgen = Multi-Mode GENerator, command-line Bitcoin cold storage solution
  4. # Copyright (C)2013-2020 The MMGen Project <mmgen@tuta.io>
  5. """
  6. test.objtest_py_d.ot_btc_testnet: BTC testnet test vectors for MMGen data objects
  7. """
  8. from collections import OrderedDict
  9. from mmgen.obj import *
  10. from .ot_common import *
  11. tests = OrderedDict([
  12. ('CoinAddr', {
  13. 'bad': (1,'x','я'),
  14. 'good': ('n2FgXPKwuFkCXF946EnoxWJDWF2VwQ6q8J','2MspvWFjBbkv2wzQGqhxJUYPCk3Y2jMaxLN'),
  15. }),
  16. ('WifKey', {
  17. 'bad': (1,[],'\0','\1','я','g','gg','FF','f00',r16.hex(),'2MspvWFjBbkv2wzQGqhxJUYPCk3Y2jMaxLN'),
  18. 'good': ('93HsQEpH75ibaUJYi3QwwiQxnkW4dUuYFPXZxcbcKds7XrqHkY6',
  19. 'cMsqcmDYZP1LdKgqRh9L4ZRU9br28yvdmTPwW2YQwVSN9aQiMAoR'),
  20. }),
  21. ('PrivKey', {
  22. 'bad': (
  23. {'wif':1},
  24. {'wif':'1'},
  25. {'wif':'5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
  26. {'s':r32,'wif':'5KXEpVzjWreTcQoG5hX357s1969MUKNLuSfcszF6yu84kpsNZKb'},
  27. {'pubkey_type':'std'},
  28. {'s':r32},
  29. {'s':r32,'compressed':'yes'},
  30. {'s':r32,'compressed':'yes','pubkey_type':'std'},
  31. {'s':r32,'compressed':True,'pubkey_type':'nonstd'},
  32. {'s':r32+b'x','compressed':True,'pubkey_type':'std'}
  33. ),
  34. 'good': (
  35. {'wif':'93HsQEpH75ibaUJYi3QwwiQxnkW4dUuYFPXZxcbcKds7XrqHkY6',
  36. 'ret':'e0aef965b905a2fedf907151df8e0a6bac832aa697801c51f58bd2ecb4fd381c'},
  37. {'wif':'cMsqcmDYZP1LdKgqRh9L4ZRU9br28yvdmTPwW2YQwVSN9aQiMAoR',
  38. 'ret':'08d0ed83b64b68d56fa064be48e2385060ed205be2b1e63cd56d218038c3a05f'},
  39. {'s':r32,'compressed':False,'pubkey_type':'std','ret':r32.hex()},
  40. {'s':r32,'compressed':True,'pubkey_type':'std','ret':r32.hex()}
  41. )
  42. })
  43. ])