py3
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
|
||||
class Test_Account(unittest.TestCase):
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
import sys
|
||||
from ecdsa.util import number_to_string
|
||||
@@ -8,6 +14,7 @@ from lib.bitcoin import (
|
||||
pw_decode, Hash, public_key_from_private_key, address_from_private_key,
|
||||
is_valid, is_private_key, xpub_from_xprv, is_new_seed, is_old_seed,
|
||||
var_int, op_push)
|
||||
from lib.util import bfh
|
||||
|
||||
try:
|
||||
import ecdsa
|
||||
@@ -18,7 +25,7 @@ except ImportError:
|
||||
class Test_bitcoin(unittest.TestCase):
|
||||
|
||||
def test_crypto(self):
|
||||
for message in ["Chancellor on brink of second bailout for banks", chr(255)*512]:
|
||||
for message in [b"Chancellor on brink of second bailout for banks", b'\xff'*512]:
|
||||
self._do_test_crypto(message)
|
||||
|
||||
def _do_test_crypto(self, message):
|
||||
@@ -60,7 +67,7 @@ class Test_bitcoin(unittest.TestCase):
|
||||
assert xprv == "xprvA2nrNbFZABcdryreWet9Ea4LvTJcGsqrMzxHx98MMrotbir7yrKCEXw7nadnHM8Dq38EGfSh6dqA9QWTyefMLEcBYJUuekgW4BYPJcr9E7j"
|
||||
|
||||
def _do_test_bip32(self, seed, sequence):
|
||||
xprv, xpub = bip32_root(seed.decode('hex'), 0)
|
||||
xprv, xpub = bip32_root(bfh(seed), 0)
|
||||
assert sequence[0:2] == "m/"
|
||||
path = 'm'
|
||||
sequence = sequence[2:]
|
||||
@@ -106,7 +113,7 @@ class Test_bitcoin(unittest.TestCase):
|
||||
def test_hash(self):
|
||||
"""Make sure the Hash function does sha256 twice"""
|
||||
payload = u"test"
|
||||
expected = '\x95MZI\xfdp\xd9\xb8\xbc\xdb5\xd2R&x)\x95\x7f~\xf7\xfalt\xf8\x84\x19\xbd\xc5\xe8"\t\xf4'
|
||||
expected = b'\x95MZI\xfdp\xd9\xb8\xbc\xdb5\xd2R&x)\x95\x7f~\xf7\xfalt\xf8\x84\x19\xbd\xc5\xe8"\t\xf4'
|
||||
|
||||
result = Hash(payload)
|
||||
self.assertEqual(expected, result)
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
|
||||
from lib import interface
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
from lib import keystore
|
||||
from lib import mnemonic
|
||||
from lib import old_mnemonic
|
||||
from lib.util import bh2u
|
||||
|
||||
|
||||
class Test_NewMnemonic(unittest.TestCase):
|
||||
|
||||
def test_to_seed(self):
|
||||
seed = mnemonic.Mnemonic.mnemonic_to_seed(mnemonic='foobar', passphrase='none')
|
||||
self.assertEquals(seed.encode('hex'),
|
||||
self.assertEquals(bh2u(seed),
|
||||
'741b72fd15effece6bfe5a26a52184f66811bd2be363190e07a42cca442b1a5b'
|
||||
'b22b3ad0eb338197287e6d314866c7fba863ac65d3f156087a5052ebc7157fce')
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import ast
|
||||
import sys
|
||||
import os
|
||||
@@ -6,7 +12,7 @@ import tempfile
|
||||
import shutil
|
||||
import json
|
||||
|
||||
from StringIO import StringIO
|
||||
from six.moves import StringIO
|
||||
from lib.simple_config import (SimpleConfig, read_system_config,
|
||||
read_user_config)
|
||||
|
||||
@@ -230,15 +236,6 @@ class TestUserConfig(unittest.TestCase):
|
||||
result = read_user_config(None)
|
||||
self.assertEqual({}, result)
|
||||
|
||||
def test_path_with_reprd_dict(self):
|
||||
thefile = os.path.join(self.user_dir, "config")
|
||||
payload = {"gap_limit": 5}
|
||||
with open(thefile, "w") as f:
|
||||
f.write(json.dumps(payload))
|
||||
|
||||
result = read_user_config(self.user_dir)
|
||||
self.assertEqual(payload, result)
|
||||
|
||||
def test_path_without_config_file(self):
|
||||
"""We pass a path but if does not contain a "config" file."""
|
||||
result = read_user_config(self.user_dir)
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
from lib import transaction
|
||||
from lib.bitcoin import TYPE_ADDRESS
|
||||
@@ -5,6 +11,10 @@ from lib.bitcoin import TYPE_ADDRESS
|
||||
import pprint
|
||||
from lib.keystore import xpubkey_to_address
|
||||
|
||||
from lib.util import bh2u
|
||||
|
||||
from lib.util import bh2u
|
||||
|
||||
unsigned_blob = '01000000012a5c9a94fcde98f5581cd00162c60a13936ceb75389ea65bf38633b424eb4031000000005701ff4c53ff0488b21e03ef2afea18000000089689bff23e1e7fb2f161daa37270a97a3d8c2e537584b2d304ecb47b86d21fc021b010d3bd425f8cf2e04824bfdf1f1f5ff1d51fadd9a41f9e3fb8dd3403b1bfe00000000ffffffff0140420f00000000001976a914230ac37834073a42146f11ef8414ae929feaafc388ac00000000'
|
||||
signed_blob = '01000000012a5c9a94fcde98f5581cd00162c60a13936ceb75389ea65bf38633b424eb4031000000006c493046022100a82bbc57a0136751e5433f41cf000b3f1a99c6744775e76ec764fb78c54ee100022100f9e80b7de89de861dc6fb0c1429d5da72c2b6b2ee2406bc9bfb1beedd729d985012102e61d176da16edd1d258a200ad9759ef63adf8e14cd97f53227bae35cdb84d2f6ffffffff0140420f00000000001976a914230ac37834073a42146f11ef8414ae929feaafc388ac00000000'
|
||||
v2_blob = "0200000001191601a44a81e061502b7bfbc6eaa1cef6d1e6af5308ef96c9342f71dbf4b9b5000000006b483045022100a6d44d0a651790a477e75334adfb8aae94d6612d01187b2c02526e340a7fd6c8022028bdf7a64a54906b13b145cd5dab21a26bd4b85d6044e9b97bceab5be44c2a9201210253e8e0254b0c95776786e40984c1aa32a7d03efa6bdacdea5f421b774917d346feffffff026b20fa04000000001976a914024db2e87dd7cfd0e5f266c5f212e21a31d805a588aca0860100000000001976a91421919b94ae5cefcdf0271191459157cdb41c4cbf88aca6240700"
|
||||
@@ -20,7 +30,7 @@ class TestBCDataStream(unittest.TestCase):
|
||||
with self.assertRaises(transaction.SerializationError):
|
||||
s.write_compact_size(-1)
|
||||
|
||||
self.assertEquals(s.input.encode('hex'),
|
||||
self.assertEquals(bh2u(s.input),
|
||||
'0001fcfdfd00fdfffffe00000100feffffffffff0000000001000000ffffffffffffffffff')
|
||||
for v in values:
|
||||
self.assertEquals(s.read_compact_size(), v)
|
||||
@@ -44,11 +54,11 @@ class TestBCDataStream(unittest.TestCase):
|
||||
|
||||
def test_bytes(self):
|
||||
s = transaction.BCDataStream()
|
||||
s.write('foobar')
|
||||
self.assertEquals(s.read_bytes(3), 'foo')
|
||||
self.assertEquals(s.read_bytes(2), 'ba')
|
||||
self.assertEquals(s.read_bytes(4), 'r')
|
||||
self.assertEquals(s.read_bytes(1), '')
|
||||
s.write(b'foobar')
|
||||
self.assertEquals(s.read_bytes(3), b'foo')
|
||||
self.assertEquals(s.read_bytes(2), b'ba')
|
||||
self.assertEquals(s.read_bytes(4), b'r')
|
||||
self.assertEquals(s.read_bytes(1), b'')
|
||||
|
||||
class TestTransaction(unittest.TestCase):
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import unittest
|
||||
from lib.util import format_satoshis, parse_URI
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import six
|
||||
import shutil
|
||||
import tempfile
|
||||
import sys
|
||||
@@ -5,8 +11,8 @@ import unittest
|
||||
import os
|
||||
import json
|
||||
|
||||
from StringIO import StringIO
|
||||
from electrum.storage import WalletStorage, FINAL_SEED_VERSION
|
||||
from six.moves import StringIO
|
||||
from lib.storage import WalletStorage, FINAL_SEED_VERSION
|
||||
|
||||
|
||||
class FakeSynchronizer(object):
|
||||
|
||||
Reference in New Issue
Block a user