secp256k1: Decouple precomputation generation. #2886
Merged
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 requires #2884 and is rebased on #2885.
The current code that generates the various pre-computed values is conditionally exported via a build tag that is only set when the code generation is invoked. That approach was originally necessary because it relied on access to unexported code to perform the calculations, however, now that the package has evolved, the exported API now provides all of the necessary tools.
Consequently, this decouples the code related to generating pre-computed values as follows:
main
package that is invoked bygo generate
genstatics.go
filegensecp256k1
build tag that is no longer necessary