From 5962a4817ac10b7b68821a7fe7b0642c38a42c02 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Thu, 18 Jun 2015 06:33:00 -0700 Subject: [PATCH] Add secp256k1 module --- Builds/VisualStudio2013/RippleD.vcxproj | 73 ++++++++++++ .../VisualStudio2013/RippleD.vcxproj.filters | 111 ++++++++++++++++++ SConstruct | 18 ++- src/ripple/unity/secp256k1.cpp | 28 +++++ 4 files changed, 227 insertions(+), 3 deletions(-) create mode 100644 src/ripple/unity/secp256k1.cpp diff --git a/Builds/VisualStudio2013/RippleD.vcxproj b/Builds/VisualStudio2013/RippleD.vcxproj index 9d3b5c8bd3..d1d5088e79 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj +++ b/Builds/VisualStudio2013/RippleD.vcxproj @@ -3716,6 +3716,12 @@ + + ..\..\src\secp256k1;%(AdditionalIncludeDirectories) + ..\..\src\secp256k1;%(AdditionalIncludeDirectories) + ..\..\src\secp256k1;%(AdditionalIncludeDirectories) + ..\..\src\secp256k1;%(AdditionalIncludeDirectories) + @@ -4405,6 +4411,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + diff --git a/Builds/VisualStudio2013/RippleD.vcxproj.filters b/Builds/VisualStudio2013/RippleD.vcxproj.filters index 1acbcdbec8..c933b2d669 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj.filters +++ b/Builds/VisualStudio2013/RippleD.vcxproj.filters @@ -511,6 +511,15 @@ {395EACFC-5313-28FC-4686-B001C679D86A} + + {91DD523A-1974-4AD0-719D-F02BF0544FA3} + + + {ECE6F4C7-0F1A-FC81-6DE9-76BC48243350} + + + {E25BE380-48B7-7EA9-DFD6-F38F1E8A22FF} + {26306562-F81D-B6CD-B192-22BA51E1A96B} @@ -4467,6 +4476,9 @@ ripple\unity + + ripple\unity + ripple\unity @@ -5301,6 +5313,105 @@ rocksdb2\util + + secp256k1\include + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + + + secp256k1\src + snappy\config diff --git a/SConstruct b/SConstruct index 1409f4513b..35e4bdd020 100644 --- a/SConstruct +++ b/SConstruct @@ -644,6 +644,15 @@ def get_soci_sources(style): CPPPATH=cpp_path) return result +def get_common_sources(): + result = [] + append_sources( + result, + 'src/ripple/unity/secp256k1.cpp', + CPPPATH=[ + 'src/secp256k1', + ]) + return result def get_classic_sources(): result = [] @@ -666,6 +675,7 @@ def get_classic_sources(): append_sources(result, *list_sources('src/ripple/protocol', '.cpp')) append_sources(result, *list_sources('src/ripple/shamap', '.cpp')) append_sources(result, *list_sources('src/ripple/test', '.cpp')) + append_sources( result, *list_sources('src/ripple/nodestore', '.cpp'), @@ -676,8 +686,9 @@ def get_classic_sources(): ]) result += get_soci_sources('classic') - return result + result += get_common_sources() + return result def get_unity_sources(): result = [] @@ -702,8 +713,6 @@ def get_unity_sources(): 'src/ripple/unity/test.cpp', ) - result += get_soci_sources('unity') - append_sources( result, 'src/ripple/unity/nodestore.cpp', @@ -713,6 +722,9 @@ def get_unity_sources(): 'src/snappy/config', ]) + result += get_soci_sources('unity') + result += get_common_sources() + return result # Declare the targets diff --git a/src/ripple/unity/secp256k1.cpp b/src/ripple/unity/secp256k1.cpp new file mode 100644 index 0000000000..de884867e6 --- /dev/null +++ b/src/ripple/unity/secp256k1.cpp @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +/* + This file is part of rippled: https://github.com/ripple/rippled + Copyright (c) 2012, 2013 Ripple Labs Inc. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +//============================================================================== + +#include + +#define USE_NUM_NONE +#define USE_FIELD_10X26 +#define USE_FIELD_INV_BUILTIN +#define USE_SCALAR_8X32 +#define USE_SCALAR_INV_BUILTIN + +#include