Update src/secp256k1 subtree to upstream release v0.3.0 #27230

pull sipa wants to merge 2 commits into bitcoin:master from sipa:secp256k1 changing 72 files +3239 −1685
  1. sipa commented at 10:45 PM on March 8, 2023: member

    This updates the libsecp256k1 subtree to v0.3.0. I don't believe there are code changes that are particularly important to Bitcoin Core, apart from the added CMake build system support.

  2. Squashed 'src/secp256k1/' changes from 21ffe4b22a9..bdf39000b9c
    bdf39000b9c Merge bitcoin-core/secp256k1#1223: release: prepare for 0.3.0
    b40adf23604 release: prepare for 0.3.0
    90b513aadad Merge bitcoin-core/secp256k1#1229: cmake: Rename project to "libsecp256k1"
    8be82d43628 cmake: Rename project to "libsecp256k1"
    ef4f8bd0259 Merge bitcoin-core/secp256k1#1227: readme: Use correct build type in CMake/Windows build instructions
    756b61d451d readme: Use correct build type in CMake/Windows build instructions
    3295aa149bd Merge bitcoin-core/secp256k1#1225: changelog: Add entry for CMake
    92098d84cf7 changelog: Add entry for CMake
    df323b5c146 Merge bitcoin-core/secp256k1#1113: build: Add CMake-based build system
    e1eb33724c2 ci: Add "x86_64: Windows (VS 2022)" task
    10602b0030e cmake: Export config files
    5468d709644 build: Add CMake-based build system
    6048e6c03e4 Merge bitcoin-core/secp256k1#1222: Remove redundant checks.
    eb8749fcd0f Merge bitcoin-core/secp256k1#1221: Update Changelog
    5d8f53e3129 Remove redudent checks.
    9d1b458d5fb Merge bitcoin-core/secp256k1#1217: Add secp256k1_fe_add_int function
    d232112fa7e Update Changelog
    8962fc95bb0 Merge bitcoin-core/secp256k1#1218: Update overflow check
    2ef1c9b3870 Update overflow check
    57573187826 Merge bitcoin-core/secp256k1#1212: Prevent dead-store elimination when clearing secrets in examples
    b081f7e4cbf Add secp256k1_fe_add_int function
    5660c137552 prevent optimization in algorithms
    09b1d466db7 Merge bitcoin-core/secp256k1#979: Native jacobi symbol algorithm
    ce3cfc78a60 doc: Describe Jacobi calculation in safegcd_implementation.md
    6be01036c8a Add secp256k1_fe_is_square_var function
    1de2a01c2b2 Native jacobi symbol algorithm
    04c6c1b1816 Make secp256k1_modinv64_det_check_pow2 support abs val
    5fffb2c7af5 Make secp256k1_i128_check_pow2 support -(2^n)
    cbd25559343 Merge bitcoin-core/secp256k1#1209: build: Add SECP256K1_API_VAR to fix importing variables from DLLs
    1b21aa51752 Merge bitcoin-core/secp256k1#1078: group: Save a normalize_to_zero in gej_add_ge
    e4330341bd6 ci: Shutdown wineserver whenever CI script exits
    9a5a611a21f build: Suppress stupid MSVC linker warning
    739c53b19a2 examples: Extend sig examples by call that uses static context
    914276e4d27 build: Add SECP256K1_API_VAR to fix importing variables from DLLs
    1cca7c1744b Merge bitcoin-core/secp256k1#1206: build: Add -Wreserved-identifier supported by clang
    8c7e0fc1de0 build: Add -Wreserved-identifier supported by clang
    8ebe5c52050 Merge bitcoin-core/secp256k1#1201: ci: Do not set git's `user.{email,name}` config options
    5596ec5c2cf Merge bitcoin-core/secp256k1#1203: Do not link `bench` and `ctime_tests` to `COMMON_LIB`
    ef39721ccce Do not link `bench` and `ctime_tests` to `COMMON_LIB`
    9b60e3148d8 ci: Do not set git's `user.{email,name}` config options
    e1817a6f54f Merge bitcoin-core/secp256k1#1199: ci: Minor improvements inspired by Bitcoin Core
    1bff2005885 Merge bitcoin-core/secp256k1#1200: Drop no longer used Autoheader macros
    9b7d18669dc Drop no longer used Autoheader macros
    c2415866c7a ci: Don't fetch git history
    0ecf3188515 ci: Use remote pull/merge ref instead of local git merge
    2b77240b3ba Merge bitcoin-core/secp256k1#1172: benchmarks: fix bench_scalar_split
    eb6bebaee39 scalar: restrict split_lambda args, improve doc and VERIFY_CHECKs
    7f49aa7f2dc ci: add test job with -DVERIFY
    620ba3d74be benchmarks: fix bench_scalar_split
    5fbff5d348f Merge bitcoin-core/secp256k1#1170: contexts: Forbid destroying, cloning and randomizing the static context
    233822d849d Merge bitcoin-core/secp256k1#1195: ctime_tests: improve output when CHECKMEM_RUNNING is not defined
    ad7433b1409 Merge bitcoin-core/secp256k1#1196: Drop no longer used variables from the build system
    e39d954f118 tests: Add CHECK_ILLEGAL(_VOID) macros and use in static ctx tests
    2cd4e3c0a97 Drop no longer used `SECP_{LIBS,INCLUDE}` variables
    613626f94c7 Drop no longer used `SECP_TEST_{LIBS,INCLUDE}` variables
    61841fc9ee5 contexts: Forbid randomizing secp256k1_context_static
    4b6df5e33e1 contexts: Forbid cloning/destroying secp256k1_context_static
    b1579cf5fb4 Merge bitcoin-core/secp256k1#1194: Ensure safety of ctz_debruijn implementation.
    8f51229e034 ctime_tests: improve output when CHECKMEM_RUNNING is not defined
    d6ff738d5bb Ensure safety of ctz_debruijn implementation.
    a01a7d86dc2 Merge bitcoin-core/secp256k1#1192: Switch to exhaustive groups with small B coefficient
    a7a7bfaf3dc Merge bitcoin-core/secp256k1#1190: Make all non-API functions (except main) static
    f29a3270923 Merge bitcoin-core/secp256k1#1169: Add support for msan instead of valgrind (for memcheck and ctime test)
    ff8edf89e2e Merge bitcoin-core/secp256k1#1193: Add `noverify_tests` to `.gitignore`
    ce60785b265 Introduce SECP256K1_B macro for curve b coefficient
    4934aa79958 Switch to exhaustive groups with small B coefficient
    d4a6b58df74 Add `noverify_tests` to `.gitignore`
    88e80722d2a Merge bitcoin-core/secp256k1#1160: Makefile: add `-I$(top_srcdir)/{include,src}` to `CPPFLAGS` for precomputed
    0f088ec1126 Rename CTIMETEST -> CTIMETESTS
    74b026f05d5 Add runtime checking for DECLASSIFY flag
    5e2e6fcfc0e Run ctime test in Linux MSan CI job
    18974061a3f Make ctime tests building configurable
    5048be17e93 Rename valgrind_ctime_test -> ctime_tests
    6eed6c18ded Update error messages to suggest msan as well
    8e11f89a685 Add support for msan integration to checkmem.h
    8dc64079eb1 Add compile-time error to valgrind_ctime_test
    0db05a770eb Abstract interactions with valgrind behind new checkmem.h
    4f1a54e41d8 Move valgrind CPPFLAGS into SECP_CONFIG_DEFINES
    cc3b8a4f404 Merge bitcoin-core/secp256k1#1187: refactor: Rename global variables in tests
    9a93f48f502 refactor: Rename STTC to STATIC_CTX in tests
    3385a2648d7 refactor: Rename global variables to uppercase in tests
    e03ef865593 Make all non-API functions (except main) static
    cbe41ac138b Merge bitcoin-core/secp256k1#1188: tests: Add noverify_tests which is like tests but without VERIFY
    203760023c6 tests: Add noverify_tests which is like tests but without VERIFY
    e862c4af0c5 Makefile: add -I$(top_srcdir)/src to CPPFLAGS for precomputed
    0eb3000417f Merge bitcoin-core/secp256k1#1186: tests: Tidy context tests
    39e8f0e3d7b refactor: Separate run_context_tests into static vs proper contexts
    a4a09379b1a tests: Clean up and improve run_context_tests() further
    fc90bb56956 refactor: Tidy up main()
    f32a36f620e tests: Don't use global context for context tests
    ce4f936c4fa tests: Tidy run_context_tests() by extracting functions
    18e0db30cb4 tests: Don't recreate global context in scratch space test
    b19806122e9 tests: Use global copy of secp256k1_context_static instead of clone
    2a39ac162e0 Merge bitcoin-core/secp256k1#1185: Drop `SECP_CONFIG_DEFINES` from examples
    2f9ca284e2a Drop `SECP_CONFIG_DEFINES` from examples
    31ed5386e84 Merge bitcoin-core/secp256k1#1183: Bugfix: pass SECP_CONFIG_DEFINES to bench compilation
    c0a555b2ae3 Bugfix: pass SECP_CONFIG_DEFINES to bench compilation
    01b819a8c7d Merge bitcoin-core/secp256k1#1158: Add a secp256k1_i128_to_u64 function.
    eacad90f699 Merge bitcoin-core/secp256k1#1171: Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void)
    3f57b9f7749 Merge bitcoin-core/secp256k1#1177: Some improvements to the changelog
    c30b889f17e Clarify that the ABI-incompatible versions are earlier
    881fc33d0c1 Consistency in naming of modules
    665ba77e793 Merge bitcoin-core/secp256k1#1178: Drop `src/libsecp256k1-config.h`
    75d7b7f5bae Merge bitcoin-core/secp256k1#1154: ci: set -u in cirrus.sh to treat unset variables as an error
    7a746882013 ci: add missing CFLAGS & CPPFLAGS variable to print_environment
    c2e0fdadebd ci: set -u in cirrus.sh to treat unset variables as an error
    9c5a4d21bbe Do not define unused `HAVE_VALGRIND` macro
    ad8647f548c Drop no longer relevant files from `.gitignore`
    b627ba7050b Remove dependency on `src/libsecp256k1-config.h`
    9ecf8149a19 Reduce font size in changelog
    2dc133a67ff Add more changelog entries
    ac233e181a5 Add links to diffs to changelog
    cee8223ef6d Mention semantic versioning in changelog
    9a8d65f07f1 Merge bitcoin-core/secp256k1#1174: release cleanup: bump version after 0.2.0
    02ebc290f74 release cleanup: bump version after 0.2.0
    b6b360efafc doc: improve message of cleanup commit
    a49e0940ad6 docs: Fix typo
    2551cdac903 tests: Fix code formatting
    c635c1bfd54 Change ARG_CHECK_NO_RETURN to ARG_CHECK_VOID which returns (void)
    cf66f2357c6 refactor: Add helper function secp256k1_context_is_proper()
    d2164752053 test secp256k1_i128_to_i64
    4bc429019dc Add a secp256k1_i128_to_u64 function.
    e089eecc1e5 group: Further simply gej_add_ge
    ac71020ebe0 group: Save a normalize_to_zero in gej_add_ge
    
    git-subtree-dir: src/secp256k1
    git-subtree-split: bdf39000b9c6a0818e7149ccb500873d079e6e85
    763079a3f1
  3. Update src/secp256k1 subtree to upstream libsecp256k1 v0.3.0 e5c7fcb361
  4. DrahtBot commented at 10:45 PM on March 8, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK jonasnick, fanquake
    Concept ACK real-or-random

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #24545 (BIP324: Enable v2 P2P encrypted transport by dhruv)
    • #23561 (BIP324: Handshake prerequisites by dhruv)
    • #23432 (BIP324: CKey encode/decode to elligator-swift by dhruv)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  5. real-or-random commented at 10:47 PM on March 8, 2023: contributor

    Concept ACK

  6. fanquake commented at 9:52 AM on March 9, 2023: member

    Concept ACK

    cc @jonasnick too

  7. jonasnick commented at 11:09 AM on March 9, 2023: contributor

    ACK e5c7fcb361d3379c254a52104b4ba25907cd07bb

  8. fanquake approved
  9. fanquake commented at 3:35 PM on March 12, 2023: member

    ACK e5c7fcb361d3379c254a52104b4ba25907cd07bb

  10. fanquake merged this on Mar 12, 2023
  11. fanquake closed this on Mar 12, 2023

  12. sidhujag referenced this in commit 6c8db023e0 on Mar 12, 2023
  13. fanquake referenced this in commit 26cb32c02d on May 8, 2023
  14. kwvg referenced this in commit 34087c1df1 on Sep 8, 2023
  15. kwvg referenced this in commit 248d44e6d9 on Sep 9, 2023
  16. kwvg referenced this in commit 0231bddc40 on Sep 9, 2023
  17. kwvg referenced this in commit 7787e9445e on Sep 24, 2023
  18. kwvg referenced this in commit 3c1537307b on Sep 28, 2023
  19. ogabrielides referenced this in commit 312aaf2e3e on Nov 15, 2023
  20. UdjinM6 referenced this in commit 0269e3bda9 on Nov 15, 2023
  21. UdjinM6 referenced this in commit 8e95044196 on Nov 16, 2023
  22. UdjinM6 referenced this in commit 0c3fee3db5 on Nov 20, 2023
  23. PastaPastaPasta referenced this in commit 2458280f41 on Nov 21, 2023
  24. PastaPastaPasta referenced this in commit 39ce20cddc on Nov 21, 2023
  25. bitcoin locked this on Mar 11, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 09:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me