schnorrsig: Init empty experimental module
This commit is contained in:
		
							parent
							
								
									eabd9bc46a
								
							
						
					
					
						commit
						7a703fd97d
					
				| @ -157,3 +157,7 @@ endif | |||||||
| if ENABLE_MODULE_EXTRAKEYS | if ENABLE_MODULE_EXTRAKEYS | ||||||
| include src/modules/extrakeys/Makefile.am.include | include src/modules/extrakeys/Makefile.am.include | ||||||
| endif | endif | ||||||
|  | 
 | ||||||
|  | if ENABLE_MODULE_SCHNORRSIG | ||||||
|  | include src/modules/schnorrsig/Makefile.am.include | ||||||
|  | endif | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								configure.ac
									
									
									
									
									
								
							| @ -141,6 +141,11 @@ AC_ARG_ENABLE(module_extrakeys, | |||||||
|     [enable_module_extrakeys=$enableval], |     [enable_module_extrakeys=$enableval], | ||||||
|     [enable_module_extrakeys=no]) |     [enable_module_extrakeys=no]) | ||||||
| 
 | 
 | ||||||
|  | AC_ARG_ENABLE(module_schnorrsig, | ||||||
|  |     AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module (experimental)]), | ||||||
|  |     [enable_module_schnorrsig=$enableval], | ||||||
|  |     [enable_module_schnorrsig=no]) | ||||||
|  | 
 | ||||||
| AC_ARG_ENABLE(external_default_callbacks, | AC_ARG_ENABLE(external_default_callbacks, | ||||||
|     AS_HELP_STRING([--enable-external-default-callbacks],[enable external default callback functions [default=no]]), |     AS_HELP_STRING([--enable-external-default-callbacks],[enable external default callback functions [default=no]]), | ||||||
|     [use_external_default_callbacks=$enableval], |     [use_external_default_callbacks=$enableval], | ||||||
| @ -426,6 +431,13 @@ if test x"$enable_module_recovery" = x"yes"; then | |||||||
|   AC_DEFINE(ENABLE_MODULE_RECOVERY, 1, [Define this symbol to enable the ECDSA pubkey recovery module]) |   AC_DEFINE(ENABLE_MODULE_RECOVERY, 1, [Define this symbol to enable the ECDSA pubkey recovery module]) | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | if test x"$enable_module_schnorrsig" = x"yes"; then | ||||||
|  |   AC_DEFINE(ENABLE_MODULE_SCHNORRSIG, 1, [Define this symbol to enable the schnorrsig module]) | ||||||
|  |   enable_module_extrakeys=yes | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Test if extrakeys is set after the schnorrsig module to allow the schnorrsig | ||||||
|  | # module to set enable_module_extrakeys=yes | ||||||
| if test x"$enable_module_extrakeys" = x"yes"; then | if test x"$enable_module_extrakeys" = x"yes"; then | ||||||
|   AC_DEFINE(ENABLE_MODULE_EXTRAKEYS, 1, [Define this symbol to enable the extrakeys module]) |   AC_DEFINE(ENABLE_MODULE_EXTRAKEYS, 1, [Define this symbol to enable the extrakeys module]) | ||||||
| fi | fi | ||||||
| @ -444,6 +456,7 @@ if test x"$enable_experimental" = x"yes"; then | |||||||
|   AC_MSG_NOTICE([Experimental features do not have stable APIs or properties, and may not be safe for production use.]) |   AC_MSG_NOTICE([Experimental features do not have stable APIs or properties, and may not be safe for production use.]) | ||||||
|   AC_MSG_NOTICE([Building ECDH module: $enable_module_ecdh]) |   AC_MSG_NOTICE([Building ECDH module: $enable_module_ecdh]) | ||||||
|   AC_MSG_NOTICE([Building extrakeys module: $enable_module_extrakeys]) |   AC_MSG_NOTICE([Building extrakeys module: $enable_module_extrakeys]) | ||||||
|  |   AC_MSG_NOTICE([Building schnorrsig module: $enable_module_schnorrsig]) | ||||||
|   AC_MSG_NOTICE([******]) |   AC_MSG_NOTICE([******]) | ||||||
| else | else | ||||||
|   if test x"$enable_module_ecdh" = x"yes"; then |   if test x"$enable_module_ecdh" = x"yes"; then | ||||||
| @ -452,6 +465,9 @@ else | |||||||
|   if test x"$enable_module_extrakeys" = x"yes"; then |   if test x"$enable_module_extrakeys" = x"yes"; then | ||||||
|     AC_MSG_ERROR([extrakeys module is experimental. Use --enable-experimental to allow.]) |     AC_MSG_ERROR([extrakeys module is experimental. Use --enable-experimental to allow.]) | ||||||
|   fi |   fi | ||||||
|  |   if test x"$enable_module_schnorrsig" = x"yes"; then | ||||||
|  |     AC_MSG_ERROR([schnorrsig module is experimental. Use --enable-experimental to allow.]) | ||||||
|  |   fi | ||||||
|   if test x"$set_asm" = x"arm"; then |   if test x"$set_asm" = x"arm"; then | ||||||
|     AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.]) |     AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.]) | ||||||
|   fi |   fi | ||||||
| @ -469,8 +485,9 @@ AM_CONDITIONAL([USE_EXHAUSTIVE_TESTS], [test x"$use_exhaustive_tests" != x"no"]) | |||||||
| AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" = x"yes"]) | AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" = x"yes"]) | ||||||
| AM_CONDITIONAL([USE_ECMULT_STATIC_PRECOMPUTATION], [test x"$set_precomp" = x"yes"]) | AM_CONDITIONAL([USE_ECMULT_STATIC_PRECOMPUTATION], [test x"$set_precomp" = x"yes"]) | ||||||
| AM_CONDITIONAL([ENABLE_MODULE_ECDH], [test x"$enable_module_ecdh" = x"yes"]) | AM_CONDITIONAL([ENABLE_MODULE_ECDH], [test x"$enable_module_ecdh" = x"yes"]) | ||||||
| AM_CONDITIONAL([ENABLE_MODULE_EXTRAKEYS], [test x"$enable_module_extrakeys" = x"yes"]) |  | ||||||
| AM_CONDITIONAL([ENABLE_MODULE_RECOVERY], [test x"$enable_module_recovery" = x"yes"]) | AM_CONDITIONAL([ENABLE_MODULE_RECOVERY], [test x"$enable_module_recovery" = x"yes"]) | ||||||
|  | AM_CONDITIONAL([ENABLE_MODULE_EXTRAKEYS], [test x"$enable_module_extrakeys" = x"yes"]) | ||||||
|  | AM_CONDITIONAL([ENABLE_MODULE_SCHNORRSIG], [test x"$enable_module_schnorrsig" = x"yes"]) | ||||||
| AM_CONDITIONAL([USE_EXTERNAL_ASM], [test x"$use_external_asm" = x"yes"]) | AM_CONDITIONAL([USE_EXTERNAL_ASM], [test x"$use_external_asm" = x"yes"]) | ||||||
| AM_CONDITIONAL([USE_ASM_ARM], [test x"$set_asm" = x"arm"]) | AM_CONDITIONAL([USE_ASM_ARM], [test x"$set_asm" = x"arm"]) | ||||||
| 
 | 
 | ||||||
| @ -491,6 +508,7 @@ echo "  with coverage           = $enable_coverage" | |||||||
| echo "  module ecdh             = $enable_module_ecdh" | echo "  module ecdh             = $enable_module_ecdh" | ||||||
| echo "  module recovery         = $enable_module_recovery" | echo "  module recovery         = $enable_module_recovery" | ||||||
| echo "  module extrakeys        = $enable_module_extrakeys" | echo "  module extrakeys        = $enable_module_extrakeys" | ||||||
|  | echo "  module schnorrsig       = $enable_module_schnorrsig" | ||||||
| echo | echo | ||||||
| echo "  asm                     = $set_asm" | echo "  asm                     = $set_asm" | ||||||
| echo "  bignum                  = $set_bignum" | echo "  bignum                  = $set_bignum" | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								include/secp256k1_schnorrsig.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								include/secp256k1_schnorrsig.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | #ifndef SECP256K1_SCHNORRSIG_H | ||||||
|  | #define SECP256K1_SCHNORRSIG_H | ||||||
|  | 
 | ||||||
|  | #include "secp256k1.h" | ||||||
|  | #include "secp256k1_extrakeys.h" | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  | extern "C" { | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  |     /* TODO */ | ||||||
|  | 
 | ||||||
|  | #ifdef __cplusplus | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #endif /* SECP256K1_SCHNORRSIG_H */ | ||||||
							
								
								
									
										3
									
								
								src/modules/schnorrsig/Makefile.am.include
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/modules/schnorrsig/Makefile.am.include
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | include_HEADERS += include/secp256k1_schnorrsig.h | ||||||
|  | noinst_HEADERS += src/modules/schnorrsig/main_impl.h | ||||||
|  | noinst_HEADERS += src/modules/schnorrsig/tests_impl.h | ||||||
							
								
								
									
										16
									
								
								src/modules/schnorrsig/main_impl.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/modules/schnorrsig/main_impl.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | /**********************************************************************
 | ||||||
|  |  * Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick                * | ||||||
|  |  * Distributed under the MIT software license, see the accompanying   * | ||||||
|  |  * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
 | ||||||
|  |  **********************************************************************/ | ||||||
|  | 
 | ||||||
|  | #ifndef _SECP256K1_MODULE_SCHNORRSIG_MAIN_ | ||||||
|  | #define _SECP256K1_MODULE_SCHNORRSIG_MAIN_ | ||||||
|  | 
 | ||||||
|  | #include "include/secp256k1.h" | ||||||
|  | #include "include/secp256k1_schnorrsig.h" | ||||||
|  | #include "hash.h" | ||||||
|  | 
 | ||||||
|  | /* TODO */ | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										17
									
								
								src/modules/schnorrsig/tests_impl.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/modules/schnorrsig/tests_impl.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | /**********************************************************************
 | ||||||
|  |  * Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick                * | ||||||
|  |  * Distributed under the MIT software license, see the accompanying   * | ||||||
|  |  * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
 | ||||||
|  |  **********************************************************************/ | ||||||
|  | 
 | ||||||
|  | #ifndef _SECP256K1_MODULE_SCHNORRSIG_TESTS_ | ||||||
|  | 
 | ||||||
|  | #define _SECP256K1_MODULE_SCHNORRSIG_TESTS_ | ||||||
|  | 
 | ||||||
|  | #include "secp256k1_schnorrsig.h" | ||||||
|  | 
 | ||||||
|  | void run_schnorrsig_tests(void) { | ||||||
|  |     /* TODO */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
| @ -761,3 +761,7 @@ int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey * | |||||||
| #ifdef ENABLE_MODULE_EXTRAKEYS | #ifdef ENABLE_MODULE_EXTRAKEYS | ||||||
| # include "modules/extrakeys/main_impl.h" | # include "modules/extrakeys/main_impl.h" | ||||||
| #endif | #endif | ||||||
|  | 
 | ||||||
|  | #ifdef ENABLE_MODULE_SCHNORRSIG | ||||||
|  | # include "modules/schnorrsig/main_impl.h" | ||||||
|  | #endif | ||||||
|  | |||||||
| @ -5310,6 +5310,10 @@ void run_ecdsa_openssl(void) { | |||||||
| # include "modules/extrakeys/tests_impl.h" | # include "modules/extrakeys/tests_impl.h" | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | #ifdef ENABLE_MODULE_SCHNORRSIG | ||||||
|  | # include "modules/schnorrsig/tests_impl.h" | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| void run_memczero_test(void) { | void run_memczero_test(void) { | ||||||
|     unsigned char buf1[6] = {1, 2, 3, 4, 5, 6}; |     unsigned char buf1[6] = {1, 2, 3, 4, 5, 6}; | ||||||
|     unsigned char buf2[sizeof(buf1)]; |     unsigned char buf2[sizeof(buf1)]; | ||||||
| @ -5620,6 +5624,10 @@ int main(int argc, char **argv) { | |||||||
|     run_extrakeys_tests(); |     run_extrakeys_tests(); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | #ifdef ENABLE_MODULE_SCHNORRSIG | ||||||
|  |     run_schnorrsig_tests(); | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|     /* util tests */ |     /* util tests */ | ||||||
|     run_memczero_test(); |     run_memczero_test(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user