From 23c6294346bb45544dd83036571c888a9b4957b5 Mon Sep 17 00:00:00 2001 From: "Ruslan (The BadAss SysMan) Laishev" <ruslan.laishev@demlabs.net> Date: Thu, 17 Nov 2022 20:05:22 +0300 Subject: [PATCH] [*] Introduced BMF Wallet support (ported from master) --- CMakeLists.txt | 41 +++++++++++++++++++++++----------------- cellframe-sdk | 2 +- sources/main_node_tool.c | 5 ++--- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 58443016a..9508236e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) project(cellframe-node C) include(cellframe-sdk/cmake/ReadMKFile.cmake) -include(FetchContent) +include(FetchContent) set(CMAKE_ENABLE_EXPORTS ON) set(CMAKE_VERBOSE_MAKEFILE ON) @@ -102,21 +102,21 @@ if(UNIX) OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) endif() - + else() set (CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${CPACK_TARGET_ARCHITECTURE}) endif() - + if ( CPACK_DEBIAN_PACKAGE_ARCHITECTURE MATCHES "arm") SET( BUILD_WITH_PYTHON_ENV OFF ) endif() - + if(NOT CPACK_SYSTEM_NAME) set(CPACK_SYSTEM_NAME ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}) endif() - + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}") - + if(BUILD_WITH_GDB_DRIVER_PGSQL) SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-pgsql" ) endif() @@ -131,7 +131,7 @@ if(UNIX) SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION "CellFrame Node" ) SET( CPACK_DEBIAN_PACKAGE_SECTION "extra") SET( CPACK_DEBIAN_PACKAGE_DEPENDS "debconf (>=1.5), dpkg (>=1.17), bash (>=4), debconf-utils, dconf-cli, less, pv, psmisc, logrotate, irqbalance, xz-utils") - + #have to figure out how to use it properly with custom RPATH for python plugins... if (NOT SUPPORT_PYTHON_PLUGINS) SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) @@ -206,6 +206,9 @@ if(BSD) endif() +target_link_libraries(${NODE_TARGET} ${NODE_LIBRARIES} crc32c_adler ) +target_link_libraries(${NODE_TOOL_TARGET} ${NODE_TOOL_LIBRARIES} crc32c_adler ) + if(UNIX AND NOT WIN32) message ("[*] Unix library set") @@ -218,12 +221,12 @@ if(UNIX AND NOT WIN32) if (SUPPORT_PYTHON_PLUGINS) message("[+] Build with python plugins support") - + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDAP_SUPPORT_PYTHON_PLUGINS") add_definitions("-DDAP_SUPPORT_PYTHON_PLUGINS") if (BUILD_WITH_PYTHON_ENV) - + message("[+] Build with python environment") message(" Downloading static prebuild cpython3.7...") #this python was build by compiling and installing static python distrip to /opt/cellframe-node/ and @@ -236,7 +239,7 @@ if(UNIX AND NOT WIN32) FetchContent_MakeAvailable(CPython37Static) set(CMAKE_PREFIX_PATH ${cpython37static_SOURCE_DIR}) - + set(Python_ADDITIONAL_VERSIONS 3.7) find_package(PythonLibs REQUIRED) @@ -248,9 +251,9 @@ if(UNIX AND NOT WIN32) find_package(PythonLibs REQUIRED) endif() - message("[!] Python includes path: " ${PYTHON_INCLUDE_DIR}) - message("[!] Python library path: " ${PYTHON_LIBRARY_PATH}) - + message("[!] Python includes path: " ${PYTHON_INCLUDE_DIR}) + message("[!] Python library path: " ${PYTHON_LIBRARY_PATH}) + include_directories(${PYTHON_INCLUDE_DIR} include/) add_subdirectory(python-cellframe) @@ -268,6 +271,10 @@ if(UNIX AND NOT WIN32) endif() endif() +target_link_libraries(${NODE_TARGET} ${NODE_LIBRARIES} crc32c_adler ) +target_link_libraries(${NODE_TOOL_TARGET} ${NODE_TOOL_LIBRARIES} crc32c_adler ) + + target_include_directories(${PROJECT_NAME} INTERFACE .) if(NOT ANDROID) @@ -291,22 +298,22 @@ else() elseif(BSD) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist.bsd/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*") endif() - + INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) INSTALL(TARGETS ${NODE_CLI_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) INSTALL(TARGETS ${NODE_TOOL_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) if(NOT ANDROID) #install all python-specific files back to its original location - if (SUPPORT_PYTHON_PLUGINS AND BUILD_WITH_PYTHON_ENV) - + if (SUPPORT_PYTHON_PLUGINS AND BUILD_WITH_PYTHON_ENV) + INSTALL(FILES ${cpython37static_SOURCE_DIR}/bin/pip3 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/pip3 ) INSTALL(DIRECTORY ${cpython37static_SOURCE_DIR}/lib/python3.7 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ USE_SOURCE_PERMISSIONS) endif() endif() INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/scripts/ DESTINATION ${CMAKE_INSTALL_PREFIX}/sbin FILES_MATCHING PATTERN "*" PATTERN "*" PERMISSIONS OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;WORLD_READ;GROUP_READ ) - + endif() INCLUDE(CPack) diff --git a/cellframe-sdk b/cellframe-sdk index 76dfceb9c..44b309357 160000 --- a/cellframe-sdk +++ b/cellframe-sdk @@ -1 +1 @@ -Subproject commit 76dfceb9c02f6d4fbaf97a47aa10cd8828c01c70 +Subproject commit 44b30935710f9d0cdc27ff3bef6968b5c0b7c220 diff --git a/sources/main_node_tool.c b/sources/main_node_tool.c index 30000d3da..56265d3f1 100644 --- a/sources/main_node_tool.c +++ b/sources/main_node_tool.c @@ -195,7 +195,7 @@ static int s_wallet_create(int argc, const char **argv) { exit( -2003 ); } - const char *l_wallet_name = argv[3]; + const char *l_wallet_name = argv[3], *l_pass_str = argv[5]; dap_sign_type_t l_sig_type = dap_sign_type_from_str( argv[4] ); dap_chain_wallet_t *l_wallet = NULL; @@ -220,14 +220,13 @@ static int s_wallet_create(int argc, const char **argv) { // // Check unsupported tesla algorithm // - if (l_sig_type.type == SIG_TYPE_TESLA) { log_it( L_ERROR, "Tesla algorithm is not supported, please, use another variant"); exit( -2004 ); } - l_wallet = dap_chain_wallet_create(l_wallet_name, s_system_wallet_dir, l_sig_type); + l_wallet = dap_chain_wallet_create(l_wallet_name, s_system_wallet_dir, l_sig_type, l_pass_str); return 0; } -- GitLab