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

tests: improve fe_sqr test (issue #1472) #1490

Merged
merged 2 commits into from
Feb 27, 2024

Conversation

theStack
Copy link
Contributor

@theStack theStack commented Feb 1, 2024

As pointed out in issue #1472, currently the run_sqr test doesn't do anything with the result of the fe_sqr call. Improve that by checking that the equation (x+y)*(x-y) = x^2 - y^2 holds for some random values y, as suggested by real-or-random in #1472 (comment). The existing loop for generating the x values is kept as-is, the sqr call on x is still included in each iteration on the course of calulating the RHS of the equation (secp256k1_fe_sqr(&rhs, &x);).

The suggestion says "for random values y != 0", but I couldn't see a good reason to exclude zero. Happy to apply s/random_fe_test/random_fe_non_zero_test/ if needed.

@real-or-random
Copy link
Contributor

Nice!

The suggestion says "for random values y != 0", but I couldn't see a good reason to exclude zero. Happy to apply s/random_fe_test/random_fe_non_zero_test/ if needed.

Ah, this is because fe_mul(_, a, b) cannot handle the case when a is equal to b:
https://github.com/bitcoin-core/secp256k1/blob/master/src/field.h#L255-L263

In fact, this is why I suggested the binomial equation. Otherwise, the most natural test would just be x*x = x^2.

I mean, it doesn't matter for truly random y, but we should still call random_fe_non_zero_test instead. (This reminds me that we could consider biasing the test random function towards zero and other corner cases, but that's a different project...)

@theStack
Copy link
Contributor Author

theStack commented Feb 1, 2024

The suggestion says "for random values y != 0", but I couldn't see a good reason to exclude zero. Happy to apply s/random_fe_test/random_fe_non_zero_test/ if needed.

Ah, this is because fe_mul(_, a, b) cannot handle the case when a is equal to b: https://github.com/bitcoin-core/secp256k1/blob/master/src/field.h#L255-L263

Oh, my interpretation of this was that a and b can't point to the same object. If a can't be equal to b for this function to succeed, wouldn't we need to check for a != b prior each call to ensure that fe_mul doesn't fail? (For all values, not just for zero?)

@real-or-random
Copy link
Contributor

real-or-random commented Feb 1, 2024

Oh nevermind, you're right. :D Sorry, this was a brain fart. And indeed, this would be pretty bad.

Now that you have implemented it, I still think that (x+y)*(x-y) = x^2 - y^2 is a nice test. It gets us a good test for two sqr operations for the price of 1 mul. ;)

edit: Perhaps the docs can be improved: Pointers r and a may point to the same object, but neither may point to the object pointed to by b. If you like, add a commit here.

What adds to the confusion is that we denote both the field element and the pointer by a. (We could say *a for the element, but changing this everywhere may be overkill. We talk about the pointers only rarely...)

Copy link
Contributor

@real-or-random real-or-random left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK b702461

@theStack
Copy link
Contributor Author

theStack commented Feb 1, 2024

edit: Perhaps the docs can be improved: Pointers r and a may point to the same object, but neither may point to the object pointed to by b. If you like, add a commit here.

Thanks, added that as extra commit. Agree that it's clearer this way.

Copy link
Contributor

@real-or-random real-or-random left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 7dcb3a8

Copy link
Contributor

@jonasnick jonasnick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs rebase (due to check_fe_equal not existing anymore in master)

Currently the `run_sqr` test doesn't do anything with the
result of the `fe_sqr` call. Improve that by checking that
the equation `(x+y)*(x-y) = x^2 - y^2` holds for some random
values y, as suggested in issue bitcoin-core#1471 by real-or-random.
The existing loop for generating the x values is kept as-is.
"... neither can be equal to b." could suggest that the values are not
allowed to be identical, but what is meant here is that the mentioned
inputs shouldn't point to the same object.
@theStack theStack force-pushed the improve-fe_sqr-test branch from 7dcb3a8 to 2028069 Compare February 27, 2024 15:41
@theStack
Copy link
Contributor Author

Needs rebase (due to check_fe_equal not existing anymore in master)

Thanks, done.

Range-diff:
$ git range-diff 7dcb3a8...2028069       
-:  ------- > 1:  00111c9 tests: add missing fe comparison checks for inverse field test cases
-:  ------- > 2:  e7bdddd refactor: rename `check_fe_equal` -> `fe_equal`
-:  ------- > 3:  e7ea32e msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
-:  ------- > 4:  31ba404 msan: notate variable assignments from assembly code
1:  b702461 ! 5:  11420a7 tests: improve fe_sqr test
    @@ src/tests.c: static void run_fe_mul(void) {
     +        secp256k1_fe_negate(&tmp, &tmp, 1); /* tmp = -y^2 */
     +        secp256k1_fe_add(&rhs, &tmp);       /* rhs = x^2 - y^2 */
     +
    -+        CHECK(check_fe_equal(&lhs, &rhs));
    ++        CHECK(fe_equal(&lhs, &rhs));
          }
      }
      
2:  7dcb3a8 = 6:  2028069 doc: clarify input requirements for secp256k1_fe_mul

Copy link
Contributor

@real-or-random real-or-random left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 2028069

Copy link
Contributor

@jonasnick jonasnick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 2028069

@jonasnick jonasnick merged commit 427e86b into bitcoin-core:master Feb 27, 2024
107 checks passed
@theStack theStack deleted the improve-fe_sqr-test branch February 27, 2024 17:27
achow101 added a commit to achow101/bitcoin that referenced this pull request Mar 25, 2024
093af5dc48e Merge 3b6c90a93fb55b2ea5fc629762bf4c3c569211cf into 05bfab69aef3622f77f754cfb01220108a109c91
05bfab69aef Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab24844 ci: Add sanitizer env variables to debug output
84a93de4d2b ci: Add workaround for ASLR bug in sanitizers
3b6c90a93fb fixup! improve nonce_gen doc
2512e4b9431 fixup! add musig module to change log
35dd4304c20 fixup! Add pubkey_sort to changelog
461970682f5 fixup! split counter mode from musig_nonce_gen
dfd9849a193 fixup! rename pubkey_sort -> ec_pubkey_sort
d3a8952d5e3 fixup! move extrakeys to main
468c5c41e4a fixup! move musig_ge_{to,from} to group.h
2a0d934540e fixup! use optimized tagged hashes
427e86b9edc Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue bitcoin#1472)
2028069df2e doc: clarify input requirements for secp256k1_fe_mul
11420a7a283 tests: improve fe_sqr test
cdc9a6258e9 Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf76 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba4049442 msan: notate variable assignments from assembly code
e7ea32e30a9 msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c9c refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c563 tests: add missing fe comparison checks for inverse field test cases
0653a25d50f Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5290e ci: Update cache action
24836272992 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dcd2 Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
dd4932b67b5 build: allow enabling the musig module in cmake
6e104fbdbb0 Add module "musig" that implements MuSig2 multi-signatures (BIP 327)
0c7ca2732d8 group: add ge_to_bytes and ge_from_bytes
26dde295d0a extrakeys: add secp256k1_pubkey_sort
51df2d9ab3a tests: Drop redundant _scalar_check_overflow calls
3777e3f36a6 cmake: Recommend native CMake commands in README
e4af41c61b0 Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc00 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678ea0 build: Error if required module explicitly off
89ec583ccf0 build: Clean up handling of module dependencies
44378867a01 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2d75a Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b53e1 Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb28ce3 check-abi: Minor UI improvements
ad5f589a94c check-abi: Default to HEAD for new version
9fb7e2f1568 release process: Style and formatting nits
ba5d72d6265 assumptions: Use new STATIC_ASSERT macro
e53c2d9ffc0 Require that sizeof(secp256k1_ge_storage) == 64
d0ba2abbff2 util: Add STATIC_ASSERT macro
da7bc1b803b include: in doc, remove article in front of "pointer"
aa3dd5280b4 include: make doc about ctx more consistent
e3f690015a2 include: remove obvious "cannot be NULL" doc
d373bf6d08c Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e094517c9 Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48946b tests: restore scalar_mul test
d77170a88d0 Fix typos
e7053d065b9 release process: Add email step
429d21dc79e release process: Run sanity checks on release PR
42f8c514022 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: 093af5dc48e57e31b5f451ef0b483d7605e6817c
achow101 added a commit to achow101/bitcoin that referenced this pull request Apr 1, 2024
093af5dc48e Merge 3b6c90a93fb55b2ea5fc629762bf4c3c569211cf into 05bfab69aef3622f77f754cfb01220108a109c91
05bfab69aef Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab24844 ci: Add sanitizer env variables to debug output
84a93de4d2b ci: Add workaround for ASLR bug in sanitizers
3b6c90a93fb fixup! improve nonce_gen doc
2512e4b9431 fixup! add musig module to change log
35dd4304c20 fixup! Add pubkey_sort to changelog
461970682f5 fixup! split counter mode from musig_nonce_gen
dfd9849a193 fixup! rename pubkey_sort -> ec_pubkey_sort
d3a8952d5e3 fixup! move extrakeys to main
468c5c41e4a fixup! move musig_ge_{to,from} to group.h
2a0d934540e fixup! use optimized tagged hashes
427e86b9edc Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue bitcoin#1472)
2028069df2e doc: clarify input requirements for secp256k1_fe_mul
11420a7a283 tests: improve fe_sqr test
cdc9a6258e9 Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf76 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba4049442 msan: notate variable assignments from assembly code
e7ea32e30a9 msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c9c refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c563 tests: add missing fe comparison checks for inverse field test cases
0653a25d50f Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5290e ci: Update cache action
24836272992 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dcd2 Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
dd4932b67b5 build: allow enabling the musig module in cmake
6e104fbdbb0 Add module "musig" that implements MuSig2 multi-signatures (BIP 327)
0c7ca2732d8 group: add ge_to_bytes and ge_from_bytes
26dde295d0a extrakeys: add secp256k1_pubkey_sort
51df2d9ab3a tests: Drop redundant _scalar_check_overflow calls
3777e3f36a6 cmake: Recommend native CMake commands in README
e4af41c61b0 Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc00 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678ea0 build: Error if required module explicitly off
89ec583ccf0 build: Clean up handling of module dependencies
44378867a01 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2d75a Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b53e1 Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb28ce3 check-abi: Minor UI improvements
ad5f589a94c check-abi: Default to HEAD for new version
9fb7e2f1568 release process: Style and formatting nits
ba5d72d6265 assumptions: Use new STATIC_ASSERT macro
e53c2d9ffc0 Require that sizeof(secp256k1_ge_storage) == 64
d0ba2abbff2 util: Add STATIC_ASSERT macro
da7bc1b803b include: in doc, remove article in front of "pointer"
aa3dd5280b4 include: make doc about ctx more consistent
e3f690015a2 include: remove obvious "cannot be NULL" doc
d373bf6d08c Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e094517c9 Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48946b tests: restore scalar_mul test
d77170a88d0 Fix typos
e7053d065b9 release process: Add email step
429d21dc79e release process: Run sanity checks on release PR
42f8c514022 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: 093af5dc48e57e31b5f451ef0b483d7605e6817c
fanquake added a commit to fanquake/bitcoin that referenced this pull request Apr 4, 2024
4b77fec67a Merge bitcoin-core/secp256k1#1512: msan: notate more variable assignments from assembly code
f7f0184ba1 msan: notate more variable assignments from assembly code
a61339149f change inconsistent array param to pointer
05bfab69ae Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab2484 ci: Add sanitizer env variables to debug output
84a93de4d2 ci: Add workaround for ASLR bug in sanitizers
427e86b9ed Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue bitcoin#1472)
2028069df2 doc: clarify input requirements for secp256k1_fe_mul
11420a7a28 tests: improve fe_sqr test
cdc9a6258e Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf7 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba404944 msan: notate variable assignments from assembly code
e7ea32e30a msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c9 refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c56 tests: add missing fe comparison checks for inverse field test cases
0653a25d50 Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5290 ci: Update cache action
2483627299 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dcd Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
51df2d9ab3 tests: Drop redundant _scalar_check_overflow calls
3777e3f36a cmake: Recommend native CMake commands in README
e4af41c61b Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc0 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678ea build: Error if required module explicitly off
89ec583ccf build: Clean up handling of module dependencies
44378867a0 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2d75 Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b53e Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb28ce check-abi: Minor UI improvements
ad5f589a94 check-abi: Default to HEAD for new version
9fb7e2f156 release process: Style and formatting nits
ba5d72d626 assumptions: Use new STATIC_ASSERT macro
e53c2d9ffc Require that sizeof(secp256k1_ge_storage) == 64
d0ba2abbff util: Add STATIC_ASSERT macro
da7bc1b803 include: in doc, remove article in front of "pointer"
aa3dd5280b include: make doc about ctx more consistent
e3f690015a include: remove obvious "cannot be NULL" doc
d373bf6d08 Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e094517c Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48946 tests: restore scalar_mul test
d77170a88d Fix typos
e7053d065b release process: Add email step
429d21dc79 release process: Run sanity checks on release PR
42f8c51402 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: 4b77fec67a80af41a538b6195317229c77101f87
fanquake added a commit to fanquake/bitcoin that referenced this pull request Apr 4, 2024
d8311688bd Merge bitcoin-core/secp256k1#1515: ci: Note affected clangs in comment on ASLR quirk
a85e2233e7 ci: Note affected clangs in comment on ASLR quirk
4b77fec67a Merge bitcoin-core/secp256k1#1512: msan: notate more variable assignments from assembly code
f7f0184ba1 msan: notate more variable assignments from assembly code
a61339149f change inconsistent array param to pointer
05bfab69ae Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab2484 ci: Add sanitizer env variables to debug output
84a93de4d2 ci: Add workaround for ASLR bug in sanitizers
427e86b9ed Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue bitcoin#1472)
2028069df2 doc: clarify input requirements for secp256k1_fe_mul
11420a7a28 tests: improve fe_sqr test
cdc9a6258e Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf7 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba404944 msan: notate variable assignments from assembly code
e7ea32e30a msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c9 refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c56 tests: add missing fe comparison checks for inverse field test cases
0653a25d50 Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5290 ci: Update cache action
2483627299 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dcd Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
51df2d9ab3 tests: Drop redundant _scalar_check_overflow calls
3777e3f36a cmake: Recommend native CMake commands in README
e4af41c61b Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc0 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678ea build: Error if required module explicitly off
89ec583ccf build: Clean up handling of module dependencies
44378867a0 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2d75 Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b53e Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb28ce check-abi: Minor UI improvements
ad5f589a94 check-abi: Default to HEAD for new version
9fb7e2f156 release process: Style and formatting nits
ba5d72d626 assumptions: Use new STATIC_ASSERT macro
e53c2d9ffc Require that sizeof(secp256k1_ge_storage) == 64
d0ba2abbff util: Add STATIC_ASSERT macro
da7bc1b803 include: in doc, remove article in front of "pointer"
aa3dd5280b include: make doc about ctx more consistent
e3f690015a include: remove obvious "cannot be NULL" doc
d373bf6d08 Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e094517c Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48946 tests: restore scalar_mul test
d77170a88d Fix typos
e7053d065b release process: Add email step
429d21dc79 release process: Run sanity checks on release PR
42f8c51402 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: d8311688bd383d3a923a1b11789cded3cc8e5e03
hebasto added a commit to hebasto/secp256k1-CMake-example that referenced this pull request May 11, 2024
e3a885d Merge bitcoin-core/secp256k1#1522: release: prepare for 0.5.0
c0e4ec3 release: prepare for 0.5.0
bb528cf Merge bitcoin-core/secp256k1#1518: Add secp256k1_pubkey_sort
7d2591c Add secp256k1_pubkey_sort
da51507 Merge bitcoin-core/secp256k1#1058: Signed-digit multi-comb ecmult_gen algorithm
4c341f8 Add changelog entry for SDMC
a043940 Permit COMB_BITS < 256 for exhaustive tests
39b2f2a Add test case for ecmult_gen recoded = {-1,0,1}
644e86d Reintroduce projective blinding
07810d9 Reduce side channels from single-bit reads
a0d32b5 Optimization: use Nx32 representation for recoded bits
e03dcc4 Make secp256k1_scalar_get_bits support 32-bit reads
5005abe Rename scalar_get_bits -> scalar_get_bits_limb32; return uint32_t
6247f48 Optimization: avoid unnecessary doublings in precomputation
15d0cca Optimization: first table lookup needs no point addition
7a33db3 Optimization: move (2^COMB_BITS-1)/2 term into ctx->scalar_offset
ed2a056 Provide 3 configurations accessible through ./configure
5f7be9f Always generate tables for current (blocks,teeth) config
fde1dfc Signed-digit multi-comb ecmult_gen algorithm
486518b Make exhaustive tests's scalar_inverse(&x,&x) work
ab45c3e Initial gej blinding -> final ge blinding
aa00a6b Introduce CEIL_DIV macro and use it
d831168 Merge bitcoin-core/secp256k1#1515: ci: Note affected clangs in comment on ASLR quirk
a85e223 ci: Note affected clangs in comment on ASLR quirk
4b77fec Merge bitcoin-core/secp256k1#1512: msan: notate more variable assignments from assembly code
f7f0184 msan: notate more variable assignments from assembly code
a613391 change inconsistent array param to pointer
05bfab6 Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab2 ci: Add sanitizer env variables to debug output
84a93de ci: Add workaround for ASLR bug in sanitizers
427e86b Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue #1472)
2028069 doc: clarify input requirements for secp256k1_fe_mul
11420a7 tests: improve fe_sqr test
cdc9a62 Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba404 msan: notate variable assignments from assembly code
e7ea32e msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd refactor: rename `check_fe_equal` -> `fe_equal`
00111c9 tests: add missing fe comparison checks for inverse field test cases
0653a25 Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5 ci: Update cache action
2483627 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3 Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
51df2d9 tests: Drop redundant _scalar_check_overflow calls
3777e3f cmake: Recommend native CMake commands in README
e4af41c Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e682267 build: Error if required module explicitly off
89ec583 build: Clean up handling of module dependencies
4437886 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2 Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb2 check-abi: Minor UI improvements
ad5f589 check-abi: Default to HEAD for new version
9fb7e2f release process: Style and formatting nits
ba5d72d assumptions: Use new STATIC_ASSERT macro
e53c2d9 Require that sizeof(secp256k1_ge_storage) == 64
d0ba2ab util: Add STATIC_ASSERT macro
da7bc1b include: in doc, remove article in front of "pointer"
aa3dd52 include: make doc about ctx more consistent
e3f6900 include: remove obvious "cannot be NULL" doc
d373bf6 Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e0945 Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48 tests: restore scalar_mul test
d77170a Fix typos
e7053d0 release process: Add email step
429d21d release process: Run sanity checks on release PR
efe85c7 Merge bitcoin-core/secp256k1#1466: release cleanup: bump version after 0.4.1
4b2e06f release cleanup: bump version after 0.4.1
1ad5185 Merge bitcoin-core/secp256k1#1465: release: prepare for 0.4.1
672053d release: prepare for 0.4.1
1a81df8 Merge bitcoin-core/secp256k1#1380: Add ABI checking tool for release process
74a4d97 doc: Add ABI checking with `check-abi.sh` to the Release Process
e7f830e Add `tools/check-abi.sh`
77af1da Merge bitcoin-core/secp256k1#1455: doc: improve secp256k1_fe_set_b32_mod doc
3928b7c doc: improve secp256k1_fe_set_b32_mod doc
5e9a4d7 Merge bitcoin-core/secp256k1#990: Add comment on length checks when parsing ECDSA sigs
4197d66 Merge bitcoin-core/secp256k1#1431: Add CONTRIBUTING.md
0e5ea62 CONTRIBUTING: add some coding and style conventions
e2c9888 Merge bitcoin-core/secp256k1#1451: changelog: add entry for "field: Remove x86_64 asm"
d2e36a2 changelog: add entry for "field: Remove x86_64 asm"
1a432cb README: update first sentence
0922a04 docs: move coverage report instructions to CONTRIBUTING
76880e4 Add CONTRIBUTING.md including scope and guidelines for new code
d3e29db Merge bitcoin-core/secp256k1#1450: Add group.h ge/gej equality functions
04af0ba Replace ge_equals_ge[,j] calls with group.h equality calls
60525f6 Add unit tests for group.h equality functions
a47cd97 Add group.h ge/gej equality functions
10e6d29 Merge bitcoin-core/secp256k1#1446: field: Remove x86_64 asm
07687e8 Merge bitcoin-core/secp256k1#1393: Implement new policy for VERIFY_CHECK and #ifdef VERIFY (issue #1381)
bb46723 remove VERIFY_SETUP define
a3a3e11 remove unneeded VERIFY_SETUP uses in ECMULT_CONST_TABLE_GET_GE macro
a0fb68a introduce and use SECP256K1_SCALAR_VERIFY macro
cf25c86 introduce and use SECP256K1_{FE,GE,GEJ}_VERIFY macros
5d89bc0 remove superfluous `#ifdef VERIFY`/`#endif` preprocessor conditions
c2688f8 redefine VERIFY_CHECK to empty in production (non-VERIFY) mode
5814d84 Merge bitcoin-core/secp256k1#1438: correct assertion for secp256k1_fe_mul_inner
c1b4966 Merge bitcoin-core/secp256k1#1445: bench: add --help option to bench_internal
f07cead build: Don't call assembly an optimization
2f0762f field: Remove x86_64 asm
1ddd76a bench: add --help option to bench_internal
e721039 Merge bitcoin-core/secp256k1#1441: asm: add .note.GNU-stack section for non-exec stack
ea47c82 Merge bitcoin-core/secp256k1#1442: Return temporaries to being unsigned in secp256k1_fe_sqr_inner
dcdda31 Tighten secp256k1_fe_mul_inner's VERIFY_BITS checks
1027135 Return temporaries to being unsigned in secp256k1_fe_sqr_inner
33dc7e4 asm: add .note.GNU-stack section for non-exec stack
c891c5c Merge bitcoin-core/secp256k1#1437: ci: Ignore internal errors of snapshot compilers
8185e72 ci: Ignore internal errors in snapshot compilers
40f50d0 Merge bitcoin-core/secp256k1#1184: Signed-digit based ecmult_const algorithm
8e2a5fe correct assertion for secp256k1_fe_mul_inner
355bbdf Add changelog entry for signed-digit ecmult_const algorithm
21f49d9 Remove unused secp256k1_scalar_shr_int
115fdc7 Remove unused secp256k1_wnaf_const
aa9f3a3 ecmult_const: add/improve tests
4d16e90 Signed-digit based ecmult_const algorithm
ba523be make SECP256K1_SCALAR_CONST reduce modulo exhaustive group order
2140da9 Add secp256k1_scalar_half for halving scalars (+ tests/benchmarks).
1f1bb78 Merge bitcoin-core/secp256k1#1430: README: remove CI badge
5dab0ba README: remove CI badge
b314cf2 Merge bitcoin-core/secp256k1#1426: ci/cirrus: Add native ARM64 jobs
fa4d6c7 ci/cirrus: Add native ARM64 persistent workers
ee7aaf2 Merge bitcoin-core/secp256k1#1395: tests: simplify `random_fe_non_zero` (remove loop limit and unneeded normalize)
ba9cb6f Merge bitcoin-core/secp256k1#1424: ci: Bump major versions for docker actions
d9d80fd ci: Bump major versions for docker actions
4fd00f4 Merge bitcoin-core/secp256k1#1422: cmake: Install `libsecp256k1.pc` file
421d848 ci: Align Autotools/CMake `CI_INSTALL` directory names
9f005c6 cmake: Install `libsecp256k1.pc` file
2262d0e ci/cirrus: Bring back skeleton .cirrus.yml without jobs
b10ddd2 Merge bitcoin-core/secp256k1#1416: doc: Align documented scripts with CI ones
49be5be Merge bitcoin-core/secp256k1#1390: tests: Replace counting_illegal_callbacks with CHECK_ILLEGAL_VOID
cbf3053 Merge bitcoin-core/secp256k1#1417: release cleanup: bump version after 0.4.0
9b118bc release cleanup: bump version after 0.4.0
199d27c Merge bitcoin-core/secp256k1#1415: release: Prepare for 0.4.0
7030364 tests: add CHECK_ERROR_VOID and use it in scratch tests
f8d7ea6 tests: Replace counting_illegal_callbacks with CHECK_ILLEGAL_VOID
1633980 release: Prepare for 0.4.0
d9a8506 changelog: Catch up in preparation of release
b0f7bfe doc: Do not mention soname in CHANGELOG.md "ABI Compatibility" section
bd9d98d doc: Align documented scripts with CI ones
0b4640a Merge bitcoin-core/secp256k1#1413: ci: Add `release` job
8659a01 ci: Add `release` job
f9b3889 ci: Update `actions/checkout` version
a1d52e3 tests: remove unnecessary test in run_ec_pubkey_parse_test
875b0ad tests: remove unnecessary set_illegal_callback
727bec5 Merge bitcoin-core/secp256k1#1414: ci/gha: Add ARM64 QEMU jobs for clang and clang-snapshot
2635068 ci/gha: Let MSan continue checking after errors in all jobs
e78c7b6 ci/Dockerfile: Reduce size of Docker image further
2f0d3bb ci/Dockerfile: Warn if `ulimit -n` is too high when running Docker
4b8a647 ci/gha: Add ARM64 QEMU jobs for clang and clang-snapshot
6ebe7d2 ci/Dockerfile: Always use versioned clang packages
65c79fe Merge bitcoin-core/secp256k1#1412: ci: Switch macOS from Ventura to Monterey and add Valgrind
c223d7e ci: Switch macOS from Ventura to Monterey and add Valgrind
ea26b71 Merge bitcoin-core/secp256k1#1411: ci: Make repetitive command the default one
cce0456 ci: Make repetitive command the default one
317a4c4 ci: Move `git config ...` to `run-in-docker-action`
4d7fe60 Merge bitcoin-core/secp256k1#1409: ci: Move remained task from Cirrus to GitHub Actions
676ed8f ci: Move "C++ (public headers)" from Cirrus to GitHub Actions
61fc3a2 ci: Move "C++ -fpermissive..." from Cirrus to GitHub Actions
d51fb0a ci: Move "MSan" from Cirrus to GitHub Actions
c22ac27 ci: Move sanitizers task from Cirrus to GitHub Actions
26a9899 Merge bitcoin-core/secp256k1#1410: ci: Use concurrency for pull requests only
ee1be62 ci: Use concurrency for pull requests only
6ee1455 Merge bitcoin-core/secp256k1#1406: ci, gha: Move more non-x86_64 tasks from Cirrus CI to GitHub Actions
fc3dea2 ci: Move "ppc64le: Linux..." from Cirrus to GitHub Actions
7782dc8 ci: Move "ARM64: Linux..." from Cirrus to GitHub Actions
0a16de6 ci: Move "ARM32: Linux..." from Cirrus to GitHub Actions
ea33914 ci: Move "s390x (big-endian): Linux..." from Cirrus to GitHub Actions
880be8a ci: Move "i686: Linux (Debian stable)" from Cirrus to GiHub Actions
2e6cf9b Merge bitcoin-core/secp256k1#1396: ci, gha: Add "x86_64: Linux (Debian stable)" GitHub Actions job
5373693 Merge bitcoin-core/secp256k1#1405: ci: Drop no longer needed workaround
ef9fe95 ci: Drop no longer needed workaround
e10878f ci, gha: Drop `driver-opts.network` input for `setup-buildx-action`
4ad4914 ci, gha: Add `retry_builder` Docker image builder
6617a62 ci: Remove "x86_64: Linux (Debian stable)" task from Cirrus CI
03c9e65 ci, gha: Add "x86_64: Linux (Debian stable)" GitHub Actions job
ad3e65d ci: Remove GCC build files and sage to reduce size of Docker image
6b9507a Merge bitcoin-core/secp256k1#1398: ci, gha: Add Windows jobs based on Linux image
87d35f3 ci: Rename `cirrus.sh` to more general `ci.sh`
d6281dd ci: Remove Windows tasks from Cirrus CI
2b6f9cd ci, gha: Add Windows jobs based on Linux image
48b1d93 Merge bitcoin-core/secp256k1#1403: ci, gha: Ensure only a single workflow processes `github.ref` at a time
0ba2b94 Merge bitcoin-core/secp256k1#1373: Add invariant checking for scalars
c45b7c4 refactor: introduce testutil.h (deduplicate `random_fe_`, `ge_equals_` helpers)
dc55141 tests: simplify `random_fe_non_zero` (remove loop limit and unneeded normalize)
060e32c Merge bitcoin-core/secp256k1#1401: ci, gha: Run all MSVC tests on Windows natively
de657c2 Merge bitcoin-core/secp256k1#1062: Removes `_fe_equal_var`, and unwanted `_fe_normalize_weak` calls (in tests)
bcffeb1 Merge bitcoin-core/secp256k1#1404: ci: Remove "arm64: macOS Ventura" task from Cirrus CI
c2f6435 ci: Add comment about switching macOS to M1 on GHA later
4a24fae ci: Remove "arm64: macOS Ventura" task from Cirrus CI
b0886fd ci, gha: Ensure only a single workflow processes `github.ref` at a time
3d05c86 Merge bitcoin-core/secp256k1#1394: ci, gha: Run "x86_64: macOS Ventura" job on GitHub Actions
d78bec7 ci: Remove Windows MSVC tasks from Cirrus CI
3545dc2 ci, gha: Run all MSVC tests on Windows natively
5d8fa82 Merge bitcoin-core/secp256k1#1274: test: Silent noisy clang warnings about Valgrind code on macOS x86_64
8e54a34 ci, gha: Run "x86_64: macOS Ventura" job on GitHub Actions
b327abf Merge bitcoin-core/secp256k1#1402: ci: Use Homebrew's gcc in native macOS task
d62db57 ci: Use Homebrew's gcc in native macOS task
54058d1 field: remove `secp256k1_fe_equal_var`
bb4efd6 tests: remove unwanted `secp256k1_fe_normalize_weak` call
eedd781 Merge bitcoin-core/secp256k1#1348: tighten group magnitude limits, save normalize_weak calls in group add methods (revival of #1032)
b2f6712 Merge bitcoin-core/secp256k1#1400: ctimetests: Use new SECP256K1_CHECKMEM macros also for ellswift
9c91ea4 ci: Enable ellswift module where it's missing
db32a24 ctimetests: Use new SECP256K1_CHECKMEM macros also for ellswift
ce765a5 Merge bitcoin-core/secp256k1#1399: ci, gha: Run "SageMath prover" job on GitHub Actions
8408dfd Revert "ci: Run sage prover on CI"
c8d9914 ci, gha: Run "SageMath prover" job on GitHub Actions
8d2960c Merge bitcoin-core/secp256k1#1397: ci: Remove "Windows (VS 2022)" task from Cirrus CI
f1774e5 ci, gha: Make MSVC job presentation more explicit
5ee039b ci: Remove "Windows (VS 2022)" task from Cirrus CI
96294c0 Merge bitcoin-core/secp256k1#1389: ci: Run "Windows (VS 2022)" job on GitHub Actions
a2f7ccd ci: Run "Windows (VS 2022)" job on GitHub Actions
374e2b5 Merge bitcoin-core/secp256k1#1290: cmake: Set `ENVIRONMENT` property for examples on Windows
1b13415 Merge bitcoin-core/secp256k1#1391: refactor: take use of `secp256k1_scalar_{zero,one}` constants (part 2)
a1bd497 refactor: take use of `secp256k1_scalar_{zero,one}` constants (part 2)
b7c685e Save _normalize_weak calls in group add methods
c83afa6 Tighten group magnitude limits
26392da Merge bitcoin-core/secp256k1#1386: ci: print $ELLSWIFT in cirrus.sh
d23da6d use secp256k1_scalar_verify checks
4692478 ci: print $ELLSWIFT in cirrus.sh
c7d0454 add verification for scalars
c734c64 Merge bitcoin-core/secp256k1#1384: build: enable ellswift module via SECP_CONFIG_DEFINES
ad15215 update max scalar in scalar_cmov_test and fix schnorrsig_verify exhaustive test
78ca880 build: enable ellswift module via SECP_CONFIG_DEFINES
0e00fc7 Merge bitcoin-core/secp256k1#1383: util: remove unused checked_realloc
b097a46 util: remove unused checked_realloc
2bd5f3e Merge bitcoin-core/secp256k1#1382: refactor: Drop unused cast
4f8c5bd refactor: Drop unused cast
173e8d0 Implement current magnitude assumptions
49afd2f Take use of _fe_verify_magnitude in field_impl.h
4e9661f Add _fe_verify_magnitude (no-op unless VERIFY is enabled)
690b0fc add missing group element invariant checks
175db31 ci: Drop no longer needed `PATH` variable update on Windows
116d2ab cmake: Set `ENVIRONMENT` property for examples on Windows
cef3739 cmake, refactor: Use helper function instead of interface library
747ada3 test: Silent noisy clang warnings about Valgrind code on macOS x86_64
42f8c51 cmake: Add `SECP256K1_LATE_CFLAGS` configure option
e02f313 Add comment on length checks when parsing ECDSA sigs

git-subtree-dir: src/secp256k1
git-subtree-split: e3a885d42a7800c1ccebad94ad1e2b82c4df5c65
vmta added a commit to umkoin/umkoin that referenced this pull request May 20, 2024
da515074e Merge bitcoin-core/secp256k1#1058: Signed-digit multi-comb ecmult_gen algorithm
4c341f89a Add changelog entry for SDMC
a04394025 Permit COMB_BITS < 256 for exhaustive tests
39b2f2a32 Add test case for ecmult_gen recoded = {-1,0,1}
644e86de9 Reintroduce projective blinding
07810d9ab Reduce side channels from single-bit reads
a0d32b597 Optimization: use Nx32 representation for recoded bits
e03dcc44b Make secp256k1_scalar_get_bits support 32-bit reads
5005abee6 Rename scalar_get_bits -> scalar_get_bits_limb32; return uint32_t
6247f485b Optimization: avoid unnecessary doublings in precomputation
15d0cca2a Optimization: first table lookup needs no point addition
7a33db35c Optimization: move (2^COMB_BITS-1)/2 term into ctx->scalar_offset
ed2a056f3 Provide 3 configurations accessible through ./configure
5f7be9f6a Always generate tables for current (blocks,teeth) config
fde1dfcd8 Signed-digit multi-comb ecmult_gen algorithm
486518b35 Make exhaustive tests's scalar_inverse(&x,&x) work
ab45c3e08 Initial gej blinding -> final ge blinding
aa00a6b89 Introduce CEIL_DIV macro and use it
d8311688b Merge bitcoin-core/secp256k1#1515: ci: Note affected clangs in comment on ASLR quirk
a85e2233e ci: Note affected clangs in comment on ASLR quirk
4b77fec67 Merge bitcoin-core/secp256k1#1512: msan: notate more variable assignments from assembly code
f7f0184ba msan: notate more variable assignments from assembly code
a61339149 change inconsistent array param to pointer
05bfab69a Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab248 ci: Add sanitizer env variables to debug output
84a93de4d ci: Add workaround for ASLR bug in sanitizers
427e86b9e Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue #1472)
2028069df doc: clarify input requirements for secp256k1_fe_mul
11420a7a2 tests: improve fe_sqr test
cdc9a6258 Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba40494 msan: notate variable assignments from assembly code
e7ea32e30 msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c5 tests: add missing fe comparison checks for inverse field test cases
0653a25d5 Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d529 ci: Update cache action
248362729 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dc Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
51df2d9ab tests: Drop redundant _scalar_check_overflow calls
3777e3f36 cmake: Recommend native CMake commands in README
e4af41c61 Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678e build: Error if required module explicitly off
89ec583cc build: Clean up handling of module dependencies
44378867a Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
b37fdb28c check-abi: Minor UI improvements
ad5f589a9 check-abi: Default to HEAD for new version
9fb7e2f15 release process: Style and formatting nits
e7053d065 release process: Add email step
429d21dc7 release process: Run sanity checks on release PR
42f8c5140 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: da515074e3ebc8abc85a4fff3a31d7694ecf897b
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Jun 6, 2024
d8311688bd Merge bitcoin-core/secp256k1#1515: ci: Note affected clangs in comment on ASLR quirk
a85e2233e7 ci: Note affected clangs in comment on ASLR quirk
4b77fec67a Merge bitcoin-core/secp256k1#1512: msan: notate more variable assignments from assembly code
f7f0184ba1 msan: notate more variable assignments from assembly code
a61339149f change inconsistent array param to pointer
05bfab69ae Merge bitcoin-core/secp256k1#1507: ci: Add workaround for ASLR bug in sanitizers
a5e8ab2484 ci: Add sanitizer env variables to debug output
84a93de4d2 ci: Add workaround for ASLR bug in sanitizers
427e86b9ed Merge bitcoin-core/secp256k1#1490: tests: improve fe_sqr test (issue #1472)
2028069df2 doc: clarify input requirements for secp256k1_fe_mul
11420a7a28 tests: improve fe_sqr test
cdc9a6258e Merge bitcoin-core/secp256k1#1489: tests: add missing fe comparison checks for inverse field test cases
d926510cf7 Merge bitcoin-core/secp256k1#1496: msan: notate variable assignments from assembly code
31ba404944 msan: notate variable assignments from assembly code
e7ea32e30a msan: Add SECP256K1_CHECKMEM_MSAN_DEFINE which applies to memory sanitizer and not valgrind
e7bdddd9c9 refactor: rename `check_fe_equal` -> `fe_equal`
00111c9c56 tests: add missing fe comparison checks for inverse field test cases
0653a25d50 Merge bitcoin-core/secp256k1#1486: ci: Update cache action
94a14d5290 ci: Update cache action
2483627299 Merge bitcoin-core/secp256k1#1483: cmake: Recommend native CMake commands in README
5ad3aa3dcd Merge bitcoin-core/secp256k1#1484: tests: Drop redundant _scalar_check_overflow calls
51df2d9ab3 tests: Drop redundant _scalar_check_overflow calls
3777e3f36a cmake: Recommend native CMake commands in README
e4af41c61b Merge bitcoin-core/secp256k1#1249: cmake: Add `SECP256K1_LATE_CFLAGS` configure option
3bf4d68fc0 Merge bitcoin-core/secp256k1#1482: build: Clean up handling of module dependencies
e6822678ea build: Error if required module explicitly off
89ec583ccf build: Clean up handling of module dependencies
44378867a0 Merge bitcoin-core/secp256k1#1468: v0.4.1 release aftermath
a9db9f2d75 Merge bitcoin-core/secp256k1#1480: Get rid of untested sizeof(secp256k1_ge_storage) == 64 code path
74b7c3b53e Merge bitcoin-core/secp256k1#1476: include: make docs more consistent
b37fdb28ce check-abi: Minor UI improvements
ad5f589a94 check-abi: Default to HEAD for new version
9fb7e2f156 release process: Style and formatting nits
ba5d72d626 assumptions: Use new STATIC_ASSERT macro
e53c2d9ffc Require that sizeof(secp256k1_ge_storage) == 64
d0ba2abbff util: Add STATIC_ASSERT macro
da7bc1b803 include: in doc, remove article in front of "pointer"
aa3dd5280b include: make doc about ctx more consistent
e3f690015a include: remove obvious "cannot be NULL" doc
d373bf6d08 Merge bitcoin-core/secp256k1#1474: tests: restore scalar_mul test
79e094517c Merge bitcoin-core/secp256k1#1473: Fix typos
3dbfb48946 tests: restore scalar_mul test
d77170a88d Fix typos
e7053d065b release process: Add email step
429d21dc79 release process: Run sanity checks on release PR
42f8c51402 cmake: Add `SECP256K1_LATE_CFLAGS` configure option

git-subtree-dir: src/secp256k1
git-subtree-split: d8311688bd383d3a923a1b11789cded3cc8e5e03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants