feat(wire): introduce RequestSelection #828
Open
+75
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description and Notes
A UtreexoProof struct contains three main items: a Merkle Proof, the position targets and the preimage for each UTXO being spent. RequestSelection allows you to choose which one of the structs do you want independently.
This is serialized as a Bitmap, but the api uses a builder pattern where you can use a setter to tell which ones do you want.
There's also the
request_allhelper that just sets all Bits, and is useful to avoid having to call all three setters.How to verify the changes you have done?
Run the latest
utreexodmainonsignetand connect floresta with and without this change. Onmasterit should error out with a tx validation error for missing txout.