Browse Source

Rename libbitcoinconsensus to libzcashconsensus

Closes #1563
pull/4/head
Jack Grigg 8 years ago
parent
commit
08d6b02d5e
No known key found for this signature in database GPG Key ID: 6A6914DAFBEA00DA
  1. 2
      .gitignore
  2. 2
      Makefile.am
  3. 2
      configure.ac
  4. 6
      libzcashconsensus.pc.in
  5. 22
      src/Makefile.am
  6. 2
      src/Makefile.gtest.include
  7. 2
      src/Makefile.test.include
  8. 20
      src/script/zcashconsensus.cpp
  9. 36
      src/script/zcashconsensus.h
  10. 4
      src/test/script_tests.cpp

2
.gitignore

@ -121,4 +121,4 @@ qa/pull-tester/test.*/*
/doc/doxygen/ /doc/doxygen/
libbitcoinconsensus.pc libzcashconsensus.pc

2
Makefile.am

@ -6,7 +6,7 @@ GZIP_ENV="-9n"
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libbitcoinconsensus.pc pkgconfig_DATA = libzcashconsensus.pc
endif endif
BITCOIND_BIN=$(top_builddir)/src/zcashd$(EXEEXT) BITCOIND_BIN=$(top_builddir)/src/zcashd$(EXEEXT)

2
configure.ac

@ -754,7 +754,7 @@ AC_MSG_CHECKING([whether to build libraries])
AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes])
if test x$build_bitcoin_libs = xyes; then if test x$build_bitcoin_libs = xyes; then
AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built]) AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built])
AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in]) AC_CONFIG_FILES([libzcashconsensus.pc:libzcashconsensus.pc.in])
fi fi
AC_MSG_RESULT($build_bitcoin_libs) AC_MSG_RESULT($build_bitcoin_libs)

6
libbitcoinconsensus.pc.in → libzcashconsensus.pc.in

@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
libdir=@libdir@ libdir=@libdir@
includedir=@includedir@ includedir=@includedir@
Name: Bitcoin Core consensus library Name: Zcash consensus library
Description: Library for the Bitcoin consensus protocol. Description: Library for the Zcash consensus protocol.
Version: @PACKAGE_VERSION@ Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lbitcoinconsensus Libs: -L${libdir} -lzcashconsensus
Cflags: -I${includedir} Cflags: -I${includedir}
Requires.private: libcrypto Requires.private: libcrypto

22
src/Makefile.am

@ -52,10 +52,10 @@ EXTRA_LIBRARIES += libbitcoin_wallet.a
endif endif
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
lib_LTLIBRARIES = libbitcoinconsensus.la lib_LTLIBRARIES = libzcashconsensus.la
LIBBITCOIN_CONSENSUS=libbitcoinconsensus.la LIBZCASH_CONSENSUS=libzcashconsensus.la
else else
LIBBITCOIN_CONSENSUS= LIBZCASH_CONSENSUS=
endif endif
bin_PROGRAMS = bin_PROGRAMS =
@ -440,10 +440,10 @@ libzcash_a_LDFLAGS = $(HARDENED_LDFLAGS)
libzcash_a_CPPFLAGS += -DMONTGOMERY_OUTPUT libzcash_a_CPPFLAGS += -DMONTGOMERY_OUTPUT
# bitcoinconsensus library # # zcashconsensus library #
if BUILD_BITCOIN_LIBS if BUILD_BITCOIN_LIBS
include_HEADERS = script/bitcoinconsensus.h include_HEADERS = script/zcashconsensus.h
libbitcoinconsensus_la_SOURCES = \ libzcashconsensus_la_SOURCES = \
crypto/equihash.cpp \ crypto/equihash.cpp \
crypto/hmac_sha512.cpp \ crypto/hmac_sha512.cpp \
crypto/ripemd160.cpp \ crypto/ripemd160.cpp \
@ -455,19 +455,19 @@ libbitcoinconsensus_la_SOURCES = \
hash.cpp \ hash.cpp \
primitives/transaction.cpp \ primitives/transaction.cpp \
pubkey.cpp \ pubkey.cpp \
script/bitcoinconsensus.cpp \ script/zcashconsensus.cpp \
script/interpreter.cpp \ script/interpreter.cpp \
script/script.cpp \ script/script.cpp \
uint256.cpp \ uint256.cpp \
utilstrencodings.cpp utilstrencodings.cpp
if GLIBC_BACK_COMPAT if GLIBC_BACK_COMPAT
libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp libzcashconsensus_la_SOURCES += compat/glibc_compat.cpp
endif endif
libbitcoinconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS) libzcashconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS)
libbitcoinconsensus_la_LIBADD = $(CRYPTO_LIBS) libzcashconsensus_la_LIBADD = $(CRYPTO_LIBS)
libbitcoinconsensus_la_CPPFLAGS = $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL libzcashconsensus_la_CPPFLAGS = $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL
endif endif
# #

2
src/Makefile.gtest.include

@ -32,7 +32,7 @@ if ENABLE_WALLET
zcash_gtest_LDADD += $(LIBBITCOIN_WALLET) zcash_gtest_LDADD += $(LIBBITCOIN_WALLET)
endif endif
zcash_gtest_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBZCASH) $(LIBZCASH_LIBS) zcash_gtest_LDADD += $(LIBZCASH_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBZCASH) $(LIBZCASH_LIBS)
zcash_gtest_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static zcash_gtest_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static

2
src/Makefile.test.include

@ -103,7 +103,7 @@ if ENABLE_WALLET
test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET) test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET)
endif endif
test_test_bitcoin_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBZCASH) $(LIBZCASH_LIBS) test_test_bitcoin_LDADD += $(LIBZCASH_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBZCASH) $(LIBZCASH_LIBS)
test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static
nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES)

20
src/script/bitcoinconsensus.cpp → src/script/zcashconsensus.cpp

@ -3,7 +3,7 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "bitcoinconsensus.h" #include "zcashconsensus.h"
#include "primitives/transaction.h" #include "primitives/transaction.h"
#include "script/interpreter.h" #include "script/interpreter.h"
@ -53,7 +53,7 @@ private:
size_t m_remaining; size_t m_remaining;
}; };
inline int set_error(bitcoinconsensus_error* ret, bitcoinconsensus_error serror) inline int set_error(zcashconsensus_error* ret, zcashconsensus_error serror)
{ {
if (ret) if (ret)
*ret = serror; *ret = serror;
@ -62,30 +62,30 @@ inline int set_error(bitcoinconsensus_error* ret, bitcoinconsensus_error serror)
} // anon namespace } // anon namespace
int bitcoinconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int zcashconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen,
const unsigned char *txTo , unsigned int txToLen, const unsigned char *txTo , unsigned int txToLen,
unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err) unsigned int nIn, unsigned int flags, zcashconsensus_error* err)
{ {
try { try {
TxInputStream stream(SER_NETWORK, PROTOCOL_VERSION, txTo, txToLen); TxInputStream stream(SER_NETWORK, PROTOCOL_VERSION, txTo, txToLen);
CTransaction tx; CTransaction tx;
stream >> tx; stream >> tx;
if (nIn >= tx.vin.size()) if (nIn >= tx.vin.size())
return set_error(err, bitcoinconsensus_ERR_TX_INDEX); return set_error(err, zcashconsensus_ERR_TX_INDEX);
if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION) != txToLen) if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION) != txToLen)
return set_error(err, bitcoinconsensus_ERR_TX_SIZE_MISMATCH); return set_error(err, zcashconsensus_ERR_TX_SIZE_MISMATCH);
// Regardless of the verification result, the tx did not error. // Regardless of the verification result, the tx did not error.
set_error(err, bitcoinconsensus_ERR_OK); set_error(err, zcashconsensus_ERR_OK);
return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), flags, TransactionSignatureChecker(&tx, nIn), NULL); return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), flags, TransactionSignatureChecker(&tx, nIn), NULL);
} catch (const std::exception&) { } catch (const std::exception&) {
return set_error(err, bitcoinconsensus_ERR_TX_DESERIALIZE); // Error deserializing return set_error(err, zcashconsensus_ERR_TX_DESERIALIZE); // Error deserializing
} }
} }
unsigned int bitcoinconsensus_version() unsigned int zcashconsensus_version()
{ {
// Just use the API version for now // Just use the API version for now
return BITCOINCONSENSUS_API_VER; return ZCASHCONSENSUS_API_VER;
} }

36
src/script/bitcoinconsensus.h → src/script/zcashconsensus.h

@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_BITCOINCONSENSUS_H #ifndef BITCOIN_ZCASHCONSENSUS_H
#define BITCOIN_BITCOINCONSENSUS_H #define BITCOIN_ZCASHCONSENSUS_H
#if defined(BUILD_BITCOIN_INTERNAL) && defined(HAVE_CONFIG_H) #if defined(BUILD_BITCOIN_INTERNAL) && defined(HAVE_CONFIG_H)
#include "config/bitcoin-config.h" #include "config/bitcoin-config.h"
@ -19,7 +19,7 @@
#elif defined(HAVE_FUNC_ATTRIBUTE_VISIBILITY) #elif defined(HAVE_FUNC_ATTRIBUTE_VISIBILITY)
#define EXPORT_SYMBOL __attribute__ ((visibility ("default"))) #define EXPORT_SYMBOL __attribute__ ((visibility ("default")))
#endif #endif
#elif defined(MSC_VER) && !defined(STATIC_LIBBITCOINCONSENSUS) #elif defined(MSC_VER) && !defined(STATIC_LIBZCASHCONSENSUS)
#define EXPORT_SYMBOL __declspec(dllimport) #define EXPORT_SYMBOL __declspec(dllimport)
#endif #endif
@ -31,34 +31,34 @@
extern "C" { extern "C" {
#endif #endif
#define BITCOINCONSENSUS_API_VER 0 #define ZCASHCONSENSUS_API_VER 0
typedef enum bitcoinconsensus_error_t typedef enum zcashconsensus_error_t
{ {
bitcoinconsensus_ERR_OK = 0, zcashconsensus_ERR_OK = 0,
bitcoinconsensus_ERR_TX_INDEX, zcashconsensus_ERR_TX_INDEX,
bitcoinconsensus_ERR_TX_SIZE_MISMATCH, zcashconsensus_ERR_TX_SIZE_MISMATCH,
bitcoinconsensus_ERR_TX_DESERIALIZE, zcashconsensus_ERR_TX_DESERIALIZE,
} bitcoinconsensus_error; } zcashconsensus_error;
/** Script verification flags */ /** Script verification flags */
enum enum
{ {
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, zcashconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0,
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts zcashconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), // enforce strict DER (BIP66) compliance zcashconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), // enforce strict DER (BIP66) compliance
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), // enable CHECKLOCKTIMEVERIFY (BIP65) zcashconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), // enable CHECKLOCKTIMEVERIFY (BIP65)
}; };
/// Returns 1 if the input nIn of the serialized transaction pointed to by /// Returns 1 if the input nIn of the serialized transaction pointed to by
/// txTo correctly spends the scriptPubKey pointed to by scriptPubKey under /// txTo correctly spends the scriptPubKey pointed to by scriptPubKey under
/// the additional constraints specified by flags. /// the additional constraints specified by flags.
/// If not NULL, err will contain an error/success code for the operation /// If not NULL, err will contain an error/success code for the operation
EXPORT_SYMBOL int bitcoinconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, EXPORT_SYMBOL int zcashconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen,
const unsigned char *txTo , unsigned int txToLen, const unsigned char *txTo , unsigned int txToLen,
unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err); unsigned int nIn, unsigned int flags, zcashconsensus_error* err);
EXPORT_SYMBOL unsigned int bitcoinconsensus_version(); EXPORT_SYMBOL unsigned int zcashconsensus_version();
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
@ -66,4 +66,4 @@ EXPORT_SYMBOL unsigned int bitcoinconsensus_version();
#undef EXPORT_SYMBOL #undef EXPORT_SYMBOL
#endif // BITCOIN_BITCOINCONSENSUS_H #endif // BITCOIN_ZCASHCONSENSUS_H

4
src/test/script_tests.cpp

@ -16,7 +16,7 @@
#include "test/test_bitcoin.h" #include "test/test_bitcoin.h"
#if defined(HAVE_CONSENSUS_LIB) #if defined(HAVE_CONSENSUS_LIB)
#include "script/bitcoinconsensus.h" #include "script/zcashconsensus.h"
#endif #endif
#include <fstream> #include <fstream>
@ -99,7 +99,7 @@ void DoTest(const CScript& scriptPubKey, const CScript& scriptSig, int flags, bo
#if defined(HAVE_CONSENSUS_LIB) #if defined(HAVE_CONSENSUS_LIB)
CDataStream stream(SER_NETWORK, PROTOCOL_VERSION); CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
stream << tx2; stream << tx2;
BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script(begin_ptr(scriptPubKey), scriptPubKey.size(), (const unsigned char*)&stream[0], stream.size(), 0, flags, NULL) == expect,message); BOOST_CHECK_MESSAGE(zcashconsensus_verify_script(begin_ptr(scriptPubKey), scriptPubKey.size(), (const unsigned char*)&stream[0], stream.size(), 0, flags, NULL) == expect,message);
#endif #endif
} }

Loading…
Cancel
Save