Skip to content
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

Add support for musig() key expressions #230

Draft
wants to merge 24 commits into
base: develop
Choose a base branch
from
Draft

Add support for musig() key expressions #230

wants to merge 24 commits into from

Conversation

bigspider
Copy link
Collaborator

@bigspider bigspider commented Feb 21, 2024

Closes: #208

@codecov-commenter
Copy link

codecov-commenter commented Feb 23, 2024

Codecov Report

Attention: Patch coverage is 83.33333% with 12 lines in your changes missing coverage. Please review.

Project coverage is 84.63%. Comparing base (6367fb2) to head (dc99225).

Files Patch % Lines
src/common/wallet.c 82.60% 12 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #230      +/-   ##
===========================================
- Coverage    84.73%   84.63%   -0.10%     
===========================================
  Files           17       17              
  Lines         2181     2226      +45     
===========================================
+ Hits          1848     1884      +36     
- Misses         333      342       +9     
Flag Coverage Δ
unittests 84.63% <83.33%> (-0.10%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

src/handler/sign_psbt.c Fixed Show fixed Hide fixed
Comment on lines +450 to +464
// int pk_offset = is_tap ? 1 : 0;
// if (memcmp(pubkey.compressed_pubkey + pk_offset, bip32_derivation_pubkey, key_len) != 0)
// {
// return 0;
// }

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
@bigspider bigspider force-pushed the musig branch 3 times, most recently from 9089b94 to edb801c Compare May 24, 2024 15:51
@bigspider bigspider force-pushed the musig branch 4 times, most recently from 29c6f57 to 63415a1 Compare May 31, 2024 15:53
@bigspider bigspider force-pushed the musig branch 5 times, most recently from bd31f15 to c3f084a Compare June 6, 2024 08:13
@bigspider bigspider force-pushed the musig branch 3 times, most recently from 8e625c5 to b25e93f Compare June 26, 2024 16:27
…ed some comments.

Generalizing to key expressions containing musig() makes it necessary to distinguish
the key expressions in the wallet policy from the actual key placeholders that are
just indexes to the list of key informations (@num in the descriptor template),
whereas the two concepts were often not clearly separated in the code base.

Renaming to "key expressions" makes the distinction more clear.
…on type is used; generalized some parts of the code that are not generalized to musig key expressions, and annotated some others.
 - musig() now sorts the keys, as per the BIP draft
 - correctly compute fingerprint for musig() aggregate key
 - added both the aggregate and the internal key in keyexpr_info_t struct
 - fixed psbt parsing logic to detect change/addr_index for musig
 - updated musig tests
Copy link

sonarcloud bot commented Jul 16, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
7.0% Coverage on New Code (required ≥ 80%)
11.1% Duplication on New Code (required ≤ 3%)
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MuSig2 support
2 participants