Skip to content

Commit 5d8ea53

Browse files
authored
Merge pull request #1883 from evoskuil/master
Factor secp256k1 sources, add ultrafast NuGet dependency (disabled).
2 parents b0d17d3 + 11ecbe1 commit 5d8ea53

43 files changed

Lines changed: 1055 additions & 780 deletions

Some content is hidden

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

Makefile.am

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,17 @@ src_libbitcoin_system_la_SOURCES = \
9898
src/config/version.cpp \
9999
src/crypto/aes256.cpp \
100100
src/crypto/der_parser.cpp \
101-
src/crypto/ec_context.cpp \
102-
src/crypto/ec_context.hpp \
103101
src/crypto/pseudo_random.cpp \
104102
src/crypto/ring_signature.cpp \
105-
src/crypto/secp256k1.cpp \
106-
src/crypto/secp256k1_batch.cpp \
103+
src/crypto/secp256k1/batch.cpp \
104+
src/crypto/secp256k1/ec_context.cpp \
105+
src/crypto/secp256k1/ec_context.hpp \
106+
src/crypto/secp256k1/ecdsa.cpp \
107+
src/crypto/secp256k1/keys.cpp \
108+
src/crypto/secp256k1/math.cpp \
109+
src/crypto/secp256k1/recover.cpp \
110+
src/crypto/secp256k1/schnorr.cpp \
111+
src/crypto/secp256k1/serialize.hpp \
107112
src/data/data_chunk.cpp \
108113
src/data/string.cpp \
109114
src/endian/endian.cpp \

builds/msvc/vs2022/libbitcoin-system-examples/libbitcoin-system-examples.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
4545
<Message Text="Linkage-secp256k1 : $(Linkage-secp256k1)" Importance="high"/>
46+
<Message Text="Linkage-ultrafast : $(Linkage-ultrafast)" Importance="high"/>
4647
<Message Text="Linkage-_system : $(Linkage-libbitcoin-system)" Importance="high"/>
4748
</Target>
4849

builds/msvc/vs2022/libbitcoin-system-examples/libbitcoin-system-examples.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
<Import Project="$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" />
142142
<Import Project="$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" />
143143
<Import Project="$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets" Condition="Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" />
144+
<Import Project="$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets" Condition="Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" />
144145
</ImportGroup>
145146
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
146147
<PropertyGroup>
@@ -155,6 +156,7 @@
155156
<Error Condition="!Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets'))" />
156157
<Error Condition="!Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets'))" />
157158
<Error Condition="!Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets'))" />
159+
<Error Condition="!Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets'))" />
158160
</Target>
159161
<ItemGroup>
160162
<ProjectReference Include="..\libbitcoin-system\libbitcoin-system.vcxproj">

builds/msvc/vs2022/libbitcoin-system-examples/packages.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
|
77
-->
88
<packages>
9+
<package id="UltrafastSecp256k1-vc143" version="4.1.1.7" targetFramework="Native" />
910
<package id="boost" version="1.86.0" targetFramework="Native" />
1011
<package id="boost_container-vc143" version="1.86.0" targetFramework="Native" />
1112
<package id="boost_iostreams-vc143" version="1.86.0" targetFramework="Native" />

builds/msvc/vs2022/libbitcoin-system-test/libbitcoin-system-test.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454

5555
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
5656
<Message Text="Linkage-secp256k1 : $(Linkage-secp256k1)" Importance="high"/>
57+
<Message Text="Linkage-ultrafast : $(Linkage-ultrafast)" Importance="high"/>
5758
<Message Text="Linkage-_system : $(Linkage-libbitcoin-system)" Importance="high"/>
5859
</Target>
5960

builds/msvc/vs2022/libbitcoin-system-test/libbitcoin-system-test.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,7 @@
491491
<Import Project="$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" />
492492
<Import Project="$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" />
493493
<Import Project="$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets" Condition="Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" />
494+
<Import Project="$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets" Condition="Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" />
494495
<Import Project="$(NuGetPackageRoot)boost_unit_test_framework-vc143.1.86.0\build\boost_unit_test_framework-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_unit_test_framework-vc143.1.86.0\build\boost_unit_test_framework-vc143.targets')" />
495496
</ImportGroup>
496497
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
@@ -506,6 +507,7 @@
506507
<Error Condition="!Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets'))" />
507508
<Error Condition="!Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets'))" />
508509
<Error Condition="!Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets'))" />
510+
<Error Condition="!Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets'))" />
509511
<Error Condition="!Exists('$(NuGetPackageRoot)boost_unit_test_framework-vc143.1.86.0\build\boost_unit_test_framework-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_unit_test_framework-vc143.1.86.0\build\boost_unit_test_framework-vc143.targets'))" />
510512
</Target>
511513
<ItemGroup>

builds/msvc/vs2022/libbitcoin-system-test/packages.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
|
77
-->
88
<packages>
9+
<package id="UltrafastSecp256k1-vc143" version="4.1.1.7" targetFramework="Native" />
910
<package id="boost" version="1.86.0" targetFramework="Native" />
1011
<package id="boost_container-vc143" version="1.86.0" targetFramework="Native" />
1112
<package id="boost_iostreams-vc143" version="1.86.0" targetFramework="Native" />

builds/msvc/vs2022/libbitcoin-system/libbitcoin-system.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383

8484
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
8585
<Message Text="Linkage-secp256k1 : $(Linkage-secp256k1)" Importance="high"/>
86+
<Message Text="Linkage-ultrafast : $(Linkage-ultrafast)" Importance="high"/>
8687
</Target>
8788

8889
</Project>

builds/msvc/vs2022/libbitcoin-system/libbitcoin-system.vcxproj

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,19 @@
241241
<ClCompile Include="..\..\..\..\src\config\version.cpp" />
242242
<ClCompile Include="..\..\..\..\src\crypto\aes256.cpp" />
243243
<ClCompile Include="..\..\..\..\src\crypto\der_parser.cpp" />
244-
<ClCompile Include="..\..\..\..\src\crypto\ec_context.cpp">
245-
<ObjectFileName>$(IntDir)src_crypto_ec_context.obj</ObjectFileName>
246-
</ClCompile>
247244
<ClCompile Include="..\..\..\..\src\crypto\pseudo_random.cpp" />
248245
<ClCompile Include="..\..\..\..\src\crypto\ring_signature.cpp" />
249-
<ClCompile Include="..\..\..\..\src\crypto\secp256k1.cpp" />
250-
<ClCompile Include="..\..\..\..\src\crypto\secp256k1_batch.cpp" />
246+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\batch.cpp" />
247+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\ec_context.cpp">
248+
<ObjectFileName>$(IntDir)src_crypto_secp256k1_ec_context.obj</ObjectFileName>
249+
</ClCompile>
250+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\ecdsa.cpp" />
251+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\keys.cpp" />
252+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\math.cpp">
253+
<ObjectFileName>$(IntDir)src_crypto_secp256k1_math.obj</ObjectFileName>
254+
</ClCompile>
255+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\recover.cpp" />
256+
<ClCompile Include="..\..\..\..\src\crypto\secp256k1\schnorr.cpp" />
251257
<ClCompile Include="..\..\..\..\src\data\data_chunk.cpp" />
252258
<ClCompile Include="..\..\..\..\src\data\string.cpp" />
253259
<ClCompile Include="..\..\..\..\src\define.cpp" />
@@ -262,7 +268,9 @@
262268
<ClCompile Include="..\..\..\..\src\hash\accumulator.cpp" />
263269
<ClCompile Include="..\..\..\..\src\hash\checksum.cpp" />
264270
<ClCompile Include="..\..\..\..\src\hash\siphash.cpp" />
265-
<ClCompile Include="..\..\..\..\src\math\math.cpp" />
271+
<ClCompile Include="..\..\..\..\src\math\math.cpp">
272+
<ObjectFileName>$(IntDir)src_math_math.obj</ObjectFileName>
273+
</ClCompile>
266274
<ClCompile Include="..\..\..\..\src\radix\base_10.cpp" />
267275
<ClCompile Include="..\..\..\..\src\radix\base_2048.cpp" />
268276
<ClCompile Include="..\..\..\..\src\radix\base_32.cpp" />
@@ -666,7 +674,8 @@
666674
<ClInclude Include="..\..\..\..\include\bitcoin\system\words\language.hpp" />
667675
<ClInclude Include="..\..\..\..\include\bitcoin\system\words\languages.hpp" />
668676
<ClInclude Include="..\..\..\..\include\bitcoin\system\words\words.hpp" />
669-
<ClInclude Include="..\..\..\..\src\crypto\ec_context.hpp" />
677+
<ClInclude Include="..\..\..\..\src\crypto\secp256k1\ec_context.hpp" />
678+
<ClInclude Include="..\..\..\..\src\crypto\secp256k1\serialize.hpp" />
670679
<ClInclude Include="..\..\..\..\src\wallet\addresses\qrencode\bitstream.h" />
671680
<ClInclude Include="..\..\..\..\src\wallet\addresses\qrencode\mask.h" />
672681
<ClInclude Include="..\..\..\..\src\wallet\addresses\qrencode\mmask.h" />
@@ -799,6 +808,7 @@
799808
<Import Project="$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" />
800809
<Import Project="$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets" Condition="Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" />
801810
<Import Project="$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets" Condition="Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" />
811+
<Import Project="$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets" Condition="Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" />
802812
</ImportGroup>
803813
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
804814
<PropertyGroup>
@@ -813,6 +823,7 @@
813823
<Error Condition="!Exists('$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_thread-vc143.1.86.0\build\boost_thread-vc143.targets'))" />
814824
<Error Condition="!Exists('$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)boost_url-vc143.1.86.0\build\boost_url-vc143.targets'))" />
815825
<Error Condition="!Exists('$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)secp256k1_vc143.0.6.1\build\native\secp256k1_vc143.targets'))" />
826+
<Error Condition="!Exists('$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(NuGetPackageRoot)UltrafastSecp256k1-vc143.4.1.1.7\build\native\UltrafastSecp256k1-vc143.targets'))" />
816827
</Target>
817828
<ItemGroup>
818829
<Natvis Include="..\..\debug.natvis" />

0 commit comments

Comments
 (0)