Test and refactor EvenY (renamed from PositiveY) #94
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.
Closes #74
While documenting and adding tests I realized that we can make it easier for the callers by making keys with even Y coordinates inside the wrapper FROST functions, so that users don't need to call
into_positive_y()
manually. I left the trait pub in case they want to use frost-core directly for some reason and thus would need to convert manually.This required implementing EvenY for SecretShare, and since for it it's expensive to check if Y is even (it doesn't have the group public key, and needs to convert to KeyPackage), I added a
has_even_y()
method to the trait and added a parameter tointo_even_y()
to pass a previously computed evenness boolean.