Skip to content

Commit

Permalink
Use batch version of ComputeSigPoint
Browse files Browse the repository at this point in the history
  • Loading branch information
Tibo-lg committed Feb 12, 2021
1 parent a875d09 commit 7f54016
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 47 deletions.
42 changes: 1 addition & 41 deletions external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,50 +34,10 @@ option(ENABLE_ELEMENTS "enable elements code (ON or OFF. default:ON)" ON)
option(ENABLE_BITCOIN "enable bitcoin code (ON or OFF. default:ON)" ON)
set(ENABLE_MODULE_SCHNORRSIG "1")

# libwally-core
set(WALLY_OBJ_BINARY_DIR ${CFD_DLC_OBJ_BINARY_DIR})
set(WALLY_ROOT_BINARY_DIR ${CFD_DLC_ROOT_BINARY_DIR})

set(TEMPLATE_PROJECT_NAME libwally-core)
set(TEMPLATE_PROJECT_GIT_REPOSITORY https://github.com/cryptogarageinc/libwally-core.git)
set(TEMPLATE_PROJECT_GIT_TAG cfd-0.2.2)
set(PROJECT_EXTERNAL "${CMAKE_SOURCE_DIR}/external/${TEMPLATE_PROJECT_NAME}/external")
set(DIR_PATH "${CFD_ROOT_BINARY_DIR}/${TEMPLATE_PROJECT_NAME}")
set(DL_PATH "${CFD_ROOT_BINARY_DIR}/external/${TEMPLATE_PROJECT_NAME}/download")

get_property(PROP_VALUE GLOBAL PROPERTY ${TEMPLATE_PROJECT_NAME})
if(PROP_VALUE)
message(STATUS "[exist directory] ${TEMPLATE_PROJECT_NAME} exist")
else()
configure_file(template_CMakeLists.txt.in ${DL_PATH}/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" -S . -B ${DL_PATH}
RESULT_VARIABLE result
WORKING_DIRECTORY ${DL_PATH} )
if(result)
message(FATAL_ERROR "CMake step for ${TEMPLATE_PROJECT_NAME} failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build ${DL_PATH}
RESULT_VARIABLE result
WORKING_DIRECTORY ${DL_PATH} )
if(result)
message(FATAL_ERROR "Build step for ${TEMPLATE_PROJECT_NAME} failed: ${result}")
endif()
if(EXISTS ${PROJECT_EXTERNAL})
message(STATUS "[check exist directory] exist ${PROJECT_EXTERNAL}")
message(STATUS "[check exist directory] dirpath ${DIR_PATH}")
add_subdirectory(${CMAKE_SOURCE_DIR}/external/${TEMPLATE_PROJECT_NAME}/external
${CFD_ROOT_BINARY_DIR}/external/${TEMPLATE_PROJECT_NAME}/external)
endif()

add_subdirectory(${CMAKE_SOURCE_DIR}/external/${TEMPLATE_PROJECT_NAME}
${DIR_PATH}/build)
set_property(GLOBAL PROPERTY ${TEMPLATE_PROJECT_NAME} 1)
endif()

# cfd
set(TEMPLATE_PROJECT_NAME cfd)
set(TEMPLATE_PROJECT_GIT_REPOSITORY https://github.com/cryptogarageinc/cfd.git)
set(TEMPLATE_PROJECT_GIT_TAG v0.2.5)
set(TEMPLATE_PROJECT_GIT_TAG v0.3.5)
set(PROJECT_EXTERNAL "${CMAKE_SOURCE_DIR}/external/${TEMPLATE_PROJECT_NAME}/external")
set(DIR_PATH "${CFD_ROOT_BINARY_DIR}/${TEMPLATE_PROJECT_NAME}")
set(DL_PATH "${CFD_ROOT_BINARY_DIR}/external/${TEMPLATE_PROJECT_NAME}/download")
Expand Down
9 changes: 3 additions & 6 deletions src/cfddlc_transactions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -543,14 +543,11 @@ Pubkey DlcManager::ComputeAdaptorPoint(
"Number of r values and messages must match.");
}

std::vector<Pubkey> sigpoints;

for (size_t i = 0; i < r_values.size(); i++) {
sigpoints.push_back(
SchnorrUtil::ComputeSigPoint(msgs[i], r_values[i], pubkey));
if (msgs.size() == 1) {
return SchnorrUtil::ComputeSigPoint(msgs[0], r_values[0], pubkey);
}

return sigpoints.size() > 1 ? Pubkey::CombinePubkey(sigpoints) : sigpoints[0];
return SchnorrUtil::ComputeSigPointBatch(msgs, r_values, pubkey);
}
} // namespace dlc
} // namespace cfd

0 comments on commit 7f54016

Please sign in to comment.