Skip to content

Commit 50e20fa

Browse files
committed
Merge #257: Upstream PRs 1314, 1317, 1318, 1316, 1327, 1310, 1328, 1333, 1330, 1334, 1337, 1341, 1339, 1350, 1349, 1338, 1129, 1347, 1336, 1295, 1354, 1355, 1356
525b661 bppp/build: Fix linkage of benchmark (Tim Ruffing) 4c70cc9 Suppress wrong/buggy warning in MSVC <19.33 (Tim Ruffing) 579999b scalar: adjust muladd2 to new int128 interface (Jonas Nick) b160486 ecdsa_adaptor: add missing include (Jonas Nick) c862a9f ci: Adjust Docker image to Debian 12 "bookworm" (Hennadii Stepanov) a178209 ci: Force DWARF v4 for Clang when Valgrind tests are expected (Hennadii Stepanov) 8a72734 Help the compiler prove that a loop is entered (Tim Ruffing) 67887ae Fix a typo in the error message (Hennadii Stepanov) 7c7467a Refer to ellswift.md in API docs (Pieter Wuille) c32ffd8 Add ellswift to CHANGELOG (Pieter Wuille) bc7c8db abi: Use dllexport for mingw builds (Cory Fields) 5b7bf2e Use `__shiftright128` intrinsic in `secp256k1_u128_rshift` on MSVC (Hennadii Stepanov) 5779137 field: Document return value of fe_sqrt() (Tim Ruffing) 90e360a Add doc/ellswift.md with ElligatorSwift explanation (Pieter Wuille) 4f09184 Add ellswift testing to CI (Pieter Wuille) 1bcea8c Add benchmarks for ellswift module (Pieter Wuille) 2d1d41a Add ctime tests for ellswift module (Pieter Wuille) df633cd Add _prefix and _bip324 ellswift_xdh hash functions (Pieter Wuille) 9695deb Add tests for ellswift module (Pieter Wuille) c47917b Add ellswift module implementing ElligatorSwift (Pieter Wuille) 79e5b2a Add functions to test if X coordinate is valid (Pieter Wuille) a597a5a Add benchmark for key generation (Pieter Wuille) e449af6 Drop no longer needed `#include "../include/secp256k1.h"` (Hennadii Stepanov) f165252 Normalize ge produced from secp256k1_pubkey_load (stratospher) 7067ee5 tests: add tests for `secp256k1_{read,write}_be64` (Sebastian Falbesoner) 740528c scalar: use newly introduced `secp256k1_{read,write}_be64` helpers (4x64 impl.) (Sebastian Falbesoner) 887183e scalar: use `secp256k1_{read,write}_be32` helpers (4x64 impl.) (Sebastian Falbesoner) 52b8423 scalar: use `secp256k1_{read,write}_be32` helpers (8x32 impl.) (Sebastian Falbesoner) f364428 docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub` (Sebastian Falbesoner) db29bf2 ci: Remove quirk that runs dummy command after wineserver (Tim Ruffing) c7db494 ci: Fix error D8037 in `cl.exe` (Hennadii Stepanov) 7dae115 Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe" (Hennadii Stepanov) 605e07e fix input range comment for `secp256k1_fe_add_int` (Sebastian Falbesoner) ade5b36 tests: add checks for scalar constants `secp256k1_scalar_{zero,one}` (Sebastian Falbesoner) 654246c refactor: take use of `secp256k1_scalar_{zero,one}` constants (Sebastian Falbesoner) e83801f test: Warn if both `VERIFY` and `COVERAGE` are defined (Hennadii Stepanov) 1549db0 build: Level up MSVC warnings (Hennadii Stepanov) ad84603 release process: clarify change log updates (Jonas Nick) 6348bc7 release process: fix process for maintenance release (Jonas Nick) 79fa50b release process: mention targeted release schedule (Jonas Nick) 1652067 release process: add sanity checks (Jonas Nick) 27504d5 ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe (Tim Ruffing) 6433175 Do not invoke fe_is_zero on failed set_b32_limit (Pieter Wuille) 5768b50 build: Enable -DVERIFY for precomputation binaries (Tim Ruffing) 31b4bbe Make fe_cmov take max of magnitudes (Pieter Wuille) 95448ef release cleanup: bump version after 0.3.2 (Pieter Wuille) Pull request description: ACKs for top commit: real-or-random: tACK 525b661 Tree-SHA512: edee04b48ebcede0ad48b165b18a7542b48d6e5d9db034154682fa89bf76ec90569f8073cff8ce57f8abb016671604bcdec58a3a0c1aade911e62dcb63d4acd1
2 parents e593ed5 + 525b661 commit 50e20fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2337
-208
lines changed

.cirrus.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ env:
2121
ECDH: no
2222
RECOVERY: no
2323
SCHNORRSIG: no
24+
ELLSWIFT: no
2425
ECDSA_S2C: no
2526
GENERATOR: no
2627
RANGEPROOF: no
@@ -81,12 +82,12 @@ task:
8182
<< : *LINUX_CONTAINER
8283
matrix: &ENV_MATRIX
8384
- env: {WIDEMUL: int64, RECOVERY: yes}
84-
- env: {WIDEMUL: int64, ECDH: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
85+
- env: {WIDEMUL: int64, ECDH: yes, SCHNORRSIG: yes, ELLSWIFT: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
8586
- env: {WIDEMUL: int128}
8687
- env: {WIDEMUL: int128_struct}
87-
- env: {WIDEMUL: int128, RECOVERY: yes, SCHNORRSIG: yes}
88+
- env: {WIDEMUL: int128, RECOVERY: yes, SCHNORRSIG: yes, ELLSWIFT: yes}
8889
- env: {WIDEMUL: int128, ECDH: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
89-
- env: {WIDEMUL: int128, ASM: x86_64}
90+
- env: {WIDEMUL: int128, ASM: x86_64 , ELLSWIFT: yes}
9091
- env: { RECOVERY: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes}
9192
- env: {CTIMETESTS: no, RECOVERY: yes, ECDH: yes, SCHNORRSIG: yes, EXPERIMENTAL: yes, ECDSA_S2C: yes, RANGEPROOF: yes, WHITELIST: yes, GENERATOR: yes, MUSIG: yes, ECDSAADAPTOR: yes, BPPP: yes, CPPFLAGS: -DVERIFY}
9293
- env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETESTS: no, BENCH: no}
@@ -171,6 +172,7 @@ task:
171172
ECDH: yes
172173
RECOVERY: yes
173174
SCHNORRSIG: yes
175+
ELLSWIFT: yes
174176
EXPERIMENTAL: yes
175177
ECDSA_S2C: yes
176178
RANGEPROOF: yes
@@ -198,6 +200,7 @@ task:
198200
ECDH: yes
199201
RECOVERY: yes
200202
SCHNORRSIG: yes
203+
ELLSWIFT: yes
201204
CTIMETESTS: no
202205
matrix:
203206
- env: {}
@@ -218,6 +221,7 @@ task:
218221
ECDH: yes
219222
RECOVERY: yes
220223
SCHNORRSIG: yes
224+
ELLSWIFT: yes
221225
CTIMETESTS: no
222226
<< : *MERGE_BASE
223227
test_script:
@@ -235,6 +239,7 @@ task:
235239
ECDH: yes
236240
RECOVERY: yes
237241
SCHNORRSIG: yes
242+
ELLSWIFT: yes
238243
CTIMETESTS: no
239244
<< : *MERGE_BASE
240245
test_script:
@@ -272,6 +277,7 @@ task:
272277
RECOVERY: yes
273278
EXPERIMENTAL: yes
274279
SCHNORRSIG: yes
280+
ELLSWIFT: yes
275281
ECDSA_S2C: yes
276282
GENERATOR: yes
277283
RANGEPROOF: yes
@@ -319,6 +325,7 @@ task:
319325
ECDH: yes
320326
RECOVERY: yes
321327
SCHNORRSIG: yes
328+
ELLSWIFT: yes
322329
EXPERIMENTAL: yes
323330
ECDSA_S2C: yes
324331
RANGEPROOF: yes
@@ -410,6 +417,7 @@ task:
410417
ECDH: yes
411418
RECOVERY: yes
412419
SCHNORRSIG: yes
420+
ELLSWIFT: yes
413421
<< : *MERGE_BASE
414422
test_script:
415423
- ./ci/cirrus.sh

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ All notable changes to this project will be documented in this file.
88
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
99
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1010

11+
## [Unreleased]
12+
13+
#### Added
14+
- New module `ellswift` implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them.
15+
ElligatorSwift permits representing secp256k1 public keys as 64-byte arrays which cannot be distinguished from uniformly random. See:
16+
- Header file `include/secp256k1_ellswift.h` which defines the new API.
17+
- Document `doc/ellswift.md` which explains the mathematical background of the scheme.
18+
- The [paper](https://eprint.iacr.org/2022/759) on which the scheme is based.
19+
1120
## [0.3.2] - 2023-05-13
1221
We strongly recommend updating to 0.3.2 if you use or plan to use GCC >=13 to compile libsecp256k1. When in doubt, check the GCC version using `gcc -v`.
1322

CMakeLists.txt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ project(libsecp256k1
1111
# The package (a.k.a. release) version is based on semantic versioning 2.0.0 of
1212
# the API. All changes in experimental modules are treated as
1313
# backwards-compatible and therefore at most increase the minor version.
14-
VERSION 0.3.2
14+
VERSION 0.3.3
1515
DESCRIPTION "Optimized C library for ECDSA signatures and secret/public key operations on curve secp256k1."
1616
HOMEPAGE_URL "https://github.com/bitcoin-core/secp256k1"
1717
LANGUAGES C
@@ -35,7 +35,7 @@ endif()
3535
# All changes in experimental modules are treated as if they don't affect the
3636
# interface and therefore only increase the revision.
3737
set(${PROJECT_NAME}_LIB_VERSION_CURRENT 2)
38-
set(${PROJECT_NAME}_LIB_VERSION_REVISION 2)
38+
set(${PROJECT_NAME}_LIB_VERSION_REVISION 3)
3939
set(${PROJECT_NAME}_LIB_VERSION_AGE 0)
4040

4141
set(CMAKE_C_STANDARD 90)
@@ -71,6 +71,11 @@ if(SECP256K1_ENABLE_MODULE_EXTRAKEYS)
7171
add_compile_definitions(ENABLE_MODULE_EXTRAKEYS=1)
7272
endif()
7373

74+
option(SECP256K1_ENABLE_MODULE_ELLSWIFT "Enable ElligatorSwift module." ON)
75+
if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
76+
add_compile_definitions(ENABLE_MODULE_ELLSWIFT=1)
77+
endif()
78+
7479
option(SECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS "Enable external default callback functions." OFF)
7580
if(SECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS)
7681
add_compile_definitions(USE_EXTERNAL_DEFAULT_CALLBACKS=1)
@@ -212,8 +217,12 @@ endif()
212217
include(TryAppendCFlags)
213218
if(MSVC)
214219
# Keep the following commands ordered lexicographically.
215-
try_append_c_flags(/W2) # Moderate warning level.
220+
try_append_c_flags(/W3) # Production quality warning level.
216221
try_append_c_flags(/wd4146) # Disable warning C4146 "unary minus operator applied to unsigned type, result still unsigned".
222+
try_append_c_flags(/wd4244) # Disable warning C4244 "'conversion' conversion from 'type1' to 'type2', possible loss of data".
223+
try_append_c_flags(/wd4267) # Disable warning C4267 "'var' : conversion from 'size_t' to 'type', possible loss of data".
224+
# Eliminate deprecation warnings for the older, less secure functions.
225+
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
217226
else()
218227
# Keep the following commands ordered lexicographically.
219228
try_append_c_flags(-pedantic)
@@ -266,6 +275,7 @@ message(" ECDH ................................ ${SECP256K1_ENABLE_MODULE_ECDH}
266275
message(" ECDSA pubkey recovery ............... ${SECP256K1_ENABLE_MODULE_RECOVERY}")
267276
message(" extrakeys ........................... ${SECP256K1_ENABLE_MODULE_EXTRAKEYS}")
268277
message(" schnorrsig .......................... ${SECP256K1_ENABLE_MODULE_SCHNORRSIG}")
278+
message(" ElligatorSwift ...................... ${SECP256K1_ENABLE_MODULE_ELLSWIFT}")
269279
message("Parameters:")
270280
message(" ecmult window size .................. ${SECP256K1_ECMULT_WINDOW_SIZE}")
271281
message(" ecmult gen precision bits ........... ${SECP256K1_ECMULT_GEN_PREC_BITS}")

Makefile.am

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,11 @@ EXTRA_PROGRAMS = precompute_ecmult precompute_ecmult_gen
202202
CLEANFILES = $(EXTRA_PROGRAMS)
203203

204204
precompute_ecmult_SOURCES = src/precompute_ecmult.c
205-
precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES)
205+
precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
206206
precompute_ecmult_LDADD = $(COMMON_LIB)
207207

208208
precompute_ecmult_gen_SOURCES = src/precompute_ecmult_gen.c
209-
precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES)
209+
precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
210210
precompute_ecmult_gen_LDADD = $(COMMON_LIB)
211211

212212
# See Automake manual, Section "Errors with distclean".
@@ -305,6 +305,10 @@ if ENABLE_MODULE_SCHNORRSIG
305305
include src/modules/schnorrsig/Makefile.am.include
306306
endif
307307

308+
if ENABLE_MODULE_ELLSWIFT
309+
include src/modules/ellswift/Makefile.am.include
310+
endif
311+
308312
if ENABLE_MODULE_ECDSA_S2C
309313
include src/modules/ecdsa_s2c/Makefile.am.include
310314
endif

ci/cirrus.sh

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ case "$WRAPPER_CMD" in
3737
*wine*)
3838
# Make sure to shutdown wineserver whenever we exit.
3939
trap "wineserver -k || true" EXIT INT HUP
40-
# This is apparently only reliable when we run a dummy command such as "hh.exe" afterwards.
41-
wineserver -p && wine hh.exe
40+
wineserver -p
4241
;;
4342
esac
4443

@@ -55,6 +54,22 @@ if [ -n "$WRAPPER_CMD" ]; then
5554
$WRAPPER_CMD --version
5655
fi
5756

57+
# Workaround for https://bugs.kde.org/show_bug.cgi?id=452758 (fixed in valgrind 3.20.0).
58+
case "${CC:-undefined}" in
59+
clang*)
60+
if [ "$CTIMETESTS" = "yes" ] && [ "$WITH_VALGRIND" = "yes" ]
61+
then
62+
export CFLAGS="${CFLAGS:+$CFLAGS }-gdwarf-4"
63+
else
64+
case "$WRAPPER_CMD" in
65+
valgrind*)
66+
export CFLAGS="${CFLAGS:+$CFLAGS }-gdwarf-4"
67+
;;
68+
esac
69+
fi
70+
;;
71+
esac
72+
5873
./autogen.sh
5974

6075
./configure \
@@ -63,6 +78,7 @@ fi
6378
--with-ecmult-window="$ECMULTWINDOW" \
6479
--with-ecmult-gen-precision="$ECMULTGENPRECISION" \
6580
--enable-module-ecdh="$ECDH" --enable-module-recovery="$RECOVERY" \
81+
--enable-module-ellswift="$ELLSWIFT" \
6682
--enable-module-ecdsa-s2c="$ECDSA_S2C" \
6783
--enable-module-bppp="$BPPP" \
6884
--enable-module-rangeproof="$RANGEPROOF" --enable-module-whitelist="$WHITELIST" --enable-module-generator="$GENERATOR" \

ci/linux-debian.Dockerfile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ RUN dpkg --add-architecture i386 && \
1111
RUN apt-get update && apt-get install --no-install-recommends -y \
1212
git ca-certificates \
1313
make automake libtool pkg-config dpkg-dev valgrind qemu-user \
14-
gcc clang llvm libc6-dbg \
14+
gcc clang llvm libclang-rt-dev libc6-dbg \
1515
g++ \
16-
gcc-i686-linux-gnu libc6-dev-i386-cross libc6-dbg:i386 libubsan1:i386 libasan6:i386 \
16+
gcc-i686-linux-gnu libc6-dev-i386-cross libc6-dbg:i386 libubsan1:i386 libasan8:i386 \
1717
gcc-s390x-linux-gnu libc6-dev-s390x-cross libc6-dbg:s390x \
1818
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross libc6-dbg:armhf \
1919
gcc-aarch64-linux-gnu libc6-dev-arm64-cross libc6-dbg:arm64 \
@@ -26,12 +26,16 @@ WORKDIR /root
2626
# The "wine" package provides a convience wrapper that we need
2727
RUN apt-get update && apt-get install --no-install-recommends -y \
2828
git ca-certificates wine64 wine python3-simplejson python3-six msitools winbind procps && \
29+
# Workaround for `wine` package failure to employ the Debian alternatives system properly.
30+
ln -s /usr/lib/wine/wine64 /usr/bin/wine64 && \
31+
# Set of tools for using MSVC on Linux.
2932
git clone https://github.com/mstorsjo/msvc-wine && \
3033
mkdir /opt/msvc && \
3134
python3 msvc-wine/vsdownload.py --accept-license --dest /opt/msvc Microsoft.VisualStudio.Workload.VCTools && \
32-
msvc-wine/install.sh /opt/msvc
33-
34-
# Initialize the wine environment. Wait until the wineserver process has
35-
# exited before closing the session, to avoid corrupting the wine prefix.
36-
RUN wine64 wineboot --init && \
35+
# Since commit 2146cbfaf037e21de56c7157ec40bb6372860f51, the
36+
# msvc-wine effectively initializes the wine prefix when running
37+
# the install.sh script.
38+
msvc-wine/install.sh /opt/msvc && \
39+
# Wait until the wineserver process has exited before closing the session,
40+
# to avoid corrupting the wine prefix.
3741
while (ps -A | grep wineserver) > /dev/null; do sleep 1; done

configure.ac

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,12 @@ AC_DEFUN([SECP_TRY_APPEND_DEFAULT_CFLAGS], [
121121
# libtool makes the same assumption internally.
122122
# Note that "/opt" and "-opt" are equivalent for MSVC; we use "-opt" because "/opt" looks like a path.
123123
if test x"$GCC" != x"yes" && test x"$build_windows" = x"yes"; then
124-
SECP_TRY_APPEND_CFLAGS([-W2 -wd4146], $1) # Moderate warning level, disable warning C4146 "unary minus operator applied to unsigned type, result still unsigned"
124+
SECP_TRY_APPEND_CFLAGS([-W3], $1) # Production quality warning level.
125+
SECP_TRY_APPEND_CFLAGS([-wd4146], $1) # Disable warning C4146 "unary minus operator applied to unsigned type, result still unsigned".
126+
SECP_TRY_APPEND_CFLAGS([-wd4244], $1) # Disable warning C4244 "'conversion' conversion from 'type1' to 'type2', possible loss of data".
127+
SECP_TRY_APPEND_CFLAGS([-wd4267], $1) # Disable warning C4267 "'var' : conversion from 'size_t' to 'type', possible loss of data".
128+
# Eliminate deprecation warnings for the older, less secure functions.
129+
CPPFLAGS="-D_CRT_SECURE_NO_WARNINGS $CPPFLAGS"
125130
# We pass -ignore:4217 to the MSVC linker to suppress warning 4217 when
126131
# importing variables from a statically linked secp256k1.
127132
# (See the libtool manual, section "Windows DLLs" for background.)
@@ -210,6 +215,10 @@ AC_ARG_ENABLE(module_schnorrsig,
210215
AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module [default=yes]]), [],
211216
[SECP_SET_DEFAULT([enable_module_schnorrsig], [yes], [yes])])
212217

218+
AC_ARG_ENABLE(module_ellswift,
219+
AS_HELP_STRING([--enable-module-ellswift],[enable ElligatorSwift module [default=yes]]), [],
220+
[SECP_SET_DEFAULT([enable_module_ellswift], [yes], [yes])])
221+
213222
AC_ARG_ENABLE(module_ecdsa_s2c,
214223
AS_HELP_STRING([--enable-module-ecdsa-s2c],[enable ECDSA sign-to-contract module [default=no]]),
215224
[],
@@ -487,6 +496,12 @@ if test x"$enable_module_schnorrsig" = x"yes"; then
487496
enable_module_extrakeys=yes
488497
fi
489498

499+
if test x"$enable_module_ellswift" = x"yes"; then
500+
AC_DEFINE(ENABLE_MODULE_ELLSWIFT, 1, [Define this symbol to enable the ElligatorSwift module])
501+
fi
502+
503+
# Test if extrakeys is set after the schnorrsig module to allow the schnorrsig
504+
# module to set enable_module_extrakeys=yes
490505
if test x"$enable_module_extrakeys" = x"yes"; then
491506
SECP_CONFIG_DEFINES="$SECP_CONFIG_DEFINES -DENABLE_MODULE_EXTRAKEYS=1"
492507
fi
@@ -572,6 +587,7 @@ AM_CONDITIONAL([ENABLE_MODULE_RANGEPROOF], [test x"$enable_module_rangeproof" =
572587
AM_CONDITIONAL([ENABLE_MODULE_WHITELIST], [test x"$enable_module_whitelist" = x"yes"])
573588
AM_CONDITIONAL([ENABLE_MODULE_EXTRAKEYS], [test x"$enable_module_extrakeys" = x"yes"])
574589
AM_CONDITIONAL([ENABLE_MODULE_SCHNORRSIG], [test x"$enable_module_schnorrsig" = x"yes"])
590+
AM_CONDITIONAL([ENABLE_MODULE_ELLSWIFT], [test x"$enable_module_ellswift" = x"yes"])
575591
AM_CONDITIONAL([ENABLE_MODULE_ECDSA_S2C], [test x"$enable_module_ecdsa_s2c" = x"yes"])
576592
AM_CONDITIONAL([ENABLE_MODULE_ECDSA_ADAPTOR], [test x"$enable_module_ecdsa_adaptor" = x"yes"])
577593
AM_CONDITIONAL([ENABLE_MODULE_SURJECTIONPROOF], [test x"$enable_module_surjectionproof" = x"yes"])
@@ -597,6 +613,7 @@ echo " module ecdh = $enable_module_ecdh"
597613
echo " module recovery = $enable_module_recovery"
598614
echo " module extrakeys = $enable_module_extrakeys"
599615
echo " module schnorrsig = $enable_module_schnorrsig"
616+
echo " module ellswift = $enable_module_ellswift"
600617
echo " module generator = $enable_module_generator"
601618
echo " module rangeproof = $enable_module_rangeproof"
602619
echo " module surjectionproof = $enable_module_surjectionproof"

0 commit comments

Comments
 (0)