cryptoadvance / cryptoadvance/specter-desktop
[Feature request] facilitated import of JoinMarket wallets
- Dominant language
- Python
- Stars
- 847
- Forks
- 259
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 2
Description
Background:
Specter Desktop is ideal to manage multiple watch only wallets and construct transactions ready for signing. The `Wallets overview` is especially helpful to track the global balance and transaction activity.
Since https://github.com/JoinMarket-Org/joinmarket-clientserver/commit/631352c4531da01c5c58ef8bd347c65fb49c93aa it is possible to sign extrenally prepared PSBTS-s: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/USAGE.md#co-signing-a-psbt
Issue:
In relation to the JoininBox project https://github.com/openoms/joininbox/pull/26 I am trying to find the best way to quickly import a JM wallet (with it's 5 mixdepth/accounts) to Specter.
The manual process works (especially since JM defaults to native SegWit wallets), but there could be an easier option.
We could either generate an info file to be imported to Specter or there could be an option to simply paste the 5 xpubs to create the JM device and wallets.
Similar to Specter JoinMarket uses a watch only Bitcoin Core wallet to track the chain, so even that could be helpful. Possibly would not even need a rescan if would be able to use the existing wallet? Even the (automatically applied) labels could be kept in that case.
What do you think the best approach would be?
For an example here are the public keys of a sample wallet on signet which I am using for testing: https://termbin.com/yd2k
Xpubs only:
```
$ python wallet-tool.py signet|grep mixdepth|sed -n '1~2p'|awk '{print $1,$2,$3}'
Enter passphrase to decrypt wallet:
mixdepth 0 tpubDCqJ97RNYRNeVxzyXHWzYfehVqiJaCDwPRmcFp8a2ScEN8WXU1KzvRgg85CxHT8tq8CYijTubKZtJos3USjUKbwZDWxv3JuySFHUhqBafeB
mixdepth 1 tpubDCqJ97RNYRNeYCQj82eDFmpadSqLZNrJjLXTqUPncEUrnWwP1jzEXtA6zV3CU4h5Q8ZBBXBJdxSGxMqpMhQEQ2rzhXgHcb9Smh8AUQqtwUE
mixdepth 2 tpubDCqJ97RNYRNebUfUFBuLetjqcNguze1S9N9C8cuwViL6ur6Q3Lq3UvBtJvCUB4rkqpFDj7VTpHaYshLj6nkpqoApzXX3k6kYvhDnv2E5u5z
mixdepth 3 tpubDCqJ97RNYRNecxHXqaszJaWYQkfGDZdAMdoXeS8AkaM6LV4c2hr3fUefndmW9wzgA7J8wbAQYjZvxfZqaxro3Sfvn5WtZMLurxGUrXKLgTE
mixdepth 4 tpubDCqJ97RNYRNegb2p3GMMmSHjz5xuNKg63HsnoQKchFCkKADrHKk5ox59hLYJtWY6hMeRCQmHiiTpP3ff4W1W6xjzLCYEERbsYPw8EhzzXaW
```
Related to this issue as well where the possible future use of Output Descriptors is discussed: https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/558
Contributor guide
Assessment
This issue has not been assessed yet.