ot_eth_mainnet.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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_eth_mainnet: ETH mainnet test vectors for MMGen data objects
  7. """
  8. from mmgen.obj import *
  9. from .ot_common import *
  10. tests = {
  11. 'ETHAmt': {
  12. 'bad': ('-3.2','0.1234567891234567891',123,'123L',
  13. {'num':'1','from_decimal':True},
  14. {'num':1,'from_decimal':True},
  15. ),
  16. 'good': (('123.123456789123456789',Decimal('123.123456789123456789')),
  17. { 'num':Decimal('1.12345678912345678892345'), # rounding
  18. 'from_decimal':True,
  19. 'ret':Decimal('1.123456789123456789')},
  20. {'num':Decimal('1.234'),'from_decimal':True,'ret':Decimal('1.234')},
  21. {'num':Decimal('0.0'),'from_decimal':True,'ret':Decimal('0')},
  22. {'num':1234,'from_unit':'wei','ret':Decimal('0.000000000000001234')},
  23. {'num':1234,'from_unit':'Mwei','ret':Decimal('0.000000001234')},
  24. )
  25. },
  26. 'ETHNonce': {
  27. 'bad': ('z','я',-1,'-1',0.0,'0.0'),
  28. 'good': (
  29. ('0',0),('1',1),('100',100),1,100,
  30. {'n':'0x0','base':16,'ret':0},
  31. {'n':'0x1','base':16,'ret':1},
  32. {'n':'0xf','base':16,'ret':15},
  33. {'n':'0xff','base':16,'ret':255},
  34. )
  35. },
  36. }