Add swig bindings for field element mapping to G1 and G2 #220
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.
In trying to use jblst (and therefore blst) for EIP-2537 implementation in Hyperledger Besu's besu-native project, I found that
blst_map_to_g1
andblst_map_to_g2
were not exposed via SWIG.I suspect there was a reason that these functions were left out of the swig bindings, but I don't know why. To get a complete implementation, I added them (disclaimer: not a C programmer nor familiar with SWIG).
Using BLST java bindings is the fastest implementation we have tested, so we are motivated to use it as the basis for EIp-2537 in besu. I did verify that java python and rust bindings still build correctly, but only tested Java bindings.
If this should go in blst_aux.h or elsewhere, or if there is another way to map field elements without adding these methods to the interface, LMK. TIA