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 extends the
Streamable
trait to support unchecked parsing. This is especially useful for parsing trusted BLS public keys and signatures. In unchecked mode the points are not verified to be on the G1 and G2 curves (because they are trusted to be).change
The main change is adding a new parameter to the
Streamable
trait'sparse()
function, indicating whether we want checked or unchecked parsing.Additionally, a new convenience function is added
from_bytes_unchecked()
, as short-hand for just converting a buffer. This follows the naming convention we already use inchia-blockchain
, and supersedes some existing python bindings forfrom_bytes_unchecked()
on the BLS types.profile
The first commit adds a benchmark, highlighting how much time is saved when not checking the validity of points:
This can make a significant different when parsing trusted keys. We do this quite a lot, when reading from our database, or just when serializing/deserializing between processes in a python
ProcessPool