Fuzzy search for block in Immutable data by point only. #484
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.
This adds a feature where if the
Point
used inread_blocks_from_point()
does not have a hash (zero length) then the search will look for the first block that equals or exceeds the given slot#, and the hash is ignored.It is fully backwards compatible with the existing behavior and just allows the immutable data to be probed. That is, if a point/hash is given, the search is strict and both must match.
One potential use cases include extracting a section of the immutable data bounded by time, as slot# can be converted too and from a time for any particular blockchain.
Another is doing relative searches, such as returning the blocks up to
n
slots before a known slot#/hash.We use both of these features in the
cardano-chain-follower
crate being developed here:input-output-hk/hermes#266