Sparrow export via named_generic_export

(cherry picked from commit fba7de33cf)
This commit is contained in:
scgbckbone 2023-08-29 13:44:49 +02:00 committed by doc-hex
parent 6aa707074c
commit 56bf11bd3e
4 changed files with 15 additions and 7 deletions

View File

@ -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]`

View File

@ -1231,14 +1231,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):

View File

@ -164,10 +164,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

View File

@ -294,7 +294,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):