def test_old(self, tmp_storage) -> None: seed_words = ('powerful random nobody notice nothing important '+ 'anyway look away hidden message over') child_keystore = from_seed(seed_words, '') assert isinstance(child_keystore, Old_KeyStore) wallet = Wallet(tmp_storage) masterkey_row = wallet.create_masterkey_from_keystore(child_keystore) account_row = AccountRow(1, masterkey_row.masterkey_id, ScriptType.P2PKH, '...') account = StandardAccount(wallet, account_row, [], []) wallet.register_account(account.get_id(), account) parent_keystores = wallet.get_keystores() assert len(parent_keystores) == 1 child_keystores = account.get_keystores() assert len(child_keystores) == 1 assert parent_keystores[0] is child_keystores[0] masterkey_row = parent_keystores[0].to_masterkey_row() assert masterkey_row.derivation_type == DerivationType.ELECTRUM_OLD keystore_data = parent_keystores[0].to_derivation_data() assert len(keystore_data) == 3 assert 'mpk' in keystore_data assert 'seed' in keystore_data assert 'subpaths' in keystore_data check_create_keys(wallet, account_row.default_script_type)
def test_multisig(self, tmp_storage) -> None: wallet = Wallet(tmp_storage) seed_words = ( 'blast uniform dragon fiscal ensure vast young utility dinosaur abandon ' + 'rookie sure') ks1 = from_seed(seed_words, '') ks2 = from_xpub( 'xpub661MyMwAqRbcGfCPEkkyo5WmcrhTq8mi3xuBS7VEZ3LYvsgY1cCFDben' + 'T33bdD12axvrmXhuX3xkAbKci3yZY9ZEk8vhLic7KNhLjqdh5ec') keystore = Multisig_KeyStore({'m': 2, 'n': 2, "cosigner-keys": []}) keystore.add_cosigner_keystore(ks1) keystore.add_cosigner_keystore(ks2) assert not keystore.is_watching_only() assert 2 == len(keystore.get_cosigner_keystores()) masterkey_row = wallet.create_masterkey_from_keystore(keystore) account_row = AccountRow(1, masterkey_row.masterkey_id, ScriptType.MULTISIG_BARE, 'text') account = MultisigAccount(wallet, account_row, [], []) wallet.register_account(account.get_id(), account) check_legacy_parent_of_multisig_wallet(wallet) check_create_keys(wallet, account_row.default_script_type)
def test_standard_electrum(self, tmp_storage) -> None: password = '******' seed_words = 'cycle rocket west magnet parrot shuffle foot correct salt library feed song' child_keystore = from_seed(seed_words, '') wallet = Wallet(tmp_storage) masterkey_row = wallet.create_masterkey_from_keystore(child_keystore) wallet.update_password(password) account_row = AccountRow(1, masterkey_row.masterkey_id, ScriptType.P2PKH, '...') account = StandardAccount(wallet, account_row, [], []) wallet.register_account(account.get_id(), account) check_legacy_parent_of_standard_wallet(wallet, password=password) check_create_keys(wallet, account_row.default_script_type)