-
Notifications
You must be signed in to change notification settings - Fork 37.7k
rpc: Filter inputs by type during CoinSelection #25183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpc: Filter inputs by type during CoinSelection #25183
Conversation
Concept ACK |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
@aureleoules can we achieve the same result by using descriptors wallet with only segwit descriptors? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
I think you should squash the commits since the test won't work without the implementation.
Concept ACK. @brunoerg I think it's fine as it. Should squash if the 1st commit requires the 2nd to pass CI. |
I am not very familiar with wallet descriptors. But if I understand correctly, this feature might still be useful in cases where you don't control the wallet. |
6677717
to
1c5cfd8
Compare
Github-Pull: bitcoin#25183 Rebased-From: 1c5cfd8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be useful to add the |
1c5cfd8
to
c67ba2a
Compare
c67ba2a
to
a9547f9
Compare
a9547f9
to
3efcd5f
Compare
a99b734
to
8f907bb
Compare
Thank you @josibake for the review and the commits! I added your commits and fixed the list parsing. |
8f907bb
to
8851071
Compare
d283ecf
to
0a9d345
Compare
89ea8fc
to
28540bc
Compare
add m_filter_inputs to coinControl, which then allows us to filter by OutputType in AvailableCoins
28540bc
to
03ab6b4
Compare
03ab6b4
to
9e7fd5c
Compare
I was thinking about this proposal and I'm still not convinced there is a clear understanding how this would be actually used in the real world. The declared benefit is non-malleability for lightning wallets (#25181). For new lightning wallets this is a non-issue as they shouldn't have non-segwit descriptors in the first place. IIUC the proposed solution for existing wallets is to filter malleable inputs when creating channel opening txs in
It seems what you really want is to "unmix" the wallet, i.e. sweep all malleable inputs as a one-time operation.
While 2nd approach has some downsides, maybe it's just good enough. I don't know whether there are enough users affected and whether these downsides outweigh the added complexity. |
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
Github-Pull: bitcoin#25183 Rebased-From: 1c5cfd8
This PR adds a filter to the CoinControl to select only specific utxos by type. It allows the
fundrawtransaction
andwalletcreatefundedpsbt
rpc calls to filter inputs by type.Closes #25181.