DarkWindman
f1e52fac20
Merge commits '88be4e8d b4756543 10dab907 58178851 de6af6ae baa26542 2b7337f6 a44a3393 f44c1ebd d543c0d9 43e7b115 7a2fff85 ' into temp-merge-1758
2026-02-27 14:47:34 +02:00
mllwchrry
513e550e8a
Merge commits '4392f0f7 ' into temp-merge-1533
2026-02-09 13:10:17 +02:00
DarkWindman
2cb2e312e9
extrakeys: Migrate to bitcoin-core/secp256k1#1518 secp256k1_ec_pubkey_sort
2026-02-05 19:02:49 +02:00
furszy
9ec3bfe22d
test: adapt modules to the new test infrastructure
...
This not only provides a structural improvement but also
allows us to (1) specify individual tests to run and (2)
execute each of them concurrently.
2025-10-01 10:17:57 -04:00
Jonas Nick
83d0fa25a8
extrakeys: fix pubkey_sort_cmp test
...
Instead of providing CTX directly, pass a cmp_data object containing CTX.
Otherwise, memory sanitizer fails with "use-of-uninitialized-value".
2025-09-08 19:18:39 +00:00
Sebastian Falbesoner
e73f6f8fd9
tests: refactor: drop secp256k1_ prefix from testrand.h functions
...
The rename was done with the following command:
$ sed -i 's/secp256k1_testrand/testrand/g' $(git grep -l secp256k1_testrand)
2024-05-27 03:29:36 +02:00
Tim Ruffing
4f65698865
extrakeys: Remove redundant secp256k1_pubkey_cmp
...
It was a verbatim copy of secp256k1_ec_pubkey_cmp.
2024-01-23 16:04:45 +01:00
Jonas Nick
775f5e242b
Merge commits '1b13415d 374e2b54 96294c00 8d2960c8 ce765a5b b2f6712d eedd7810 b327abfc 5d8fa825 3d05c86d bcffeb14 de657c20 060e32cb 0ba2b945 48b1d939 6b9507ad 5373693e 2e6cf9ba 6ee14550 26a98992 4d7fe609 ea26b71c 65c79fe2 727bec5b 0b4640ae 199d27ce cbf3053f 49be5be9 b10ddd2b 4fd00f4b ba9cb6f3 ee7aaf21 ' into temp-merge-1395
...
- Replace fe_equal_var with fe_equal
- Use CHECK_ILLEGAL instead of CHECK/ecount
- Turn on secp256k1-zkp specific modules in CI
2023-09-20 09:38:36 +00:00
Jonas Nick
70303643cf
tests: add CHECK_ERROR_VOID and use it in scratch tests
2023-09-04 16:19:49 +00:00
Jonas Nick
f8d7ea68df
tests: Replace counting_illegal_callbacks with CHECK_ILLEGAL_VOID
...
This commit also explicitly initializes shortpubkey. For some reason, removing
surrounding, unrelated lines results in gcc warnings when configured with
--enable-ctime-tests=no --with-valgrind=no.
2023-09-04 16:19:40 +00:00
siv2r
54058d16fe
field: remove secp256k1_fe_equal_var
...
`fe_equal_var` hits a fast path only when the inputs are unequal, which is
uncommon among its callers (public key parsing, ECDSA verify).
2023-08-16 17:39:25 +05:30
Tim Ruffing
9e96a2e9d8
hsort tests: Don't call secp256k1_testrand_int(0)
2023-07-28 10:52:25 +02:00
Tim Ruffing
4c70cc9bf5
Suppress wrong/buggy warning in MSVC <19.33
...
For background, see:
https://developercommunity.visualstudio.com/t/c-compiler-incorrect-propagation-of-const-qualifie/390711
2023-07-27 16:31:40 +00:00
Jonas Nick
7a07f3d33f
Merge commits '3bab71cf 4258c54f 566faa17 9ce9984f 04bf3f67 5be353d6 2e035af2 5b0444a3 a6f4bcf6 5ec1333d f6bef03c 1f33bb2b 1c895367 6b7e5b71 596b336f 4b84f4bf 024a4094 222ecaf6 4b0f711d 3c818388 f30c7486 1cf15ebd 24c768ae 341cc197 c63ec88e 54d34b6c 073d98a0 9eb6934f ab5a9171 fb3a8063 006ddc1f 3353d3c7 b54a0672 7d4f86d2 e8295d07 3e3d125b acf5c55a ' into temp-merge-1312
2023-07-24 20:15:07 +00:00
Jonas Nick
0d540ec942
Merge commits '88e80722 ff8edf89 f29a3270 a7a7bfaf a01a7d86 b1579cf5 ad7433b1 233822d8 5fbff5d3 2b77240b 1bff2005 e1817a6f 5596ec5c 8ebe5c52 1cca7c17 1b21aa51 cbd25559 09b1d466 57573187 8962fc95 9d1b458d eb8749fc 6048e6c0 ' into temp-merge-1222
2023-07-20 16:29:40 +00:00
Jonas Nick
304fc88557
Merge commits '9a8d65f0 75d7b7f5 665ba77e 3f57b9f7 eacad90f 01b819a8 31ed5386 2a39ac16 0eb30004 cbe41ac1 cc3b8a4f ' into temp-merge-1187
2023-07-20 12:19:00 +00:00
Jonas Nick
6c54db1987
Merge commits '2286f809 751c4354 477f02c4 e3f84777 5c789dcd 8c949f56 21ffe4b2 ' into temp-merge-1055
2023-07-18 12:51:17 +00:00
Pieter Wuille
5b32602295
Split fe_set_b32 into reducing and normalizing variants
2023-05-11 13:49:33 -04:00
Tim Ruffing
e444d24bca
Fix include guards: No _ prefix/suffix but _H suffix (as in upstream)
2023-04-21 12:02:28 +02:00
Tim Ruffing
0eea7d97ab
Use relative #include paths in tests (as in upstream)
2023-04-21 11:51:04 +02:00
Hennadii Stepanov
8e142ca410
Move SECP256K1_INLINE macro definition out from include/secp256k1.h
2023-03-09 15:29:56 +00:00
Jonas Nick
304f1bc96d
extrakeys: add pubkey_sort test vectors from BIP MuSig2
2023-02-13 14:03:51 +00:00
Jonas Nick
ae89051547
extrakeys: replace xonly_sort with pubkey_sort
2023-02-13 14:03:51 +00:00
Jonas Nick
98242fcdd9
extrakeys: add secp256k1_pubkey_cmp
2023-02-13 14:03:51 +00:00
Tim Ruffing
a7a7bfaf3d
Merge bitcoin-core/secp256k1#1190 : Make all non-API functions (except main) static
...
e03ef86559 Make all non-API functions (except main) static (Pieter Wuille)
Pull request description:
ACKs for top commit:
real-or-random:
utACK e03ef86559
hebasto:
ACK e03ef86559 .
Tree-SHA512: 36a35d9a8da05411c88644aec81e79883febce3e08c9eb6b0ec95cfc3705fd6abfd66f7ee10dfa081ca20786d26b0a060ead7f5c8109bf02a73dde7ef811144b
2023-01-16 18:46:37 +01:00
Tim Ruffing
9a93f48f50
refactor: Rename STTC to STATIC_CTX in tests
2023-01-10 18:43:09 +01:00
Tim Ruffing
3385a2648d
refactor: Rename global variables to uppercase in tests
2023-01-10 18:43:09 +01:00
Pieter Wuille
e03ef86559
Make all non-API functions (except main) static
2023-01-09 12:02:27 -05:00
Tim Ruffing
b19806122e
tests: Use global copy of secp256k1_context_static instead of clone
2023-01-04 16:39:50 +01:00
Jonas Nick
d6dc0f4ae3
tests: Switch to NONE contexts in module tests
2022-12-07 10:54:50 +00:00
Tim Ruffing
d2c6d48de3
tests: Use new name of static context
2022-12-05 11:26:44 +01:00
Jon Griffiths
db648478c3
extrakeys: rename swap/swap64 to fix OpenBSD 7.1 compilation
...
OpenBSD defines swap64 in <endian.h>.
2022-07-18 12:29:54 +12:00
Tim Ruffing
40a3473a9d
build: Fix #include "..." paths to get rid of further -I arguments
...
This simplifies building without a build system.
This is in line with #925 ; the paths fixed here were either forgotten
there or only introduced later. This commit also makes the Makefile
stricter so that further "wrong" #include paths will lead to build
errors even in autotools builds.
This belongs to #929 .
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com >
2022-07-01 15:03:35 +02:00
Jonas Nick
72c8deac03
Merge commits with sync-upstream.sh
...
da0092bc 10f9bd84 297ce820 f34b5cae 920a0e5f 9526874d aa1b889b 20d791ed 3e7b2ea1 21c188b3 8fa41201 515a5dbd c74a7b7e 74c34e72 7006f1b9 ea5e8a9c 793ad901 2e5e4b67 fecf436d 49f608de 49002274 6ad908aa 4f01840b 61ae37c6 486205aa 5d0dbef0 0559fc6e be6944ad a69df3ad b39d431a 0b83b203 09971a3f 9281c9f4 423b6d19 a310e79e 39a36db9 a1102b12
Deal with
- secp256k1_test_rng removal in commit
77a19750b4
- ecmult_gen context simplification after making table static in commit
3b0c2185ea
2022-01-02 16:11:15 +00:00
Tim Ruffing
3b0c2185ea
ecmult_gen: Simplify ecmult_gen context after making table static
...
This is a backwards-compatible API change: Before this commit, a context
initialized for signing was required to call functions that rely on
ecmult_gen. After this commit, this is no longer necessary because the
static ecmult_gen table is always present. In practice this means that
the corresponding functions will just work instead of calling the
illegal callback when given a context which is not (officially)
initialized for signing.
This is in line with 6815761 , which made the analogous change with
respect to ecmult and contexts initialized for signing. But as opposed
to 681571, which removed the ecmult context entirely, we cannot remove
the ecmult_gen context entirely because it is still used for random
blinding. Moreover, since the secp256k1_context_no_precomp context is
const and cannot meaningfully support random blinding, we refrain (for
now) from changing its API, i.e., the illegal callback will still be
called when trying to use ecmult_gen operations with the static
secp256k1_context_no_precomp context.
2021-12-03 11:23:33 +01:00
Jonas Nick
938725c1c9
Merge commits 'd7ec49a6 9a5a87e0 aa5d34a8 2a3a97c6 ' into temp-merge-976
...
Also remove remaining uses of ecmult context in secp-zkp and update API tests
accordingly.
2021-09-16 15:21:11 +00:00
Russell O'Connor
6815761cf5
Remove ecmult_context.
...
These tables stored in this context are now statically available from the generated ecmult_static_pre_g.h file.
2021-08-20 11:11:26 -04:00
Jonas Nick
9b3d7bf536
extrakeys: add xonly_sort function
2021-07-14 19:41:38 +00:00
Jonas Nick
f31affd8a6
extrakeys: add hsort, in-place, iterative heapsort
2021-07-14 19:29:30 +00:00
Jonas Nick
202a030f7d
Merge #850 : add secp256k1_ec_pubkey_cmp method
...
6eceec6d56 add `secp256k1_xonly_pubkey_cmp` method (Andrew Poelstra)
0d9561ae87 add `secp256k1_ec_pubkey_cmp` method (Andrew Poelstra)
Pull request description:
ACKs for top commit:
elichai:
Code review ACK 6eceec6d56
jonasnick:
ACK 6eceec6d56
real-or-random:
ACK 6eceec6d56
Tree-SHA512: f95cbf65f16c88a4adfa1ea7cc6ddabab14baa3b68fa069e78e6faad4852cdbfaea42ee72590d2e0b8f3159cf9b37969511550eb6b2d256b101e2147711cc817
2021-05-13 19:17:53 +00:00
Andrew Poelstra
6eceec6d56
add secp256k1_xonly_pubkey_cmp method
2021-05-06 18:36:44 +00:00
William Bright
3c90bdda95
change local lib headers to be relative for those pointing at "include/" dir
...
added relative paths to header files imported from src directory
added include guards for contrib/ files when referring to secp256k1.h
2021-05-05 09:24:05 -04:00
Russell O'Connor
fb390c5299
Remove underscores from header defs.
...
This makes them consistent with other files and avoids reserved identifiers.
2021-01-23 14:48:35 -05:00
Tim Ruffing
328aaef22a
Merge #845 : Extract the secret key from a keypair
...
33cb3c2b1f Add secret key extraction from keypair to constant time tests (Elichai Turkel)
36d9dc1e8e Add seckey extraction from keypair to the extrakeys tests (Elichai Turkel)
fc96aa73f5 Add a function to extract the secretkey from a keypair (Elichai Turkel)
Pull request description:
With schnorrsig if you need to tweak the secret key (for BIP32) you must use the keypair API to get compatible secret/public keys which you do by calling `secp256k1_keypair_xonly_tweak_add()`, but after that there's no currently a way to extract the secret key back for storage.
so I added a `secp256k1_keypair_seckey` function to extract the key
ACKs for top commit:
jonasnick:
ACK 33cb3c2b1f
real-or-random:
ACK 33cb3c2b1f code inspection, tests pass
Tree-SHA512: 11212db38c8b87a87e2dc35c4d6993716867b45215b94b20522b1b3164ca63d4c6bf5192a6bff0e9267b333779cc8164844c56669a94e9be72df9ef025ffcfd4
2021-01-12 10:56:14 +01:00
Elichai Turkel
36d9dc1e8e
Add seckey extraction from keypair to the extrakeys tests
2020-12-19 11:00:25 +02:00
Elichai Turkel
fc96aa73f5
Add a function to extract the secretkey from a keypair
2020-12-19 11:00:25 +02:00
Dimitris Apostolou
07aa4c70ff
Fix insecure links
2020-12-18 00:24:22 +02:00
Tim Ruffing
e89278f211
Don't use reserved identifiers memczero and benchmark_verify_t
...
As identified in #829 and #833 . Fixes #829 .
Since we touch this anyway, this commit additionally makes the
identifiers in the benchmark files a little bit more consistent.
2020-10-20 15:00:19 +02:00
Tim Ruffing
6173839c90
Switch to our own memcmp function
...
Fixes #823 .
2020-10-11 10:39:20 -07:00
Pieter Wuille
a45c1fa63c
Rename testrand functions to have test in name
2020-09-25 20:50:43 -07:00