Merge branch 'github_master'
This commit is contained in:
commit
c425a019cd
8 changed files with 91 additions and 43 deletions
5
.gitmodules
vendored
5
.gitmodules
vendored
|
|
@ -1,3 +1,6 @@
|
|||
[submodule "vendor/secp256k1-zkp"]
|
||||
path = vendor/secp256k1-zkp
|
||||
url = https://github.com/ElementsProject/secp256k1-zkp.git
|
||||
[submodule "vendor/websocketpp"]
|
||||
path = vendor/websocketpp
|
||||
url = https://github.com/zaphoyd/websocketpp
|
||||
url = https://github.com/zaphoyd/websocketpp.git
|
||||
|
|
|
|||
|
|
@ -49,6 +49,51 @@ SET( ECC_REST src/crypto/elliptic_impl_priv.cpp )
|
|||
ENDIF( ECC_IMPL STREQUAL mixed )
|
||||
ENDIF( ECC_IMPL STREQUAL openssl )
|
||||
|
||||
# Configure secp256k1-zkp
|
||||
|
||||
set( SECP256K1_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp" )
|
||||
|
||||
file( GLOB SECP256K1_SOURCES "${SECP256K1_DIR}/src/secp256k1.c" )
|
||||
add_library( secp256k1 ${SECP256K1_SOURCES} )
|
||||
|
||||
target_include_directories( secp256k1 PRIVATE "${SECP256K1_DIR}" PUBLIC "${SECP256K1_DIR}/include" )
|
||||
|
||||
|
||||
if( WIN32 )
|
||||
set( SECP256K1_BUILD_DEFINES
|
||||
USE_FIELD_10X26
|
||||
USE_FIELD_INV_BUILTIN
|
||||
USE_NUM_NONE
|
||||
USE_SCALAR_8X32
|
||||
USE_SCALAR_INV_BUILTIN )
|
||||
else()
|
||||
# ***Will only work for Clang on 64-bit Mac/Linux***
|
||||
set( SECP256K1_BUILD_DEFINES
|
||||
HAVE_BUILTIN_CLZLL
|
||||
HAVE_BUILTIN_EXPECT
|
||||
HAVE_DLFCN_H
|
||||
HAVE_INTTYPES_H
|
||||
HAVE_LIBCRYPTO
|
||||
HAVE_MEMORY_H
|
||||
HAVE_STDINT_H
|
||||
HAVE_STDLIB_H
|
||||
HAVE_STRINGS_H
|
||||
HAVE_STRING_H
|
||||
HAVE_SYS_STAT_H
|
||||
HAVE_SYS_TYPES_H
|
||||
HAVE_UNISTD_H
|
||||
HAVE___INT128
|
||||
STDC_HEADERS
|
||||
USE_FIELD_5X52
|
||||
USE_FIELD_INV_BUILTIN
|
||||
USE_NUM_NONE
|
||||
USE_SCALAR_4X64
|
||||
USE_SCALAR_INV_BUILTIN
|
||||
)
|
||||
endif()
|
||||
set_target_properties( secp256k1 PROPERTIES COMPILE_DEFINITIONS "${SECP256K1_BUILD_DEFINES}" LINKER_LANGUAGE C )
|
||||
# End configure secp256k1-zkp
|
||||
|
||||
IF( WIN32 )
|
||||
MESSAGE(STATUS "Configuring fc to build on Win32")
|
||||
|
||||
|
|
@ -194,8 +239,7 @@ set( fc_sources
|
|||
vendor/salsa20/salsa20.s
|
||||
PROPERTY LANGUAGE C)
|
||||
|
||||
file(GLOB_RECURSE fc_headers ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
*.hpp *.h)
|
||||
file( GLOB_RECURSE fc_headers ${CMAKE_CURRENT_SOURCE_DIR} *.hpp *.h )
|
||||
|
||||
set( sources
|
||||
${fc_sources}
|
||||
|
|
@ -260,13 +304,14 @@ target_include_directories(fc
|
|||
"${readline_includes}"
|
||||
|
||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/vendor/scrypt-jane
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/cyoencode-1.0.2/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/boost_1.51/include
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/salsa20
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/cyoencode-1.0.2/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/easylzma/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/salsa20
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/vendor/scrypt-jane
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/udt4/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/websocketpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
|
||||
)
|
||||
|
||||
#target_link_libraries( fc PUBLIC easylzma_static scrypt udt ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES} ${PLATFORM_SPECIFIC_LIBS} ${RPCRT4} ${CMAKE_DL_LIBS} ${rt_library} ${ECC_LIB} )
|
||||
|
|
@ -288,8 +333,10 @@ ENDIF()
|
|||
add_executable( api tests/api.cpp )
|
||||
target_link_libraries( api fc )
|
||||
|
||||
#add_executable( blind tests/blind.cpp )
|
||||
#target_link_libraries( blind fc )
|
||||
if( ECC_IMPL STREQUAL secp256k1 )
|
||||
add_executable( blind tests/blind.cpp )
|
||||
target_link_libraries( blind fc )
|
||||
endif()
|
||||
|
||||
include_directories( vendor/websocketpp )
|
||||
|
||||
|
|
@ -435,4 +482,3 @@ ADD_CUSTOM_COMMAND(TARGET fc POST_BUILD ${POST_BUILD_STEP_COMMANDS}
|
|||
)
|
||||
|
||||
MESSAGE(STATUS "Finished fc module configuration...")
|
||||
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ void _init_lib();
|
|||
class private_key_impl
|
||||
{
|
||||
public:
|
||||
private_key_impl() noexcept;
|
||||
private_key_impl( const private_key_impl& cpy ) noexcept;
|
||||
private_key_impl() BOOST_NOEXCEPT;
|
||||
private_key_impl( const private_key_impl& cpy ) BOOST_NOEXCEPT;
|
||||
|
||||
private_key_impl& operator=( const private_key_impl& pk ) noexcept;
|
||||
private_key_impl& operator=( const private_key_impl& pk ) BOOST_NOEXCEPT;
|
||||
|
||||
private_key_secret _key;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,18 +9,18 @@
|
|||
namespace fc { namespace ecc {
|
||||
namespace detail {
|
||||
|
||||
private_key_impl::private_key_impl() noexcept
|
||||
private_key_impl::private_key_impl() BOOST_NOEXCEPT
|
||||
{
|
||||
_init_lib();
|
||||
}
|
||||
|
||||
private_key_impl::private_key_impl( const private_key_impl& cpy ) noexcept
|
||||
private_key_impl::private_key_impl( const private_key_impl& cpy ) BOOST_NOEXCEPT
|
||||
{
|
||||
_init_lib();
|
||||
this->_key = cpy._key;
|
||||
}
|
||||
|
||||
private_key_impl& private_key_impl::operator=( const private_key_impl& pk ) noexcept
|
||||
private_key_impl& private_key_impl::operator=( const private_key_impl& pk ) BOOST_NOEXCEPT
|
||||
{
|
||||
_key = pk._key;
|
||||
return *this;
|
||||
|
|
|
|||
|
|
@ -29,12 +29,12 @@ namespace fc { namespace ecc {
|
|||
class public_key_impl
|
||||
{
|
||||
public:
|
||||
public_key_impl() noexcept
|
||||
public_key_impl() BOOST_NOEXCEPT
|
||||
{
|
||||
_init_lib();
|
||||
}
|
||||
|
||||
public_key_impl( const public_key_impl& cpy ) noexcept
|
||||
public_key_impl( const public_key_impl& cpy ) BOOST_NOEXCEPT
|
||||
: _key( cpy._key )
|
||||
{
|
||||
_init_lib();
|
||||
|
|
|
|||
|
|
@ -4,11 +4,9 @@
|
|||
#include <fc/variant.hpp>
|
||||
#include <fc/reflect/variant.hpp>
|
||||
|
||||
extern "C" {
|
||||
#include </Users/dlarimer/Downloads/secp256k1-zkp/src/libsecp256k1-config.h>
|
||||
#include </Users/dlarimer/Downloads/secp256k1-zkp/src/scalar.h>
|
||||
#include <secp256k1.h>
|
||||
}
|
||||
//extern "C" {
|
||||
//#include <secp256k1.h>
|
||||
//}
|
||||
//struct secp256k1_scalar_t { uint64_t v[4]; };
|
||||
//extern "C" { void secp256k1_scalar_get_b32(unsigned char *bin, const struct secp256k1_scalar_t* a); }
|
||||
|
||||
|
|
|
|||
1
vendor/secp256k1-zkp
vendored
Submodule
1
vendor/secp256k1-zkp
vendored
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit bd067945ead3b514fba884abd0de95fc4b5db9ae
|
||||
2
vendor/websocketpp
vendored
2
vendor/websocketpp
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 13f6da6f81207ae7e67f0e7d25ed0e3cc2ec2f9c
|
||||
Subproject commit c5510d6de04917812b910a8dd44735c1f17061d9
|
||||
Loading…
Reference in a new issue