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