diff --git a/releases/ChangeLog.md b/releases/ChangeLog.md index a68aaf1d..bc7bd2ab 100644 --- a/releases/ChangeLog.md +++ b/releases/ChangeLog.md @@ -1,6 +1,7 @@ ## 5.1.3 - 2023-06-20 - New Feature: Batch Sign PSBTs. `Advanced/Tools -> File Management -> Batch Sign PSBT` +- Enhancement: `Sparrow Wallet` added as an individual export option - Enhancement: change Key Origin Information export format in multisig `addresses.csv` to match [BIP-0380](https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki#key-expressions) was `(m=0F056943)/m/48'/1'/0'/2'/0/0` now `[0F056943/48'/1'/0'/2'/0/0]` diff --git a/shared/actions.py b/shared/actions.py index 8d6f2c9e..c584a6a7 100644 --- a/shared/actions.py +++ b/shared/actions.py @@ -1224,14 +1224,16 @@ single-signer UTXO associated with this Coldcard.''' await _generic_export(prompt, 'Generic Export', 'coldcard-export.json') -async def lily_skeleton(*A): + +async def named_generic_skeleton(menu, label, item): + name = item.arg # make a single JSON file with basically all useful XPUB's in it. # identical to generic_skeleton but with different story and filename. - prompt = '''\ -This saves a JSON file onto MicroSD card to use with Lily Wallet. \ -Works for both single signature and multisig wallets.''' + prompt = ('This saves a JSON file onto MicroSD card to use with %s Wallet. ' + 'Works for both single signature and multisig wallets.') % name - await _generic_export(prompt, 'Lily Wallet', 'lily-wallet-export.json') + await _generic_export(prompt, '%s Wallet' % name, + '%s-export.json' % name.lower()) async def wasabi_skeleton(*A): diff --git a/shared/flow.py b/shared/flow.py index 993a0e66..90034770 100644 --- a/shared/flow.py +++ b/shared/flow.py @@ -161,10 +161,11 @@ XpubExportMenu = [ WalletExportMenu = [ # xxxxxxxxxxxxxxxx MenuItem("Bitcoin Core", f=bitcoin_core_skeleton), + MenuItem("Sparrow Wallet", f=named_generic_skeleton, arg="Sparrow"), MenuItem("Electrum Wallet", f=electrum_skeleton), MenuItem("Wasabi Wallet", f=wasabi_skeleton), MenuItem("Unchained", f=unchained_capital_export), - MenuItem("Lily Wallet", f=lily_skeleton), + MenuItem("Lily Wallet", f=named_generic_skeleton, arg="Lily"), MenuItem("Samourai Postmix", f=samourai_post_mix_descriptor_export), MenuItem("Samourai Premix", f=samourai_pre_mix_descriptor_export), # MenuItem("Samourai BadBank", f=samourai_bad_bank_descriptor_export), # not released yet diff --git a/testing/test_export.py b/testing/test_export.py index 1a4e1638..75f9d253 100644 --- a/testing/test_export.py +++ b/testing/test_export.py @@ -262,7 +262,11 @@ def test_export_electrum(way, dev, mode, acct_num, pick_menu_item, goto_home, ca @pytest.mark.parametrize('acct_num', [ None, '99', '1236']) @pytest.mark.parametrize('way', ["sd", "vdisk", "nfc"]) @pytest.mark.parametrize('testnet', [True, False]) -@pytest.mark.parametrize('app', [("Generic JSON", "Generic Export"), ("Lily Wallet", "Lily Wallet")]) +@pytest.mark.parametrize('app', [ + ("Generic JSON", "Generic Export"), + ("Lily Wallet", "Lily Wallet"), + ("Sparrow Wallet", "Sparrow Wallet") +]) def test_export_coldcard(way, dev, acct_num, app, pick_menu_item, goto_home, cap_story, need_keypress, microsd_path, nfc_read_json, virtdisk_path, addr_vs_path, enter_number, load_export, testnet, use_mainnet):