-
Notifications
You must be signed in to change notification settings - Fork 37.4k
Wallet: Add foreign_outputs metadata to support CoinJoin transactions #25991
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
Conversation
b519b35
to
ae47832
Compare
Concept ACK. Will test today.
Not sure about this. If there is any error in old wallets that should work. Users with such issues can post on stackexchange, reddit etc. Can also add information in release notes. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. 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. |
I don't think this fixes #14136 I tried it with my one of my signet wallet that was used for testing of joinstr transaction:
|
@1440000bytes Did you provide it with the necessary foreign output metadata? (It's impossible to fix without that) eg (check the outputs specified are what you intend)
|
ae47832
to
10bbb0a
Compare
So I need to run |
Yes |
This is still wrong in my case because w5 wallet did not send amount displayed in the json:
|
Then you provided the wrong metadata, because that looks right to me? |
I think it was correct output but i need a break for a few days before reviewing anything |
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.
This was an excellent pr for the review club. I learned a ton from this.
Is this worth testing with the legacy wallet?
0d1c407
to
1697c21
Compare
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.
Did a first code review already. If we want to track foreign outputs, this approach makes sense to me.
I'm wondering, would it be more user-friendly to instead track non-foreign outputs? For a user that is only using Core to create transactions, we could automatically track all outputs created internally and assume everything that's not in that set is foreign. This way, the user would not have to submit any additional input for listtransactions
to properly work? And could still allow users to manually set outputs to be non-foreign, similar to what's implemented now? I'm not very familiar with the wallet, so apologies if I'm missing something obvious.
I think it would also be nice to update the PR description with a bit more context on what the importance of this PR is, i.e. what is the impact of the current non-sensical behaviour. Are there functional implications (I'm not sure what the general purpose of listtransactions
is)?
This effectively inline CTransaction::GetValueOut (Bypassed MoneyRange check is not relevant here)
1697c21
to
73c1c9c
Compare
I took a break. Although I think this PR needs to consider what is a "conjoin transaction" |
73c1c9c
to
9594807
Compare
…lts using foreign_outputs metadata
bb0ab0d
to
da87dac
Compare
🐙 This pull request conflicts with the target branch and needs rebase. |
}, | ||
}, | ||
}, | ||
RPCResult{RPCResult::Type::NONE, "", ""}, |
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.
For new RPCs it might be good to return an empty dict to avoid breaking changes later on and confusing behavior now.
There hasn't been much activity lately and the patch still needs rebase. What is the status here?
|
Closing as up for grabs due to lack of activity. |
Fixes #14136
Does not fix GUI (can be done in GUI-side PR afterward)