ttest_storage_upgrade.py - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
ttest_storage_upgrade.py (395545B)
---
1 import shutil
2 import tempfile
3 import os
4 import json
5 from typing import Optional
6 import asyncio
7
8 import electrum
9 from electrum.wallet_db import WalletDB
10 from electrum.wallet import Wallet
11 from electrum import constants
12 from electrum import util
13
14 from .test_wallet import WalletTestCase
15
16
17 # TODO add other wallet types: 2fa, xpub-only
18 # TODO hw wallet with client version 2.6.x (single-, and multiacc)
19 class TestStorageUpgrade(WalletTestCase):
20
21 def setUp(self):
22 super().setUp()
23 self.asyncio_loop, self._stop_loop, self._loop_thread = util.create_and_start_event_loop()
24
25 def tearDown(self):
26 super().tearDown()
27 self.asyncio_loop.call_soon_threadsafe(self._stop_loop.set_result, 1)
28 self._loop_thread.join(timeout=1)
29
30 def testnet_wallet(func):
31 # note: it's ok to modify global network constants in subclasses of SequentialTestCase
32 def wrapper(self, *args, **kwargs):
33 constants.set_testnet()
34 try:
35 return func(self, *args, **kwargs)
36 finally:
37 constants.set_mainnet()
38 return wrapper
39
40 ##########
41
42 def test_upgrade_from_client_1_9_8_seeded(self):
43 wallet_str = "{'addr_history':{'177hEYTccmuYH8u68pYfaLteTxwJrVgvJj':[],'15V7MsQK2vjF5aEXLVG11qi2eZPZsXdnYc':[],'1DgrwN2JCDZ6uPMSvSz8dPeUtaxLxWM2kf':[],'1H3mPXHFzA8UbvhQVabcDjYw3CPb3djvxs':[],'1DjtUCcQwwzA3GSPA7Kd79PMnri7tLDPYC':[],'1PGEgaPG1XJqmuSj68GouotWeYkCtwo4wm':[],'1PAgpPxnL42Hp3cWxmSfdChPqqGiM8g7zj':[],'1HocPduHmQUJerpdaLG8DnmxvnDCVQwWsa':[]},'accounts_expanded':{},'master_public_key':'756d1fe6ded28d43d4fea902a9695feb785447514d6e6c3bdf369f7c3432fdde4409e4efbffbcf10084d57c5a98d1f34d20ac1f133bdb64fa02abf4f7bde1dfb','use_encryption':False,'seed':'2605aafe50a45bdf2eb155302437e678','accounts':{0:{0:['1DjtUCcQwwzA3GSPA7Kd79PMnri7tLDPYC','1PAgpPxnL42Hp3cWxmSfdChPqqGiM8g7zj','177hEYTccmuYH8u68pYfaLteTxwJrVgvJj','1PGEgaPG1XJqmuSj68GouotWeYkCtwo4wm','15V7MsQK2vjF5aEXLVG11qi2eZPZsXdnYc'],1:['1H3mPXHFzA8UbvhQVabcDjYw3CPb3djvxs','1HocPduHmQUJerpdaLG8DnmxvnDCVQwWsa','1DgrwN2JCDZ6uPMSvSz8dPeUtaxLxWM2kf']}},'seed_version':4}"
44 self._upgrade_storage(wallet_str)
45
46 # TODO pre-2.0 mixed wallets are not split currently
47 #def test_upgrade_from_client_1_9_8_mixed(self):
parazyd.org:70 /git/electrum/file/electrum/tests/test_storage_upgrade.py.gph:57: line too long