Feature/multi keychain take 3 - #524
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## pre-multi-keychain #524 +/- ##
======================================================
+ Coverage 81.79% 82.20% +0.40%
======================================================
Files 25 27 +2
Lines 6362 6371 +9
Branches 289 281 -8
======================================================
+ Hits 5204 5237 +33
+ Misses 1058 1038 -20
+ Partials 100 96 -4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
A few ideas for interesting helper features to add to the
|
b2f34b5 to
dd4d5d0
Compare
dd4d5d0 to
9e43360
Compare
|
TODO: Figure out how to deal with change in the My current naive idea to deal with this would be to add a field on the wallet @ValuedMammal happy to hear your thoughts on this. One thought on this comment: by default the wallet would currently use UTXOs from all keychains to build transactions (maybe that needs work too; kind of like locking UTXOs, you might want to lock keychains or at least prevent the wallet mixing up all your keychains for privacy reasons), but in any case the base workflow would use all keychains. If each of those had defined a sister change keychain, then the wallet is back at square 1, not really knowing which one to use for change. Here again, explicitly setting the keychain to use for change is preferable IMO. |
c9f4922 to
09c9c5d
Compare
thunderbiscuit
left a comment
There was a problem hiding this comment.
Leaving here for review for tomorrow.
| /// | ||
| /// Two keychains sharing a descriptor cannot be told apart when attributing discovered | ||
| /// outputs, so the indexer rejects it. | ||
| DescriptorAlreadyAssigned(Box<Descriptor<DescriptorPublicKey>>), |
There was a problem hiding this comment.
Need to confirm where exactly this check will succeed/fail given corner cases, because I know we've discussed this in the past and I need a refresh on it. Posting here for self-review.
09c9c5d to
eaa0946
Compare
Take 3 on the multi-keychain PR feature. I'm opening this as a new PR in order to not lose all the work done in #318, since it's a fairly new/reimagined way to work it (2 PRs together, etc.). See #523 for part 1 of this.
Note that this is made against the pre-multi-keychain branch.
Quite experimental at this point, but I wanted to share where I'm at so others can build upon it.
TODO
KeyRing.Wallet::balancemethod not being able to tell what's a change keychain and what's not, and so the concept of "trusted" is a bit lost in the current API (all defaults to untrusted until the UTXO is mined). But this is I believe fixed by refactor(wallet): derive balance trust from output ancestry #431 and would land hopefully before this, and so I choose to let this one sit as is for now.Changelog notice
TODO
Before submitting