-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increase group witness test coverage #549
Conversation
8880ecc
to
6a438e6
Compare
Moved to |
Would be good to thread through some of the new unit tests into test vectors as well. |
cc203b1
to
975a969
Compare
8d2d68e
to
3deb243
Compare
3deb243
to
aa088b1
Compare
Split off fixes and simple test cases that don't make use of a custom group key to #598. The taproot utils used for these tests should be made more general so they could be used in the eventually-exposed functions for making complex group keys. |
aa088b1
to
a19ecb7
Compare
Rebased, this PR also has some unit test coverage unrelated to group key witnesses that will likely be split off into a separate PR. The problematic group key witness tests are |
a19ecb7
to
a1bd7ce
Compare
a1bd7ce
to
1a603f6
Compare
ffa6a09
to
47baba3
Compare
Strangely, this failure only triggers for me when running tests from the IDE, not via Makefile. |
@jharveyb What else needs to be added to this before the PR is out of draft phase? |
Need to fix my tapscript building test code so all these test cases pass; don't think we need new test cases outside of what I added here. |
d33459f
to
ca9a73b
Compare
@Roasbeef: review reminder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good so far.
418e4c1
to
24b0cf9
Compare
Rebased and added a constructor that also does request validation, ready for re-review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, great opportunity for me to review a few concepts, thanks.
In this commit we update multiple areas where we create an asset using fields from a base asset, to explicitly pass through the version of the base asset. This can cause an issue if asset versions are randomized.
In this commit, we introduce a new type to include the required fields for a group key derivation. This helps readability and sanity checking, especially with the complex group key derivation added in later commits.
24b0cf9
to
290eff1
Compare
Fixes #511. Tracking the canonical checklist here:
GroupPubKey()
,DeriveGroupKey()
, and new Has/NeedsGenesisWitnessForGroup helpersproof.Verify()
concerning group key validationcommittedProofs()