-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Update libsecp256k1 subtree to current master #24792
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
Conversation
8746600 Merge bitcoin-core/secp256k1#1093: hash: Make code agnostic of endianness 37d3692 tests: Add tests for _read_be32 and _write_be32 912b7cc Merge bitcoin-core/secp256k1#1094: doc: Clarify configure flags for optional modules 55512d3 doc: clean up module help text in configure.ac d9d94a9 doc: mention optional modules in README 616b43d util: Remove endianness detection 8d89b9e hash: Make code agnostic of endianness d0ad581 Merge bitcoin-core/secp256k1#995: build: stop treating schnorrsig, extrakeys modules as experimental 1ac7e31 Merge bitcoin-core/secp256k1#1089: Schnorrsig API improvements 587239d Merge bitcoin-core/secp256k1#731: Change SHA256 byte counter from size_t to uint64_t f8d9174 Add SHA256 bit counter tests 7f09d0f README: mention that ARM assembly is experimental b8f8b99 docs: Fix return value for functions that don't have invalid inputs f813bb0 schnorrsig: Adapt example to new API 99e6568 schnorrsig: Rename schnorrsig_sign to schnorsig_sign32 and deprecate fc94a2d Use SECP256K1_DEPRECATED for existing deprecated API functions 3db0560 Add SECP256K1_DEPRECATED attribute for marking API parts as deprecated 80cf4ee build: stop treating schnorrsig, extrakeys modules as experimental e0508ee Merge bitcoin-core/secp256k1#1090: configure: Remove redundant pkg-config code 21b2eba configure: Remove redundant pkg-config code 0e5cbd0 Merge bitcoin-core/secp256k1#1088: configure: Use modern way to set AR 0d253d5 configure: Use modern way to set AR 9b514ce Add test vector for very long SHA256 messages 8e3dde1 Simplify struct initializer for SHA256 padding eb28464 Change SHA256 byte counter from size_t to uint64_t ac83be3 Merge bitcoin-core/secp256k1#1079: configure: Add hidden --enable-dev-mode to enable all the stuff e0838d6 configure: Add hidden --enable-dev-mode to enable all the stuff fabd579 configure: Remove redundant code that sets _enable variables 0d4226c configure: Use canonical variable prefix _enable consistently 64b3497 Merge bitcoin-core/secp256k1#748: Add usage examples 7c9502c Add a copy of the CC0 license to the examples 42e0343 Add usage examples to the readme 517644e Optionally compile the examples in autotools, compile+run in travis 422a7cc Add a ecdh shared secret example b0cfbcc Add a Schnorr signing and verifying example fee7d4b Add an ECDSA signing and verifying example 1253a27 Merge bitcoin-core/secp256k1#1033: Add _fe_half and use in _gej_add_ge and _gej_double 3ef94aa Merge bitcoin-core/secp256k1#1026: ecdh: Add test computing shared_secret=basepoint with random inputs 3531a43 ecdh: Make generator_basepoint test depend on global iteration count c881dd4 ecdh: Add test computing shared_secret=basepoint with random inputs 0775283 Merge bitcoin-core/secp256k1#1074: ci: Retry brew update a few times to avoid random failures e51ad3b ci: Retry `brew update` a few times to avoid random failures b1cb969 ci: Revert "Attempt to make macOS builds more reliable" 5dcc6f8 Merge bitcoin-core/secp256k1#1069: build: Replace use of deprecated autoconf macro AC_PROG_CC_C89 5954794 Merge bitcoin-core/secp256k1#1072: ci: Attempt to make macOS builds more reliable 85b00a1 Merge bitcoin-core/secp256k1#1068: sage: Fix incompatibility with sage 9.4 ebb1bee sage: Ensure that constraints are always fastfracs d8d5485 ci: Run sage prover on CI 77cfa98 sage: Normalize sign of polynomial factors in prover eae7586 sage: Exit with non-zero status in case of failures d9396a5 ci: Attempt to make macOS builds more reliable e0db3f8 build: Replace use of deprecated autoconf macro AC_PROG_CC_C89 e848c37 Update sage files for new formulae d64bb5d Add fe_half tests for worst-case inputs b54d843 sage: Fix printing of errors 4eb8b93 Further improve doubling formula using fe_half 557b31f Doubling formula using fe_half 2cbb4b1 Run more iterations of run_field_misc 9cc5c25 Add test for secp256k1_fe_half 925f78d Add _fe_half and use in _gej_add_ge e108d00 sage: Fix incompatibility with sage 9.4 d8a2463 Merge bitcoin-core/secp256k1#899: Reduce stratch space needed by ecmult_strauss_wnaf. 0a40a48 Merge bitcoin-core/secp256k1#1049: Faster fixed-input ecmult tests 070e772 Faster fixed-input ecmult tests c8aa516 Merge bitcoin-core/secp256k1#1064: Modulo-reduce msg32 inside RFC6979 nonce fn to match spec. Fixes bitcoin#1063 b797a50 Create a SECP256K1_ECMULT_TABLE_VERIFY macro. a731200 Replace ECMULT_TABLE_GET_GE_STORAGE macro with a function. fe34d9f Eliminate input_pos state field from ecmult_strauss_wnaf. 0397d00 Eliminate na_1 and na_lam state fields from ecmult_strauss_wnaf. 7ba3ffc Remove the unused pre_a_lam allocations. b3b57ad Eliminate the pre_a_lam array from ecmult_strauss_wnaf. ae7ba0f Remove the unused prej allocations. e5c1889 Eliminate the prej array from ecmult_strauss_wnaf. c9da1ba Move secp256k1_fe_one to field.h 45f37b6 Modulo-reduce msg32 inside RFC6979 nonce fn to match spec. Fixes bitcoin#1063. a1102b1 Merge bitcoin-core/secp256k1#1029: Simpler and faster ecdh skew fixup e82144e Fixup skew before global Z fixup 40b624c Add tests for _gej_cmov 8c13a9b ECDH skews by 0 or 1 1515099 Simpler and faster ecdh skew fixup 39a36db Merge bitcoin-core/secp256k1#1054: tests: Fix test whose result is implementation-defined a310e79 Merge bitcoin-core/secp256k1#1052: Use xoshiro256++ instead of RFC6979 for tests 423b6d1 Merge bitcoin-core/secp256k1#964: Add release-process.md 9281c9f Merge bitcoin-core/secp256k1#1053: ecmult: move `_ecmult_odd_multiples_table_globalz_windowa` 77a1975 Use xoshiro256++ PRNG instead of RFC6979 in tests 5f2efe6 secp256k1_testrand_int(2**N) -> secp256k1_testrand_bits(N) 05e049b ecmult: move `_ecmult_odd_multiples_table_globalz_windowa` 3d7cbaf tests: Fix test whose result is implementation-defined 3ed0d02 doc: add CHANGELOG template 6f42dc1 doc: add release_process.md 0bd3e42 build: set library version to 0.0.0 explicitly b4b02fd build: change libsecp version from 0.1 to 0.1.0-pre 09971a3 Merge bitcoin-core/secp256k1#1047: ci: Various improvements 0b83b20 Merge bitcoin-core/secp256k1#1030: doc: Fix upper bounds + cleanup in field_5x52_impl.h comment 1287786 doc: Add comment to top of field_10x26_impl.h 58da5bd doc: Fix upper bounds + cleanup in field_5x52_impl.h comment b39d431 Merge bitcoin-core/secp256k1#1044: Add another ecmult_multi test b4ac1a1 ci: Run valgrind/memcheck tasks with 2 CPUs e70acab ci: Use Cirrus "greedy" flag to use idle CPU time when available d07e301 ci: Update brew on macOS 22382f0 ci: Test different ecmult window sizes a69df3a Merge bitcoin-core/secp256k1#816: Improve checks at top of _fe_negate methods 22d25c8 Add another ecmult_multi test 515e795 Improve checks at top of _fe_negate methods 26a022a ci: Remove STATICPRECOMPUTATION 10461d8 precompute_ecmult: Always compute all tables up to default WINDOW_G be6944a Merge bitcoin-core/secp256k1#1042: Follow-ups to making all tables fully static e05da9e Fix c++ build c45386d Cleanup preprocessor indentation in precompute{,d}_ecmult{,_gen} 19d96e1 Split off .c file from precomputed_ecmult.h 1a6691a Split off .c file from precomputed_ecmult_gen.h bb36331 Simplify precompute_ecmult_print_* 38cd84a Compute ecmult tables at runtime for tests_exhaustive e458ec2 Move ecmult table computation code to separate file fc1bf9f Split ecmult table computation and printing 31feab0 Rename function secp256k1_ecmult_gen_{create_prec -> compute}_table 725370c Rename ecmult_gen_prec -> ecmult_gen_compute_table 075252c Rename ecmult_static_pre_g -> precomputed_ecmult 7cf47f7 Rename ecmult_gen_static_prec_table -> precomputed_ecmult_gen f95b810 Rename gen_ecmult_static_pre_g -> precompute_ecmult bae7768 Rename gen_ecmult_gen_static_prec_table -> precompute_ecmult_gen git-subtree-dir: src/secp256k1 git-subtree-split: 8746600
@sipsorcery could you take a look at the MSVC failure? |
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Co-authored-by: Aaron Clauson <aaron@sipsorcery.com>
…rsig_sign The renaming occured in bitcoin-core/secp256k1#1089.
0936101
to
404c530
Compare
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
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. |
@@ -288,7 +288,7 @@ bool CKey::SignSchnorr(const uint256& hash, Span<unsigned char> sig, const uint2 | |||
uint256 tweak = XOnlyPubKey(pubkey_bytes).ComputeTapTweakHash(merkle_root->IsNull() ? nullptr : merkle_root); | |||
if (!secp256k1_keypair_xonly_tweak_add(GetVerifyContext(), &keypair, tweak.data())) return false; | |||
} | |||
bool ret = secp256k1_schnorrsig_sign(secp256k1_context_sign, sig.data(), hash.data(), &keypair, aux.data()); | |||
bool ret = secp256k1_schnorrsig_sign32(secp256k1_context_sign, sig.data(), hash.data(), &keypair, aux.data()); |
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.
The PR for this function renaming (with further rationale) is: bitcoin-core/secp256k1#1089
Code review ACK 404c530, I checked the changes to our tree thoroughly but didn't review all upstream secp256k1 changes in detail. Subtree check was successful:
|
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.
utACK 404c530 I reviewed the diff to Core, I'm with updating to libsecp256k1 master, but I haven't verified that the libsecp256k1 tree here has been updated correctly
ACK 404c530 |
Hmm. Getting a configure error on this but not on the commit prior. Points to secp256k1 ar-lib auxillary file:
Environment: macOS 12.3.1 (21E258) (Intel)
EDIT: fanquake suggested |
Cool. Was going to report that the build is clean for me on Debian. Sometimes it's a good idea to make clean or make distclean as a first step when running into issues like this. |
In this case, most probably rerunning |
Good point. My bash alias for fresh rebuilding does autogen && configure && make clean && make. |
Yeah, make clean was not sufficient in this case (but is my normal goto for these types errors admittedly 😅) |
The motivation for this bump is some small build cleanups, including dropping the
--enable-experimental
flag from the libsecp configure invocation, as well as some now-redundantpkg-config
variable exporting from our own configure. We also get the benefit of a slightly more efficient libsecp configure due to bitcoin-core/secp256k1#1088.This also includes a change in our code to migrate from using the now deprecated
secp256k1_schnorrsig_sign
tosecp256k1_schnorrsig_sign32
.Guix Build (on x86_64):