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
wallet: reroll fake outs selection on local tx_sanity_check failure #6289
Conversation
Does this reuse the fake outs it requested on the first attempt (the wallet asks for more than it needs in the first place in case some are not usable) ? |
08aae15
to
433a5cc
Compare
Updated. Have to clear ringdb and outs cache on failed tx sanity check to force fetching new fake outs on the next attempt. That said if generated tx passes sanity check, the following Does this cover the case you mentioned? If not, could you please provide more details. |
433a5cc
to
ffffdf3
Compare
It should not fetch new outputs, unless it really needs to. My point is that since it already requests more outputs than necessary from the daemon, it should not request other outputs if it can rearrange its pick from the outputs it already has. Failing that, it should ask additional outputs (rather than a full replacement) to avoid the daemon being able to tell which output is the real spend. |
ffffdf3
to
2fe260f
Compare
2fe260f
to
ffe7165
Compare
Updated. Attempts to reroll fake outputs from the same outputs set it initially received from the daemon. |
Are you sure ? The top level loop calls get_outs repeatedly (if the sanity check fails) and the first thing get_outs does is clear the outs, and will call the daemon again to get outputs. What am I missing ? |
|
Great. I thought rct_offets were the per block distribution on reading. All good then, thanks. |
No description provided.