Commit Graph

3395 Commits

Author SHA1 Message Date
merge-script
95b983597a Merge BlockstreamResearch/secp256k1-zkp#361: ecdsa_adaptor: make DLEQ nonce generation pluggable
b36c4ab717 ecdsa_adaptor: use context hash functions in nonce generation (DarkWindman)

Pull request description:

  Addresses #359.

ACKs for top commit:
  real-or-random:
    utACK b36c4ab717

Tree-SHA512: 0262dfcc2ec2e3d91e37c85bcf1243099aa11d9f4bff115400ce81d36a223818e09c02c41c0602fcbeeaa1f129c4f936ef643afb7149d1230cec2ea57f5b3894
2026-06-03 13:40:27 +02:00
DarkWindman
b36c4ab717 ecdsa_adaptor: use context hash functions in nonce generation 2026-06-03 13:07:37 +03:00
Sebastian Falbesoner
5698e66c64 Add exhaustive test for ECDH module 2026-06-02 14:25:34 +02:00
merge-script
8099999ff2 Merge BlockstreamResearch/secp256k1-zkp#360: sync-upstream: Simplify
c5be752e2e gha: Simplify sync.yml according to sync-upstream.sh changes (Tim Ruffing)
260fad30aa sync-upstream: Optionally switch to sync branch (Tim Ruffing)
f0ff45f3ab sync-upstream: Simplify (Tim Ruffing)

Pull request description:

  This is a half-rewrite of the sync-upstream script because I still wasn't happy with it. Looking for early feedback on this.

  Advantages:
   - The script does not hardcode any repo URLs, branches, etc.
   - Nicer separation of responsibilities between the script and the GHA workflow. This brings back the usefulness of the script when used locally outside GHA.
   - Much simpler code, and we could simplify also the GHA workflow.

  Still to do:
   - Rewrite the "Tips" section in the generated PR description, e.g., add how to resolve merge conflicts.
   - Change the GHA workflow accordingly.

ACKs for top commit:
  mllwchrry:
    ACK c5be752

Tree-SHA512: 7335b4690642c07965366da952a74065ec404f750e0c6c7e735a9a48285cbe6b9c7db27ff4bdeba1d5ce59717d77be1ecb2334200b56a1a0a2c0fcddc7530d0b
2026-06-02 09:20:18 +02:00
merge-script
cfb3312645 Merge BlockstreamResearch/secp256k1-zkp#364: Upstream PRs 1854
af1fdd1215 tests: compare full MuSig aggregate nonce (w0xlt)

Pull request description:

  This PR has been created by a GitHub Actions workflow without human involvement.

  [bitcoin-core/secp256k1#1854]: tests: compare full MuSig aggregate nonce

  Tips:
   * Use `git show --remerge-diff <pr-branch>` to show the conflict resolution in the merge commit.
   * Use `git read-tree --reset -u <pr-branch>` to replay these resolutions during the conflict resolution stage when recreating the PR branch locally.
     Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree.

ACKs for top commit:
  mllwchrry:
    ACK 8363a2d

Tree-SHA512: 55406814de269c612159922ae521dd874887107ee9bd26cff81e2e2cca28ade74a0609e5c48e25a7d9913698899da146aef8b3eebf96e5ad70933a884d75a655
2026-06-01 13:11:35 +03:00
merge-script
a39093de15 Merge bitcoin-core/secp256k1#1851: doc: correct API docs for ECDSA signing out-params (s/array/signature object/)
40a0d874a6 doc: correct API docs for ECDSA signing out-params (s/array/signature object/) (Sebastian Falbesoner)

Pull request description:

  This PR is a late follow-up to https://github.com/bitcoin-core/secp256k1/pull/282, adapting the signature out param description to the API change.

  This is currently a minimum-diff based on existing API doc descriptions in the touched header files (for e.g. `_ecdsa_signature_parse_{compact,der}`, `_ecdsa_recoverable_signature_parse_compact`). For more consistency across modules, one could adopt the wording used in the musig module, e.g. "pointer to a structure to store the created signature".

ACKs for top commit:
  real-or-random:
    utACK 40a0d874a6
  furszy:
    ACK 40a0d874a6

Tree-SHA512: 028e87bb77be6118264ab14dce2037b4f8dd680b9d7a2c273773633d342e7f0597332932cd2654f07ab0d151f1de367f716205af4f9bb15bb83076a10b49d06c
2026-06-01 11:54:06 +02:00
Tim Ruffing
c5be752e2e gha: Simplify sync.yml according to sync-upstream.sh changes 2026-06-01 11:11:12 +02:00
Tim Ruffing
260fad30aa sync-upstream: Optionally switch to sync branch 2026-06-01 11:11:12 +02:00
Tim Ruffing
f0ff45f3ab sync-upstream: Simplify 2026-06-01 11:11:12 +02:00
merge-script
8363a2d8d1 Merge bitcoin-core/secp256k1#1854: tests: compare full MuSig aggregate nonce
af1fdd1215 tests: compare full MuSig aggregate nonce (w0xlt)

Pull request description:

  This PR fixes a MuSig nonce aggregation test that only compared the first 33 bytes of the serialized 66-byte aggregate nonce.

ACKs for top commit:
  theStack:
    ACK af1fdd1215
  real-or-random:
    utACK af1fdd1215

Tree-SHA512: a580bb1b43177cb2986bda2f595ec73af8fb98381fdab71b79142032c6d64d685b81963b3a7252e7772818512f6016ee8f564ff92c39d28d8e67d8afd26c96d7
2026-05-19 08:29:23 +02:00
w0xlt
af1fdd1215 tests: compare full MuSig aggregate nonce 2026-05-12 15:26:12 -07:00
merge-script
45f6f0f158 Merge BlockstreamResearch/secp256k1-zkp#363: Upstream PRs 1846, 1848, 1849
8479eafa57 musig: always clear out secret key in `secp256k1_musig_nonce_gen_counter` (Sebastian Falbesoner)
3cca6451a2 ci: Bump GCC snapshot major version to 17 (Hennadii Stepanov)
285cb788e9 ci: Replace `ilammy/msvc-dev-cmd` with manual MSVC setup (Hennadii Stepanov)

Pull request description:

  This PR has been created by a GitHub Actions workflow without human involvement.

  [bitcoin-core/secp256k1#1846]: ci: Replace `ilammy/msvc-dev-cmd` with manual MSVC setup
  [bitcoin-core/secp256k1#1848]: ci: Bump GCC snapshot major version to 17
  [bitcoin-core/secp256k1#1849]: musig: always clear out secret key in `secp256k1_musig_nonce_gen_counter`

  Tips:
   * Use `git show --remerge-diff <pr-branch>` to show the conflict resolution in the merge commit.
   * Use `git read-tree --reset -u <pr-branch>` to replay these resolutions during the conflict resolution stage when recreating the PR branch locally.
     Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree.

ACKs for top commit:
  mllwchrry:
    ACK b11340b. This sync PR can be merged as-is.
  DarkWindman:
    ACK b11340b3ce

Tree-SHA512: 4b311e9bfa21f00b4780202c08af9d00380f5b3df40704641764d706cfc3408615b6206c7c82ca915b56c27a354bdf24680674269a28eefe7d4e93adc06cbaa5
2026-05-05 16:23:21 +03:00
Sebastian Falbesoner
40a0d874a6 doc: correct API docs for ECDSA signing out-params (s/array/signature object/) 2026-04-29 17:56:54 +02:00
merge-script
b11340b3ce Merge bitcoin-core/secp256k1#1849: musig: always clear out secret key in secp256k1_musig_nonce_gen_counter
8479eafa57 musig: always clear out secret key in `secp256k1_musig_nonce_gen_counter` (Sebastian Falbesoner)

Pull request description:

  Even though `secp256k1_musig_nonce_gen_internal` can currently only fail if the surrounding API function is misused (invalid `keypair` or `keyagg_cache` parameters, making the corresponding [seckey validation](c1a9e4fe64/src/modules/musig/session_impl.h (L391)) or [pubkey](c1a9e4fe64/src/modules/musig/session_impl.h (L397)) load calls fail), clearing out the stack memory holding the secret key as well in this case seems reasonable to follow best practices.

  The issue was reported off-band by l0rinc (thanks!), in the course of analyzing the secp repository with AI tooling.

ACKs for top commit:
  furszy:
    ACK 8479eafa57
  real-or-random:
    utACK 8479eafa57

Tree-SHA512: dc15ed7518c6cd0b1b86d2e0382c546374e94a1c1fa15639ba3db27e083ce53a24ddf4d3cd3328b4dc229258d8cbb0e01f4b63f025d04254845f2bf20cfa5289
2026-04-29 08:04:06 +02:00
Sebastian Falbesoner
8479eafa57 musig: always clear out secret key in secp256k1_musig_nonce_gen_counter
Even though `secp256k1_musig_nonce_gen_internal` can currently only fail
if the API is misused (invalid `keypair` or `keyagg_cache` parameters),
clear out the buffer holding secret key data as well in this case to
follow best practices.

The issue was found and reported by l0rinc using GPT 5.5 (Thanks!).
2026-04-28 23:22:29 +02:00
merge-script
c1a9e4fe64 Merge bitcoin-core/secp256k1#1848: ci: Bump GCC snapshot major version to 17
3cca6451a2 ci: Bump GCC snapshot major version to 17 (Hennadii Stepanov)

Pull request description:

  See https://gcc.gnu.org/pipermail/gcc/2026-April/248048.html.

ACKs for top commit:
  real-or-random:
    utACK 3cca6451a2

Tree-SHA512: 36c975c500cb0411f20189a3b451b58268ff15be08ff444833e27ae37b53bf7581ba8a8c48b393a9b96050f8c498242ba2fb5e593caee492f1fcb1182cc948bc
2026-04-27 09:08:00 +02:00
Hennadii Stepanov
3cca6451a2 ci: Bump GCC snapshot major version to 17
See https://gcc.gnu.org/pipermail/gcc/2026-April/248048.html.
2026-04-27 06:28:45 +01:00
merge-script
99fab529bd Merge BlockstreamResearch/secp256k1-zkp#357: Upstream PRs 1824, 1777, 1834, 1837, 1839, 1841
baac08d207 modules, tests: Port bitcoin-core/secp256k1#1777 and bitcoin-core/secp256k1#1824 to zkp-specific code (DarkWindman)
c5cd9d6d9a gha: Bump deprecated GHA workflow dependencies (Tim Ruffing)
43fca0ff55 ecdsa: VERIFY_CHECK result of _fe_set_b32_limit (Tim Ruffing)
b84635ed3b tests: Fix C89 function pointer initialization in ellswift tests (mllwchrry)
3a403639dc eckey: Call ecmult with NULL instead of zero scalar (Tim Ruffing)
7e68c0c88b ecmult: Document and test ng=NULL in ecmult (Tim Ruffing)
4d92a083bc sha256: speed up writes using multi-block compression (furszy)
0753f8b909 Add API to override SHA256 compression at runtime (furszy)
fdb6a91a5e Introduce hash context to support pluggable SHA256 compression (furszy)
921b9711ea util: introduce and use `ARRAY_SIZE` macro (Sebastian Falbesoner)

Pull request description:

  [https://github.com/bitcoin-core/secp256k1/pull/1824]: util: introduce and use ARRAY_SIZE macro
  [https://github.com/bitcoin-core/secp256k1/pull/1777]: Make SHA256 compression runtime pluggable
  [https://github.com/bitcoin-core/secp256k1/pull/1834]: ecmult: Document and test ng=NULL in ecmult
  [https://github.com/bitcoin-core/secp256k1/pull/1837]: tests: Fix function pointer initialization C89 error in ellswift tests
  [https://github.com/bitcoin-core/secp256k1/pull/1839]: ecdsa: VERIFY_CHECK result of _fe_set_b32_limit
  [https://github.com/bitcoin-core/secp256k1/pull/1841]: gha: Bump deprecated GHA workflow dependencies

  Tips:

      Use git show --remerge-diff <pr-branch> to show the conflict resolution in the merge commit.
      Use git read-tree --reset -u <pr-branch> to replay these resolutions during the conflict resolution stage when recreating the PR branch locally.
      Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree.

ACKs for top commit:
  mllwchrry:
    ACK baac08d
  real-or-random:
    ACK baac08d207

Tree-SHA512: 082c9b52ae79716b8770fabd4956f4253ad7eeadd3242aed040178d1149e5e4c92f02af2829b110bebb14c44f8de00a9d9d51646565c9e0b25df0ba9fc148f75
2026-04-23 14:58:27 +02:00
DarkWindman
baac08d207 modules, tests: Port bitcoin-core/secp256k1#1777 and bitcoin-core/secp256k1#1824 to zkp-specific code 2026-04-20 15:39:54 +03:00
merge-script
ea174fe045 Merge bitcoin-core/secp256k1#1846: ci: Replace ilammy/msvc-dev-cmd with manual MSVC setup
285cb788e9 ci: Replace `ilammy/msvc-dev-cmd` with manual MSVC setup (Hennadii Stepanov)

Pull request description:

  The `ilammy/msvc-dev-cmd` repository seems [abandoned](https://github.com/ilammy/msvc-dev-cmd/issues/103) and should be considered unsafe.

  This PR updates the workflow to load the MSVC environment variables directly via [`vcvars64.bat`](https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line).

  For reference, the Bitcoin Core project removed `ilammy/msvc-dev-cmd` in https://github.com/bitcoin/bitcoin/pull/32513.

  **Note for Maintainers:** Once this PR is merged and other PRs are rebased on top of it, the `ilammy/msvc-dev-cmd` action should be removed from the "Action permission" settings in this repository.

ACKs for top commit:
  real-or-random:
    utACK 285cb788e9

Tree-SHA512: 3faa9a316438ae3f4e7352890a77baaf0bf0adda4086111344d8279dc869a42ea837269527268fad1a2dd2e1893fd8fc51e5c3b205f394926b07988579a10ad9
2026-04-13 15:12:28 +02:00
Hennadii Stepanov
285cb788e9 ci: Replace ilammy/msvc-dev-cmd with manual MSVC setup
The `ilammy/msvc-dev-cmd` repository seems abandoned and should be
considered unsafe. This updates the workflow to load the MSVC
environment variables directly via `vcvars64.bat`.

See https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line.
2026-04-13 11:54:22 +01:00
Peter.Dettman
0cad3df503 Improve checks for scalar _get_bits methods 2026-04-12 17:37:42 +07:00
DarkWindman
f7e7e6bb15 Merge branch 'master' into sync-7262adb4 2026-04-01 17:29:57 +03:00
merge-script
08d1cd0c9c Merge BlockstreamResearch/secp256k1-zkp#353: sync-upstream: Restore SYNC_PAT
e371ab5df0 sync-upstream: Restore SYNC_PAT for gh commands (DarkWindman)

Pull request description:

  This PR restores the `SYNC_PAT` requirement due to restrictions on opening PRs with the default 'GITHUB_TOKEN'.

  Since the authorship of the PR is now linked to the user who created the PAT, a note was added to the PR body to clarify that it was created by a GitHub Actions workflow and not by a human being.

  Additionally, the `permissions:` section has been removed, as `GITHUB_TOKEN` is no longer in use.

ACKs for top commit:
  real-or-random:
    ACK e371ab5df0

Tree-SHA512: e61fde9538edc95a049e1208894c5cafe2295180cc6d02e35a364974e04aba913c39256ac7293685919650021d97a1737075f782c11383b761f0979f8bd70e8a
2026-03-30 13:08:29 +02:00
DarkWindman
e371ab5df0 sync-upstream: Restore SYNC_PAT for gh commands 2026-03-30 11:50:08 +03:00
merge-script
7262adb4b4 Merge bitcoin-core/secp256k1#1841: gha: Bump deprecated GHA workflow dependencies
c5cd9d6d9a gha: Bump deprecated GHA workflow dependencies (Tim Ruffing)

Pull request description:

  Deprecation notice:
  https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

  Changelogs (no entries relevant to us):
    * https://github.com/docker/setup-buildx-action/releases/tag/v4.0.0
    * https://github.com/docker/build-push-action/releases/tag/v7.0.0
    * https://github.com/actions/cache#v5

ACKs for top commit:
  hebasto:
    ACK c5cd9d6d9a.

Tree-SHA512: d21509503a617344f5f93a87fe229774e5ab5322ae2f322b38c7fdaef54ab3386a5eaa9901cb1b15f32c7891d2587aab709c70df9f5aaedc7524710496981311
2026-03-26 12:01:55 +01:00
Tim Ruffing
c5cd9d6d9a gha: Bump deprecated GHA workflow dependencies
Deprecation notice:
https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Changelogs (no entries relevant to us):
  * https://github.com/docker/setup-buildx-action/releases/tag/v4.0.0
  * https://github.com/docker/build-push-action/releases/tag/v7.0.0
  * https://github.com/actions/cache#v5
2026-03-26 09:46:13 +01:00
merge-script
95b702de34 Merge bitcoin-core/secp256k1#1839: ecdsa: VERIFY_CHECK result of _fe_set_b32_limit
43fca0ff55 ecdsa: VERIFY_CHECK result of _fe_set_b32_limit (Tim Ruffing)

Pull request description:

  This also avoids a spurious `-Wmaybe-uninitialized` warning emitted by gcc 16 (snapshot) when compiling with `-DDETERMINISTIC`.

  Alternative to #1838 by @mllwchrry who tried very a similar thing as this PR but couldn't convince the compiler. (The GCC snapshot is very annoying: a simple `VERIFY_CHECK(secp256k1_fe_set_b32_limit(&xr, c))` doesn't do the trick. I found this variant here with a local store rather by accident.)

ACKs for top commit:
  mllwchrry:
    ACK 43fca0f
  theStack:
    utACK 43fca0ff55

Tree-SHA512: 2550043e953675db7614f98bbdffb706721834967ef36f7c905f7cbfeee5d88189a9acfcd64865ef822bb0e3272d228440bdfb1124228afe083e025056e53212
2026-03-25 17:01:19 +01:00
merge-script
634215f3fc Merge bitcoin-core/secp256k1#1837: tests: Fix function pointer initialization C89 error in ellswift tests
b84635ed3b tests: Fix C89 function pointer initialization in ellswift tests (mllwchrry)

Pull request description:

  Fixes a C89 pedantic compliance error in `src/modules/ellswift/tests_impl.h` where function pointer array initialization is not allowed at declaration time.

  This error was exposed while I was testing the improved test coverage in CI. The initial plan was to simplify the configuration of modules in CI by enabling all modules by default and testing the disabling of each module independently.

  Error: src/modules/ellswift/tests_impl.h:442:110: error: initializer element is not computable at load time [-Wpedantic].

  The error occurred when running the `x86_64_debian` GitHub Actions CI job, which uses GCC 16 (snapshot) with strict flags (-std=c89 -pedantic -pedantic-errors -Werror). See this action run for reference: https://github.com/mllwchrry/secp256k1/actions/runs/23301905657/job/67769464566.

  The fix uses `if/else` to assign function pointers after declaration, matching the pattern already used in the same file.

  While this is a minor C89 compliance issue, it blocks the potential CI simplification.

ACKs for top commit:
  real-or-random:
    utACK b84635ed3b
  theStack:
    ACK b84635ed3b

Tree-SHA512: 61e42afe9c3a215f817b1bf475ea66c103b4af6c598a9d7ee9e1a97789ac6f4e025260b4cd0e2ec219bd73706c7aa2799c58ab904916d9594626cf3c07e4b983
2026-03-25 13:06:25 +01:00
merge-script
ee5985375f Merge BlockstreamResearch/secp256k1-zkp#354: include: fix a minor grammar mistake in the rangeproof description
b96b655a82 include: fix a minor grammar mistake in the rangeproof description (Mykyta Redko)

Pull request description:

ACKs for top commit:
  real-or-random:
    ACK b96b655a82

Tree-SHA512: 96bfa2aaaf3779337fdc7aa8c8edefa00340ca10ee268dbc4b78cd3a14b99e3527a58c196cf29cc848617756a58b2ae34445fb44e3a8f386d9e6d3f72ad4fbc6
2026-03-24 08:22:22 +01:00
Mykyta Redko
b96b655a82 include: fix a minor grammar mistake in the rangeproof description 2026-03-24 09:11:14 +02:00
Tim Ruffing
43fca0ff55 ecdsa: VERIFY_CHECK result of _fe_set_b32_limit
This also avoids a spurious "-Wmaybe-uninitialized" warning emitted by
gcc 16 (snapshot) when compiling with -DDETERMINISTIC.
2026-03-23 16:54:51 +01:00
merge-script
648feb5d09 Merge BlockstreamResearch/secp256k1-zkp#351: sync-upstream: Use GITHUB_TOKEN for gh commands
efa4e11b65 sync-upstream: Use GITHUB_TOKEN for gh commands (DarkWindman)

Pull request description:

  Optimize token usage in the sync workflow.

  **Token usage:**
  - **PAT** : Used for `git push` operations that modify workflow files
  - `GITHUB_TOKEN`: Used for GitHub CLI commands (`gh repo set-default`, `gh pr create`)

ACKs for top commit:
  real-or-random:
    ACK efa4e11b65

Tree-SHA512: 9deb68d74e69ac1a3f6785f04132aef8c3357d326e9e9efe9a86842db12972a46f81f124dd3ddda7425ebd3ddd86cfd4905006fe20ae9d9ca0f0be07bca64891
2026-03-23 11:47:29 +01:00
DarkWindman
efa4e11b65 sync-upstream: Use GITHUB_TOKEN for gh commands 2026-03-20 17:09:45 +02:00
mllwchrry
b84635ed3b tests: Fix C89 function pointer initialization in ellswift tests 2026-03-20 16:45:28 +02:00
merge-script
c83a403f94 Merge BlockstreamResearch/secp256k1-zkp#349: sync-upstream: Pass token via checkout for git push operations
c9a623c362 sync-upstream: Pass token via checkout for git push operations (DarkWindman)

Pull request description:

  Pass token via checkout step for git operations.

  `git push` now uses the token from `actions/checkout`, not `GH_TOKEN` env var.

  Fixes authentication error when pushing workflow file changes.

ACKs for top commit:
  real-or-random:
    ACK c9a623c362

Tree-SHA512: a1ff1068d421f2bc390c589a4292d4d15788afcb9c42444af7bacf67103a761f2f90532dbb852081008632cf7bb1c6b99fe145178850c29d16470483fa221d1b
2026-03-19 15:16:26 +01:00
DarkWindman
c9a623c362 sync-upstream: Pass token via checkout for git push operations 2026-03-19 15:20:46 +02:00
merge-script
f049578e5f Merge BlockstreamResearch/secp256k1-zkp#347: bench: Fix bench_whitelist hang
be075fe86c bench: Fix bench_whitelist hang (mllwchrry)

Pull request description:

  Addresses #346

ACKs for top commit:
  real-or-random:
    utACK be075fe86c

Tree-SHA512: 53503c28f967642db305782162e534c13a1c3cfe27bbcfb501fbb2630a72b851725a02ac41f343d2adf5c382afec2a0b9c14a7b2dfa609e935dc9ccb5a281b9f
2026-03-18 18:19:00 +02:00
merge-script
a631df0b8b Merge BlockstreamResearch/secp256k1-zkp#348: sync-upstream: Allow PAT for sync workflow
3a18afd5ff sync-upstream: Allow PAT for sync workflow (DarkWindman)

Pull request description:

  Add support for using a Personal Access Token in the upstream sync workflow. The workflow now uses `secrets.SYNC_PAT`.

  This is necessary to push changes that include modifications to workflow files, which `GITHUB_TOKEN` cannot do due to lack of `workflow` permission.

ACKs for top commit:
  real-or-random:
    ACK 3a18afd5ff

Tree-SHA512: f0c786a3d769dbeab339f8687af836d2e576b778f4c6ddb6b5dd62e993ba6d8d8c427a2cd60d197283a896e415d4eea998ebb6356ee4424534cb934fac6c72ee
2026-03-18 17:07:42 +01:00
mllwchrry
be075fe86c bench: Fix bench_whitelist hang 2026-03-18 14:29:02 +02:00
DarkWindman
3a18afd5ff sync-upstream: Allow PAT for sync workflow 2026-03-18 11:58:18 +02:00
merge-script
2153ded4fc Merge BlockstreamResearch/secp256k1-zkp#345: docs: Fix README module descriptions
4681be065b docs: Fix README module descriptions (mllwchrry)

Pull request description:

  Fixes `bppp` description (incorrect "range proofs" claim is removed) and adds missing `schnorrsig_halfagg` module to the feature list.

ACKs for top commit:
  real-or-random:
    ACK 4681be065b

Tree-SHA512: 89e23544600246836510dcfcf06b0d088f811fadb85161d14efede4bd218915a61dcf402f9228c7e343836ec249c2ec5b6e1915ec643988db654f9605608a978
2026-03-12 15:32:07 +01:00
merge-script
1e62148465 Merge BlockstreamResearch/secp256k1-zkp#344: Add automatic GitHub Actions sync script
bb736825c1 sync-upstream: Add automatic GitHub Actions sync script (DarkWindman)

Pull request description:

  ### Description

  This PR introduces an automated GitHub Actions workflow (`sync.yml`) to streamline the synchronization of upstream commits from `bitcoin-core/secp256k1` into this repository. Additionally, it refactors the existing local sync helper script.
  Resolves #342.

  ### Key Updates & Features
  * **Monthly Automated Runs:** The workflow is scheduled to run on the 1st of every month. It automatically pulls the upstream `master` and creates a new branch specifically prepared for a manual merge.
  * **Refactored `sync-upstream.sh`:** It now *exclusively* generates the PR title and markdown body, and prepares the `contrib/gh-pr-create.sh` helper script.

ACKs for top commit:
  real-or-random:
    ACK bb736825c1

Tree-SHA512: 39bca91b5e27fa677a306c44e2adf927c6e40c360bfb2cd78cc7cf8073844844d1f212e6bdff57aa532847270e801d01900711b6c5140c8c53516307d90809c1
2026-03-12 15:30:26 +01:00
DarkWindman
bb736825c1 sync-upstream: Add automatic GitHub Actions sync script 2026-03-12 15:28:08 +02:00
mllwchrry
4681be065b docs: Fix README module descriptions 2026-03-12 15:07:42 +02:00
merge-script
ffc25a2731 Merge bitcoin-core/secp256k1#1834: ecmult: Document and test ng=NULL in ecmult
3a403639dc eckey: Call ecmult with NULL instead of zero scalar (Tim Ruffing)
7e68c0c88b ecmult: Document and test ng=NULL in ecmult (Tim Ruffing)

Pull request description:

ACKs for top commit:
  theStack:
    re-ACK 3a403639dc

Tree-SHA512: 954928d4dfa120845c6e899c1a69ad0408072809551d42735eac491b8bc41249eb25d7c57cfa4f44763167620b5cb78639b5c396c0a342c47b0afc48a088c755
2026-03-11 14:45:56 +01:00
Tim Ruffing
3a403639dc eckey: Call ecmult with NULL instead of zero scalar 2026-03-11 11:10:32 +01:00
Tim Ruffing
7e68c0c88b ecmult: Document and test ng=NULL in ecmult 2026-03-11 11:10:32 +01:00
merge-script
daf96bb07c Merge BlockstreamResearch/secp256k1-zkp#343: build: Add missing schnorrsig_halfagg module configuration
92e61ba95f build: Add missing schnorrsig_halfagg module configuration (mllwchrry)

Pull request description:

  The `schnorrsig_halfagg` module was added in 3a9b1d46 but was never configured in the CMake build system. Additionally, the autotools configuration was missing the dependency error check when `schnorrsig` is explicitly disabled.

ACKs for top commit:
  real-or-random:
    ACK 92e61ba95f

Tree-SHA512: f3770f6ae6c91a6ef51b633d147d8156a6ae843b6cb430deef07e7b9e6ea5f0b02cb228dbb41954620ce5560252d5dde7d85ce4114789bd5fcdff195915382dd
2026-03-06 15:18:18 +01:00
mllwchrry
92e61ba95f build: Add missing schnorrsig_halfagg module configuration 2026-03-06 15:07:40 +02:00