Improve txout
listing and balance APIs for redesigned structures
#975
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
As noted in #971 (comment).
Instead of relying on a
OwnedIndexer
trait to filter for relevant txouts, we move the listing and balance methods fromIndexedTxGraph
toTxGraph
and add an additional input (list of relevant outpoints) to these methods.This provides a simpler implementation and a more flexible API.
Other Fixes
The
Persist::commit
method is fixed in 96b1075.Previously, regardless of whether writing to persistence backend is successful or not, the logic always cleared
self.staged
. This is changed to only clearself.staged
after successful write.Additionally, the written changeset (if any) is returned, and
PersistBackend::write_changes
will not be called ifself.staged
is empty.Notes to the reviewers
Yes, slightly more boilerplate to do the same things, but less code to maintain and a much more flexible API. Very worth it IMO.
Changelog notice
Checklists
All Submissions:
cargo fmt
andcargo clippy
before committingNew Features: