Skip to content

Commit d0ad581

Browse files
Merge bitcoin-core/secp256k1#995: build: stop treating schnorrsig, extrakeys modules as experimental
7f09d0f README: mention that ARM assembly is experimental (Jonas Nick) 80cf4ee build: stop treating schnorrsig, extrakeys modules as experimental (Jonas Nick) Pull request description: Fixes bitcoin#992 ACKs for top commit: real-or-random: ACK 7f09d0f fanquake: ACK 7f09d0f - When this is in, I think we'll do a subtree update in Core, and prune some build cruft on our side. Tree-SHA512: 13deb82dcca88bacb2cd5c1c589a8d4af2277c4d675262337ae4d7e93eb41d43825dda4945ca1c202c36aaa2e6fd42de9c6d711fe8d71bce578368281db698b2
2 parents 1ac7e31 + 7f09d0f commit d0ad581

File tree

3 files changed

+9
-27
lines changed

3 files changed

+9
-27
lines changed

.cirrus.yml

+5-13
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ task:
6767
<< : *LINUX_CONTAINER
6868
matrix: &ENV_MATRIX
6969
- env: {WIDEMUL: int64, RECOVERY: yes}
70-
- env: {WIDEMUL: int64, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
70+
- env: {WIDEMUL: int64, ECDH: yes, SCHNORRSIG: yes}
7171
- env: {WIDEMUL: int128}
72-
- env: {WIDEMUL: int128, RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
73-
- env: {WIDEMUL: int128, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
72+
- env: {WIDEMUL: int128, RECOVERY: yes, SCHNORRSIG: yes}
73+
- env: {WIDEMUL: int128, ECDH: yes, SCHNORRSIG: yes}
7474
- env: {WIDEMUL: int128, ASM: x86_64}
75-
- env: { RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
75+
- env: { RECOVERY: yes, SCHNORRSIG: yes}
7676
- env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no}
7777
- env: {CPPFLAGS: -DDETERMINISTIC}
7878
- env: {CFLAGS: -O0, CTIMETEST: no}
@@ -95,7 +95,6 @@ task:
9595
HOST: i686-linux-gnu
9696
ECDH: yes
9797
RECOVERY: yes
98-
EXPERIMENTAL: yes
9998
SCHNORRSIG: yes
10099
matrix:
101100
- env:
@@ -178,7 +177,6 @@ task:
178177
WITH_VALGRIND: no
179178
ECDH: yes
180179
RECOVERY: yes
181-
EXPERIMENTAL: yes
182180
SCHNORRSIG: yes
183181
CTIMETEST: no
184182
<< : *MERGE_BASE
@@ -198,12 +196,11 @@ task:
198196
WITH_VALGRIND: no
199197
ECDH: yes
200198
RECOVERY: yes
201-
EXPERIMENTAL: yes
202199
SCHNORRSIG: yes
203200
CTIMETEST: no
204201
matrix:
205202
- env: {}
206-
- env: {ASM: arm}
203+
- env: {EXPERIMENTAL: yes, ASM: arm}
207204
<< : *MERGE_BASE
208205
test_script:
209206
- ./ci/cirrus.sh
@@ -219,7 +216,6 @@ task:
219216
WITH_VALGRIND: no
220217
ECDH: yes
221218
RECOVERY: yes
222-
EXPERIMENTAL: yes
223219
SCHNORRSIG: yes
224220
CTIMETEST: no
225221
<< : *MERGE_BASE
@@ -237,7 +233,6 @@ task:
237233
WITH_VALGRIND: no
238234
ECDH: yes
239235
RECOVERY: yes
240-
EXPERIMENTAL: yes
241236
SCHNORRSIG: yes
242237
CTIMETEST: no
243238
<< : *MERGE_BASE
@@ -255,7 +250,6 @@ task:
255250
WITH_VALGRIND: no
256251
ECDH: yes
257252
RECOVERY: yes
258-
EXPERIMENTAL: yes
259253
SCHNORRSIG: yes
260254
CTIMETEST: no
261255
<< : *MERGE_BASE
@@ -269,7 +263,6 @@ task:
269263
env:
270264
ECDH: yes
271265
RECOVERY: yes
272-
EXPERIMENTAL: yes
273266
SCHNORRSIG: yes
274267
CTIMETEST: no
275268
matrix:
@@ -317,7 +310,6 @@ task:
317310
CC: gcc
318311
MAKEFLAGS: -j4 CC=g++ CFLAGS=-fpermissive\ -g
319312
WERROR_CFLAGS:
320-
EXPERIMENTAL: yes
321313
ECDH: yes
322314
RECOVERY: yes
323315
SCHNORRSIG: yes

README.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ Features:
1717
* Suitable for embedded systems.
1818
* Optional module for public key recovery.
1919
* Optional module for ECDH key exchange.
20-
* Optional module for Schnorr signatures according to [BIP-340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki) (experimental).
21-
22-
Experimental features have not received enough scrutiny to satisfy the standard of quality of this library but are made available for testing and review by the community. The APIs of these features should not be considered stable.
20+
* Optional module for Schnorr signatures according to [BIP-340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki).
2321

2422
Implementation details
2523
----------------------
@@ -35,6 +33,7 @@ Implementation details
3533
* Optimized implementation of arithmetic modulo the curve's field size (2^256 - 0x1000003D1).
3634
* Using 5 52-bit limbs (including hand-optimized assembly for x86_64, by Diederik Huys).
3735
* Using 10 26-bit limbs (including hand-optimized assembly for 32-bit ARM, by Wladimir J. van der Laan).
36+
* This is an experimental feature that has not received enough scrutiny to satisfy the standard of quality of this library but is made available for testing and review by the community.
3837
* Scalar operations
3938
* Optimized implementation without data-dependent branches of arithmetic modulo the curve's order.
4039
* Using 4 64-bit limbs (relying on __int128 support in the compiler).
@@ -72,7 +71,6 @@ libsecp256k1 is built using autotools:
7271
Usage examples
7372
-----------
7473
Usage examples can be found in the [examples](examples) directory. To compile them you need to configure with `--enable-examples`.
75-
For experimental modules, you will also need `--enable-experimental` as well as a flag for each individual module, e.g. `--enable-module-ecdh`.
7674
* [ECDSA example](examples/ecdsa.c)
7775
* [Schnorr Signatures example](examples/schnorr.c)
7876
* [Deriving a shared secret(ECDH) example](examples/ecdh.c)

configure.ac

+2-10
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ AC_ARG_ENABLE(module_recovery,
149149
[SECP_SET_DEFAULT([enable_module_recovery], [no], [yes])])
150150

151151
AC_ARG_ENABLE(module_extrakeys,
152-
AS_HELP_STRING([--enable-module-extrakeys],[enable extrakeys module (experimental)]), [],
152+
AS_HELP_STRING([--enable-module-extrakeys],[enable extrakeys module]), [],
153153
[SECP_SET_DEFAULT([enable_module_extrakeys], [no], [yes])])
154154

155155
AC_ARG_ENABLE(module_schnorrsig,
156-
AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module (experimental)]), [],
156+
AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module]), [],
157157
[SECP_SET_DEFAULT([enable_module_schnorrsig], [no], [yes])])
158158

159159
AC_ARG_ENABLE(external_default_callbacks,
@@ -364,16 +364,8 @@ if test x"$enable_experimental" = x"yes"; then
364364
AC_MSG_NOTICE([******])
365365
AC_MSG_NOTICE([WARNING: experimental build])
366366
AC_MSG_NOTICE([Experimental features do not have stable APIs or properties, and may not be safe for production use.])
367-
AC_MSG_NOTICE([Building extrakeys module: $enable_module_extrakeys])
368-
AC_MSG_NOTICE([Building schnorrsig module: $enable_module_schnorrsig])
369367
AC_MSG_NOTICE([******])
370368
else
371-
if test x"$enable_module_extrakeys" = x"yes"; then
372-
AC_MSG_ERROR([extrakeys module is experimental. Use --enable-experimental to allow.])
373-
fi
374-
if test x"$enable_module_schnorrsig" = x"yes"; then
375-
AC_MSG_ERROR([schnorrsig module is experimental. Use --enable-experimental to allow.])
376-
fi
377369
if test x"$set_asm" = x"arm"; then
378370
AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.])
379371
fi

0 commit comments

Comments
 (0)