BitcoinPrivate-legacy/Makefile.am

286 lines
11 KiB
Makefile
Raw Normal View History

ACLOCAL_AMFLAGS = -I build-aux/m4
SUBDIRS = src
if ENABLE_MAN
SUBDIRS += doc/man
endif
.PHONY: deploy FORCE
GZIP_ENV="-9n"
if BUILD_BITCOIN_LIBS
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libzcashconsensus.pc
endif
BITCOIND_BIN=$(top_builddir)/src/btcpd$(EXEEXT)
BITCOIN_CLI_BIN=$(top_builddir)/src/btcp-cli$(EXEEXT)
2014-01-21 03:01:37 -08:00
BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
##OSX_APP=Bitcoin-Qt.app
##OSX_DMG=Bitcoin-Core.dmg
##OSX_BACKGROUND_IMAGE=background.tiff
##OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
##OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
##OSX_BASE_LPROJ_DIR=$(top_srcdir)/contrib/macdeploy/Base.lproj/InfoPlist.strings
##OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
##OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed
##OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
$(top_srcdir)/contrib/devtools/security-check.py
WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
$(top_srcdir)/share/pixmaps/nsis-header.bmp \
2016-10-14 18:04:08 -07:00
$(top_srcdir)/share/pixmaps/nsis-wizard.bmp
##OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $(OSX_BASE_LPROJ_DIR) \
## $(top_srcdir)/contrib/macdeploy/$(OSX_BACKGROUND_IMAGE) \
## $(top_srcdir)/contrib/macdeploy/DS_Store \
## $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
## $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
baseline_filtered.info block_test_filtered.info \
leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info \
zcash-gtest.info zcash-gtest_filtered.info zcash-gtest_coverage.info
dist-hook:
-$(MAKE) -C $(top_distdir)/src/leveldb clean
-$(MAKE) -C $(top_distdir)/src/secp256k1 distclean
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
distcheck-hook:
$(MKDIR_P) $(top_distdir)/_build/src/leveldb
cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/
-$(MAKE) -C $(top_distdir)/_build/src/leveldb clean
distcleancheck:
@:
$(BITCOIN_WIN_INSTALLER): all-recursive
$(MKDIR_P) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
2015-05-04 09:02:24 -07:00
@test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \
echo error: could not build $@
2015-05-04 09:02:24 -07:00
@echo built $@
$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE
$(MAKE) -C src $(patsubst src/%,%,$@)
##$(OSX_APP)/Contents/PkgInfo:
## $(MKDIR_P) $(@D)
## @echo "APPL????" > $@
##
##$(OSX_APP)/Contents/Resources/empty.lproj:
## $(MKDIR_P) $(@D)
## @touch $@
##
##$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
## $(MKDIR_P) $(@D)
## $(INSTALL_DATA) $< $@
##
##$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
## $(MKDIR_P) $(@D)
## $(INSTALL_DATA) $< $@
##
##$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(BITCOIN_QT_BIN)
## $(MKDIR_P) $(@D)
## STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@
##
##$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: $(OSX_BASE_LPROJ_DIR)
## $(MKDIR_P) $(@D)
## $(INSTALL_DATA) $< $@
##
##OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
## $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
## $(OSX_APP)/Contents/MacOS/Bitcoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
##
##if BUILD_DARWIN
##$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
## $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2
##
##deploydir: $(OSX_DMG)
##else
##APP_DIST_DIR=$(top_builddir)/dist
##APP_DIST_EXTRAS=$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE) $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications
##
##$(APP_DIST_DIR)/Applications:
## @rm -f $@
## @cd $(@D); $(LN_S) /Applications $(@F)
##
##$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt
##
##$(OSX_DMG): $(APP_DIST_EXTRAS)
## $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Bitcoin-Core" -no-pad -r -apple -o $@ dist
##
##$(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): contrib/macdeploy/$(OSX_BACKGROUND_IMAGE)
## $(MKDIR_P) $(@D)
## $(INSTALL) $< $@
##$(APP_DIST_DIR)/.DS_Store: contrib/macdeploy/DS_Store
## $(INSTALL) $< $@
##
##$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
## INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
##
##deploydir: $(APP_DIST_EXTRAS)
##endif
##
##if TARGET_DARWIN
##appbundle: $(OSX_APP_BUILT)
##deploy: $(OSX_DMG)
##endif
if TARGET_WINDOWS
deploy: $(BITCOIN_WIN_INSTALLER)
endif
$(BITCOIND_BIN): FORCE
$(MAKE) -C src $(@F)
$(BITCOIN_CLI_BIN): FORCE
$(MAKE) -C src $(@F)
if USE_LCOV
baseline.info:
$(LCOV) -c -i -d $(abs_builddir)/src -o $@
baseline_filtered.info: baseline.info
$(LCOV) -r $< "/usr/include/*" \
2017-01-16 11:21:36 -08:00
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
"$(abs_builddir)/src/gtest/*" \
"$(abs_builddir)/src/test/*" \
V1.0.5 multios (#57) * Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo * Add benchmark for attempting decryption of notes * Add benchmark for incrementing note witnesses * Add -metricsui flag to toggle between persistent screen and rolling metrics Defaults to true if stdout is a TTY, else false. * Add -metricsrefreshtime option * Only show metrics by default if stdout is a TTY * Document metrics screen options * Fix stale comment referencing upstream block interval * Add checkpoint at block height 15000 * Make command line option to show all debugging consistent with similar options Most people expect a value of 1 to enable all for command line arguments. However to do this for the -debug option you must type "-debug=". This has been changed to allow "-debug=1" as well as "-debug=" to enable all debug logging * Update documentation to match the #4219 change * Update help message to match the #4219 change * Clarify that metrics options are only useful without -daemon and -printtoconsole * Increase length of metrics divider * Closes #1857. Fixes bug where tx spending only notes had priority of 0. * Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. * Write witness caches when writing the best block For steady-state operation, this reduces the average time between wallet disk writes from once per block to once per hour. On -rescan, witness caches are only written out at the end along with the best block, increasing speed while ensuring that on-disk state is kept consistent. Witness caches are now never recreated during a -reindex, on the assumption that the blocks themselves are not changing (the chain is just being reconstructed), and so the witnesses will remain valid. Part of #1749. * Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST * Apply miniupnpc patches to enable compilation on Solaris 11 These can be removed after the next MiniUPnP release. Closes #1835. * Closes #1903. Add fee parameter to z_sendmany. * Add an upstream miniupnpc patch revision * Metrics - Don't exclaim unless > 1 "You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction". * Address review comments, tweak strings * bash-completion: Adapt for 0.12 and 0.13 * separate completion for bitcoind and bitcoin-cli * remove RPC support from bitcoind completion * add completion for bitcoin-tx and bitcoin-qt * rely on autoloading of completions * Change function names to not clash with Bitcoin, apply to correct binaries * Add bash completion files to Debian package * Always bash-complete the default account * Add Zcash RPC commands to CLI argument completion * Fixes #1823. Witness anchors for input notes no longer cross block boundaries. * Edit for grammar: "block chain" At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two. * Increase timeout as laptops on battery power have cpu throttling. * Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. * Regression test. * Ensure cache contains valid entry when anchor is popped. * Ensure ProofVerifier cannot be accidentally copied. * Document behaviour of CWallet::SetBestChain * WitnessAnchorData only needs to store one witness per JSOutPoint. * Rename Dummy to Disabled. * Add more tests for ProofVerifier. * Fix indentation * Generate JS for trydecryptnotes, make number of addresses a variable * Add JS to second block to ensure witnesses are incremented * ASSERT_TRUE -> ASSERT_FALSE * Skip JoinSplit verification before the last checkpoint Part of #1749 * Gather release notes from previous release to HEAD Also update release-process.md to replace git shortlog command with release-notes.py script. * Add a reindex test that fails because of a bug in decrementing witness caches Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988 * Make the test pass by fixing the bug! * Only check cache validity for witnesses being incremented or decremented Fixes the bug resulting from #1904. * Update release process to check in with users who opened resolved issues * Check that E' points are actually in G2 by ensuring they are of order r. * Fix bug in wallet tests * Extract block-generation wallet test code into a function * Rewrite reindex test to check beyond the max witness cache size * Fix bug in IncrementNoteWitness() * Extend createjoinsplit to benchmark parallel JoinSplits Closes #1940 * Update payment API docs to recommend -rescan for fixing witness errors * Add total number of commitments to getblockchaininfo * Update version to 1.0.4 * Update man pages * Release notes, authors, changelog * Only enable getblocktemplate when wallet is enabled * Only run wallet tests when wallet is enabled * Add a tool for profiling the creation of JoinSplits * Add test for IncrementalMerkleTree::size(). * Exclude test binaries from make install Closes #1943. * Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. * Fixes #1967 by adding age of note to z_sendmany logging. * Scan the whole chain whenever a z-key is imported Closes #1941. * Instruct users to run zcash-fetch-params if network params aren't available Closes #1786. * Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. * Trigger metrics UI refresh on new messages * Strip out the SECURE flag in metrics UI so message style is detected * Add 'CreateJoinSplit' standalone utility to gitignore. * Handle newlines in UI messages * Suggest ./zcutil/fetch-params.sh as well Once we improve the from-source installation docs to use 'make install', we can revert this commit. * Update debug categories Closes #1954. * CreateJoinSplit: add start_profiling() call This solves the problem of profiling output displaying nonsensical large time values. * rpc: Implement random-cookie based authentication When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution. * Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version Closes #1622. * Bump COPYRIGHT_YEAR from 2016 to 2017. * Throw an error if zcash.conf is missing An empty zcash.conf is sufficient to bypass this error. * Show a friendly message explaining why zcashd needs a zcash.conf * Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation * Create ISSUE_TEMPLATE.md * move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs * Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools * Closes #1097 so zcash-cli now displays license info like zcashd. LicenseInfo is refactored from init.cpp to util.cpp so that the bitcoin-cli makefile target does not need to be modified. * Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. Previously the RPC interface allowed z_exportwallet, backupwallet and dumpwallet to write data to an arbitrary filename. ZCA-009 demonstrates how this is vulnerable. The resolution is to only allow data to written when the -exportdir has been configured. Also filenames are restricted to alphanumeric characters. * Closes #1957 by adding tx serialization size to listtransactions output. * Fix gtest ordering broken by #1949 Part of #1539 * Fixes #1960: z_getoperationstatus/result now includes operation details. * Debian package lint - Tweak description synopsis to make Debian happy - Put bash completion files in correct directory - Add a manpage for zcash-fetch-params * Generate Debian control file to fix shlibs lint * Create empty zcash.conf during performance measurements * Create empty zcash.conf during coverage checks Fixes regression caused by #2013. * Coverage build system tweaks * Update walletbackup.py qa test to use -exportdir option * Add missing header required by std::accumulate * Increase timeout for z_sendmany transaction in wallet.py qa test * Add test for z_importkey rescanning from beginning of chain. * Bump version to 1.0.5. * Update release notes and Debian package. * V1.0.4 mac (#51) * initial mac version of zclassic Work in progress - 15JAN2017 more refactoring linux refactoring fixes osx refactoring fixes initial win64 commit fixup! initial win64 commit compile libsnark with posix threads build gtest and gmock with posix Working build fixup! Working build * Windows and Linux builds ok * fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * Fix OSX compatibility with depends * OSX Compat - Fix site_t ambiguity in json * fixup! OSX Compat - Fix site_t ambiguity in json
2017-01-31 15:33:46 -08:00
"$(abs_builddir)/src/wallet/gtest/*" \
"$(abs_builddir)/src/wallet/test/*" \
-o $@
leveldb_baseline.info: baseline_filtered.info
$(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@
leveldb_baseline_filtered.info: leveldb_baseline.info
$(LCOV) -r $< "/usr/include/*" \
2017-01-16 11:21:36 -08:00
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
"$(abs_builddir)/src/gtest/*" \
"$(abs_builddir)/src/test/*" \
V1.0.5 multios (#57) * Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo * Add benchmark for attempting decryption of notes * Add benchmark for incrementing note witnesses * Add -metricsui flag to toggle between persistent screen and rolling metrics Defaults to true if stdout is a TTY, else false. * Add -metricsrefreshtime option * Only show metrics by default if stdout is a TTY * Document metrics screen options * Fix stale comment referencing upstream block interval * Add checkpoint at block height 15000 * Make command line option to show all debugging consistent with similar options Most people expect a value of 1 to enable all for command line arguments. However to do this for the -debug option you must type "-debug=". This has been changed to allow "-debug=1" as well as "-debug=" to enable all debug logging * Update documentation to match the #4219 change * Update help message to match the #4219 change * Clarify that metrics options are only useful without -daemon and -printtoconsole * Increase length of metrics divider * Closes #1857. Fixes bug where tx spending only notes had priority of 0. * Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. * Write witness caches when writing the best block For steady-state operation, this reduces the average time between wallet disk writes from once per block to once per hour. On -rescan, witness caches are only written out at the end along with the best block, increasing speed while ensuring that on-disk state is kept consistent. Witness caches are now never recreated during a -reindex, on the assumption that the blocks themselves are not changing (the chain is just being reconstructed), and so the witnesses will remain valid. Part of #1749. * Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST * Apply miniupnpc patches to enable compilation on Solaris 11 These can be removed after the next MiniUPnP release. Closes #1835. * Closes #1903. Add fee parameter to z_sendmany. * Add an upstream miniupnpc patch revision * Metrics - Don't exclaim unless > 1 "You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction". * Address review comments, tweak strings * bash-completion: Adapt for 0.12 and 0.13 * separate completion for bitcoind and bitcoin-cli * remove RPC support from bitcoind completion * add completion for bitcoin-tx and bitcoin-qt * rely on autoloading of completions * Change function names to not clash with Bitcoin, apply to correct binaries * Add bash completion files to Debian package * Always bash-complete the default account * Add Zcash RPC commands to CLI argument completion * Fixes #1823. Witness anchors for input notes no longer cross block boundaries. * Edit for grammar: "block chain" At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two. * Increase timeout as laptops on battery power have cpu throttling. * Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. * Regression test. * Ensure cache contains valid entry when anchor is popped. * Ensure ProofVerifier cannot be accidentally copied. * Document behaviour of CWallet::SetBestChain * WitnessAnchorData only needs to store one witness per JSOutPoint. * Rename Dummy to Disabled. * Add more tests for ProofVerifier. * Fix indentation * Generate JS for trydecryptnotes, make number of addresses a variable * Add JS to second block to ensure witnesses are incremented * ASSERT_TRUE -> ASSERT_FALSE * Skip JoinSplit verification before the last checkpoint Part of #1749 * Gather release notes from previous release to HEAD Also update release-process.md to replace git shortlog command with release-notes.py script. * Add a reindex test that fails because of a bug in decrementing witness caches Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988 * Make the test pass by fixing the bug! * Only check cache validity for witnesses being incremented or decremented Fixes the bug resulting from #1904. * Update release process to check in with users who opened resolved issues * Check that E' points are actually in G2 by ensuring they are of order r. * Fix bug in wallet tests * Extract block-generation wallet test code into a function * Rewrite reindex test to check beyond the max witness cache size * Fix bug in IncrementNoteWitness() * Extend createjoinsplit to benchmark parallel JoinSplits Closes #1940 * Update payment API docs to recommend -rescan for fixing witness errors * Add total number of commitments to getblockchaininfo * Update version to 1.0.4 * Update man pages * Release notes, authors, changelog * Only enable getblocktemplate when wallet is enabled * Only run wallet tests when wallet is enabled * Add a tool for profiling the creation of JoinSplits * Add test for IncrementalMerkleTree::size(). * Exclude test binaries from make install Closes #1943. * Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. * Fixes #1967 by adding age of note to z_sendmany logging. * Scan the whole chain whenever a z-key is imported Closes #1941. * Instruct users to run zcash-fetch-params if network params aren't available Closes #1786. * Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. * Trigger metrics UI refresh on new messages * Strip out the SECURE flag in metrics UI so message style is detected * Add 'CreateJoinSplit' standalone utility to gitignore. * Handle newlines in UI messages * Suggest ./zcutil/fetch-params.sh as well Once we improve the from-source installation docs to use 'make install', we can revert this commit. * Update debug categories Closes #1954. * CreateJoinSplit: add start_profiling() call This solves the problem of profiling output displaying nonsensical large time values. * rpc: Implement random-cookie based authentication When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution. * Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version Closes #1622. * Bump COPYRIGHT_YEAR from 2016 to 2017. * Throw an error if zcash.conf is missing An empty zcash.conf is sufficient to bypass this error. * Show a friendly message explaining why zcashd needs a zcash.conf * Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation * Create ISSUE_TEMPLATE.md * move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs * Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools * Closes #1097 so zcash-cli now displays license info like zcashd. LicenseInfo is refactored from init.cpp to util.cpp so that the bitcoin-cli makefile target does not need to be modified. * Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. Previously the RPC interface allowed z_exportwallet, backupwallet and dumpwallet to write data to an arbitrary filename. ZCA-009 demonstrates how this is vulnerable. The resolution is to only allow data to written when the -exportdir has been configured. Also filenames are restricted to alphanumeric characters. * Closes #1957 by adding tx serialization size to listtransactions output. * Fix gtest ordering broken by #1949 Part of #1539 * Fixes #1960: z_getoperationstatus/result now includes operation details. * Debian package lint - Tweak description synopsis to make Debian happy - Put bash completion files in correct directory - Add a manpage for zcash-fetch-params * Generate Debian control file to fix shlibs lint * Create empty zcash.conf during performance measurements * Create empty zcash.conf during coverage checks Fixes regression caused by #2013. * Coverage build system tweaks * Update walletbackup.py qa test to use -exportdir option * Add missing header required by std::accumulate * Increase timeout for z_sendmany transaction in wallet.py qa test * Add test for z_importkey rescanning from beginning of chain. * Bump version to 1.0.5. * Update release notes and Debian package. * V1.0.4 mac (#51) * initial mac version of zclassic Work in progress - 15JAN2017 more refactoring linux refactoring fixes osx refactoring fixes initial win64 commit fixup! initial win64 commit compile libsnark with posix threads build gtest and gmock with posix Working build fixup! Working build * Windows and Linux builds ok * fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * Fix OSX compatibility with depends * OSX Compat - Fix site_t ambiguity in json * fixup! OSX Compat - Fix site_t ambiguity in json
2017-01-31 15:33:46 -08:00
"$(abs_builddir)/src/wallet/gtest/*" \
"$(abs_builddir)/src/wallet/test/*" \
-o $@
baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info
$(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@
test_bitcoin.info: baseline_filtered_combined.info
$(MAKE) -C src/ bitcoin_test_check
$(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@
$(LCOV) -z -d $(abs_builddir)/src
$(LCOV) -z -d $(abs_builddir)/src/leveldb
test_bitcoin_filtered.info: test_bitcoin.info
$(LCOV) -r $< "/usr/include/*" \
2017-01-16 11:21:36 -08:00
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
"$(abs_builddir)/src/gtest/*" \
"$(abs_builddir)/src/test/*" \
V1.0.5 multios (#57) * Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo * Add benchmark for attempting decryption of notes * Add benchmark for incrementing note witnesses * Add -metricsui flag to toggle between persistent screen and rolling metrics Defaults to true if stdout is a TTY, else false. * Add -metricsrefreshtime option * Only show metrics by default if stdout is a TTY * Document metrics screen options * Fix stale comment referencing upstream block interval * Add checkpoint at block height 15000 * Make command line option to show all debugging consistent with similar options Most people expect a value of 1 to enable all for command line arguments. However to do this for the -debug option you must type "-debug=". This has been changed to allow "-debug=1" as well as "-debug=" to enable all debug logging * Update documentation to match the #4219 change * Update help message to match the #4219 change * Clarify that metrics options are only useful without -daemon and -printtoconsole * Increase length of metrics divider * Closes #1857. Fixes bug where tx spending only notes had priority of 0. * Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. * Write witness caches when writing the best block For steady-state operation, this reduces the average time between wallet disk writes from once per block to once per hour. On -rescan, witness caches are only written out at the end along with the best block, increasing speed while ensuring that on-disk state is kept consistent. Witness caches are now never recreated during a -reindex, on the assumption that the blocks themselves are not changing (the chain is just being reconstructed), and so the witnesses will remain valid. Part of #1749. * Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST * Apply miniupnpc patches to enable compilation on Solaris 11 These can be removed after the next MiniUPnP release. Closes #1835. * Closes #1903. Add fee parameter to z_sendmany. * Add an upstream miniupnpc patch revision * Metrics - Don't exclaim unless > 1 "You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction". * Address review comments, tweak strings * bash-completion: Adapt for 0.12 and 0.13 * separate completion for bitcoind and bitcoin-cli * remove RPC support from bitcoind completion * add completion for bitcoin-tx and bitcoin-qt * rely on autoloading of completions * Change function names to not clash with Bitcoin, apply to correct binaries * Add bash completion files to Debian package * Always bash-complete the default account * Add Zcash RPC commands to CLI argument completion * Fixes #1823. Witness anchors for input notes no longer cross block boundaries. * Edit for grammar: "block chain" At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two. * Increase timeout as laptops on battery power have cpu throttling. * Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. * Regression test. * Ensure cache contains valid entry when anchor is popped. * Ensure ProofVerifier cannot be accidentally copied. * Document behaviour of CWallet::SetBestChain * WitnessAnchorData only needs to store one witness per JSOutPoint. * Rename Dummy to Disabled. * Add more tests for ProofVerifier. * Fix indentation * Generate JS for trydecryptnotes, make number of addresses a variable * Add JS to second block to ensure witnesses are incremented * ASSERT_TRUE -> ASSERT_FALSE * Skip JoinSplit verification before the last checkpoint Part of #1749 * Gather release notes from previous release to HEAD Also update release-process.md to replace git shortlog command with release-notes.py script. * Add a reindex test that fails because of a bug in decrementing witness caches Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988 * Make the test pass by fixing the bug! * Only check cache validity for witnesses being incremented or decremented Fixes the bug resulting from #1904. * Update release process to check in with users who opened resolved issues * Check that E' points are actually in G2 by ensuring they are of order r. * Fix bug in wallet tests * Extract block-generation wallet test code into a function * Rewrite reindex test to check beyond the max witness cache size * Fix bug in IncrementNoteWitness() * Extend createjoinsplit to benchmark parallel JoinSplits Closes #1940 * Update payment API docs to recommend -rescan for fixing witness errors * Add total number of commitments to getblockchaininfo * Update version to 1.0.4 * Update man pages * Release notes, authors, changelog * Only enable getblocktemplate when wallet is enabled * Only run wallet tests when wallet is enabled * Add a tool for profiling the creation of JoinSplits * Add test for IncrementalMerkleTree::size(). * Exclude test binaries from make install Closes #1943. * Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. * Fixes #1967 by adding age of note to z_sendmany logging. * Scan the whole chain whenever a z-key is imported Closes #1941. * Instruct users to run zcash-fetch-params if network params aren't available Closes #1786. * Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. * Trigger metrics UI refresh on new messages * Strip out the SECURE flag in metrics UI so message style is detected * Add 'CreateJoinSplit' standalone utility to gitignore. * Handle newlines in UI messages * Suggest ./zcutil/fetch-params.sh as well Once we improve the from-source installation docs to use 'make install', we can revert this commit. * Update debug categories Closes #1954. * CreateJoinSplit: add start_profiling() call This solves the problem of profiling output displaying nonsensical large time values. * rpc: Implement random-cookie based authentication When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution. * Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version Closes #1622. * Bump COPYRIGHT_YEAR from 2016 to 2017. * Throw an error if zcash.conf is missing An empty zcash.conf is sufficient to bypass this error. * Show a friendly message explaining why zcashd needs a zcash.conf * Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation * Create ISSUE_TEMPLATE.md * move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs * Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools * Closes #1097 so zcash-cli now displays license info like zcashd. LicenseInfo is refactored from init.cpp to util.cpp so that the bitcoin-cli makefile target does not need to be modified. * Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. Previously the RPC interface allowed z_exportwallet, backupwallet and dumpwallet to write data to an arbitrary filename. ZCA-009 demonstrates how this is vulnerable. The resolution is to only allow data to written when the -exportdir has been configured. Also filenames are restricted to alphanumeric characters. * Closes #1957 by adding tx serialization size to listtransactions output. * Fix gtest ordering broken by #1949 Part of #1539 * Fixes #1960: z_getoperationstatus/result now includes operation details. * Debian package lint - Tweak description synopsis to make Debian happy - Put bash completion files in correct directory - Add a manpage for zcash-fetch-params * Generate Debian control file to fix shlibs lint * Create empty zcash.conf during performance measurements * Create empty zcash.conf during coverage checks Fixes regression caused by #2013. * Coverage build system tweaks * Update walletbackup.py qa test to use -exportdir option * Add missing header required by std::accumulate * Increase timeout for z_sendmany transaction in wallet.py qa test * Add test for z_importkey rescanning from beginning of chain. * Bump version to 1.0.5. * Update release notes and Debian package. * V1.0.4 mac (#51) * initial mac version of zclassic Work in progress - 15JAN2017 more refactoring linux refactoring fixes osx refactoring fixes initial win64 commit fixup! initial win64 commit compile libsnark with posix threads build gtest and gmock with posix Working build fixup! Working build * Windows and Linux builds ok * fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * Fix OSX compatibility with depends * OSX Compat - Fix site_t ambiguity in json * fixup! OSX Compat - Fix site_t ambiguity in json
2017-01-31 15:33:46 -08:00
"$(abs_builddir)/src/wallet/gtest/*" \
"$(abs_builddir)/src/wallet/test/*" \
-o $@
zcash-gtest.info: baseline_filtered_combined.info
$(MAKE) -C src/ zcash-gtest_check
$(LCOV) -c -d $(abs_builddir)/src -t zcash-gtest -o $@
$(LCOV) -z -d $(abs_builddir)/src
$(LCOV) -z -d $(abs_builddir)/src/leveldb
zcash-gtest_filtered.info: zcash-gtest.info
$(LCOV) -r $< "/usr/include/*" \
2017-01-16 11:21:36 -08:00
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
"$(abs_builddir)/src/gtest/*" \
"$(abs_builddir)/src/test/*" \
V1.0.5 multios (#57) * Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo * Add benchmark for attempting decryption of notes * Add benchmark for incrementing note witnesses * Add -metricsui flag to toggle between persistent screen and rolling metrics Defaults to true if stdout is a TTY, else false. * Add -metricsrefreshtime option * Only show metrics by default if stdout is a TTY * Document metrics screen options * Fix stale comment referencing upstream block interval * Add checkpoint at block height 15000 * Make command line option to show all debugging consistent with similar options Most people expect a value of 1 to enable all for command line arguments. However to do this for the -debug option you must type "-debug=". This has been changed to allow "-debug=1" as well as "-debug=" to enable all debug logging * Update documentation to match the #4219 change * Update help message to match the #4219 change * Clarify that metrics options are only useful without -daemon and -printtoconsole * Increase length of metrics divider * Closes #1857. Fixes bug where tx spending only notes had priority of 0. * Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. * Write witness caches when writing the best block For steady-state operation, this reduces the average time between wallet disk writes from once per block to once per hour. On -rescan, witness caches are only written out at the end along with the best block, increasing speed while ensuring that on-disk state is kept consistent. Witness caches are now never recreated during a -reindex, on the assumption that the blocks themselves are not changing (the chain is just being reconstructed), and so the witnesses will remain valid. Part of #1749. * Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST * Apply miniupnpc patches to enable compilation on Solaris 11 These can be removed after the next MiniUPnP release. Closes #1835. * Closes #1903. Add fee parameter to z_sendmany. * Add an upstream miniupnpc patch revision * Metrics - Don't exclaim unless > 1 "You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction". * Address review comments, tweak strings * bash-completion: Adapt for 0.12 and 0.13 * separate completion for bitcoind and bitcoin-cli * remove RPC support from bitcoind completion * add completion for bitcoin-tx and bitcoin-qt * rely on autoloading of completions * Change function names to not clash with Bitcoin, apply to correct binaries * Add bash completion files to Debian package * Always bash-complete the default account * Add Zcash RPC commands to CLI argument completion * Fixes #1823. Witness anchors for input notes no longer cross block boundaries. * Edit for grammar: "block chain" At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two. * Increase timeout as laptops on battery power have cpu throttling. * Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. * Regression test. * Ensure cache contains valid entry when anchor is popped. * Ensure ProofVerifier cannot be accidentally copied. * Document behaviour of CWallet::SetBestChain * WitnessAnchorData only needs to store one witness per JSOutPoint. * Rename Dummy to Disabled. * Add more tests for ProofVerifier. * Fix indentation * Generate JS for trydecryptnotes, make number of addresses a variable * Add JS to second block to ensure witnesses are incremented * ASSERT_TRUE -> ASSERT_FALSE * Skip JoinSplit verification before the last checkpoint Part of #1749 * Gather release notes from previous release to HEAD Also update release-process.md to replace git shortlog command with release-notes.py script. * Add a reindex test that fails because of a bug in decrementing witness caches Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988 * Make the test pass by fixing the bug! * Only check cache validity for witnesses being incremented or decremented Fixes the bug resulting from #1904. * Update release process to check in with users who opened resolved issues * Check that E' points are actually in G2 by ensuring they are of order r. * Fix bug in wallet tests * Extract block-generation wallet test code into a function * Rewrite reindex test to check beyond the max witness cache size * Fix bug in IncrementNoteWitness() * Extend createjoinsplit to benchmark parallel JoinSplits Closes #1940 * Update payment API docs to recommend -rescan for fixing witness errors * Add total number of commitments to getblockchaininfo * Update version to 1.0.4 * Update man pages * Release notes, authors, changelog * Only enable getblocktemplate when wallet is enabled * Only run wallet tests when wallet is enabled * Add a tool for profiling the creation of JoinSplits * Add test for IncrementalMerkleTree::size(). * Exclude test binaries from make install Closes #1943. * Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. * Fixes #1967 by adding age of note to z_sendmany logging. * Scan the whole chain whenever a z-key is imported Closes #1941. * Instruct users to run zcash-fetch-params if network params aren't available Closes #1786. * Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. * Trigger metrics UI refresh on new messages * Strip out the SECURE flag in metrics UI so message style is detected * Add 'CreateJoinSplit' standalone utility to gitignore. * Handle newlines in UI messages * Suggest ./zcutil/fetch-params.sh as well Once we improve the from-source installation docs to use 'make install', we can revert this commit. * Update debug categories Closes #1954. * CreateJoinSplit: add start_profiling() call This solves the problem of profiling output displaying nonsensical large time values. * rpc: Implement random-cookie based authentication When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution. * Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version Closes #1622. * Bump COPYRIGHT_YEAR from 2016 to 2017. * Throw an error if zcash.conf is missing An empty zcash.conf is sufficient to bypass this error. * Show a friendly message explaining why zcashd needs a zcash.conf * Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation * Create ISSUE_TEMPLATE.md * move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs * Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools * Closes #1097 so zcash-cli now displays license info like zcashd. LicenseInfo is refactored from init.cpp to util.cpp so that the bitcoin-cli makefile target does not need to be modified. * Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. Previously the RPC interface allowed z_exportwallet, backupwallet and dumpwallet to write data to an arbitrary filename. ZCA-009 demonstrates how this is vulnerable. The resolution is to only allow data to written when the -exportdir has been configured. Also filenames are restricted to alphanumeric characters. * Closes #1957 by adding tx serialization size to listtransactions output. * Fix gtest ordering broken by #1949 Part of #1539 * Fixes #1960: z_getoperationstatus/result now includes operation details. * Debian package lint - Tweak description synopsis to make Debian happy - Put bash completion files in correct directory - Add a manpage for zcash-fetch-params * Generate Debian control file to fix shlibs lint * Create empty zcash.conf during performance measurements * Create empty zcash.conf during coverage checks Fixes regression caused by #2013. * Coverage build system tweaks * Update walletbackup.py qa test to use -exportdir option * Add missing header required by std::accumulate * Increase timeout for z_sendmany transaction in wallet.py qa test * Add test for z_importkey rescanning from beginning of chain. * Bump version to 1.0.5. * Update release notes and Debian package. * V1.0.4 mac (#51) * initial mac version of zclassic Work in progress - 15JAN2017 more refactoring linux refactoring fixes osx refactoring fixes initial win64 commit fixup! initial win64 commit compile libsnark with posix threads build gtest and gmock with posix Working build fixup! Working build * Windows and Linux builds ok * fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * Fix OSX compatibility with depends * OSX Compat - Fix site_t ambiguity in json * fixup! OSX Compat - Fix site_t ambiguity in json
2017-01-31 15:33:46 -08:00
"$(abs_builddir)/src/wallet/gtest/*" \
"$(abs_builddir)/src/wallet/test/*" \
-o $@
block_test.info: test_bitcoin_filtered.info
$(MKDIR_P) qa/tmp
-@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0
$(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@
$(LCOV) -z -d $(abs_builddir)/src
$(LCOV) -z -d $(abs_builddir)/src/leveldb
block_test_filtered.info: block_test.info
$(LCOV) -r $< "/usr/include/*" \
2017-01-16 11:21:36 -08:00
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
"$(abs_builddir)/src/gtest/*" \
"$(abs_builddir)/src/test/*" \
V1.0.5 multios (#57) * Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo * Add benchmark for attempting decryption of notes * Add benchmark for incrementing note witnesses * Add -metricsui flag to toggle between persistent screen and rolling metrics Defaults to true if stdout is a TTY, else false. * Add -metricsrefreshtime option * Only show metrics by default if stdout is a TTY * Document metrics screen options * Fix stale comment referencing upstream block interval * Add checkpoint at block height 15000 * Make command line option to show all debugging consistent with similar options Most people expect a value of 1 to enable all for command line arguments. However to do this for the -debug option you must type "-debug=". This has been changed to allow "-debug=1" as well as "-debug=" to enable all debug logging * Update documentation to match the #4219 change * Update help message to match the #4219 change * Clarify that metrics options are only useful without -daemon and -printtoconsole * Increase length of metrics divider * Closes #1857. Fixes bug where tx spending only notes had priority of 0. * Closes #1901. Increase default settings for the max block size when mining and the amount of space available for priority transactions. * Write witness caches when writing the best block For steady-state operation, this reduces the average time between wallet disk writes from once per block to once per hour. On -rescan, witness caches are only written out at the end along with the best block, increasing speed while ensuring that on-disk state is kept consistent. Witness caches are now never recreated during a -reindex, on the assumption that the blocks themselves are not changing (the chain is just being reconstructed), and so the witnesses will remain valid. Part of #1749. * Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST * Apply miniupnpc patches to enable compilation on Solaris 11 These can be removed after the next MiniUPnP release. Closes #1835. * Closes #1903. Add fee parameter to z_sendmany. * Add an upstream miniupnpc patch revision * Metrics - Don't exclaim unless > 1 "You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction". * Address review comments, tweak strings * bash-completion: Adapt for 0.12 and 0.13 * separate completion for bitcoind and bitcoin-cli * remove RPC support from bitcoind completion * add completion for bitcoin-tx and bitcoin-qt * rely on autoloading of completions * Change function names to not clash with Bitcoin, apply to correct binaries * Add bash completion files to Debian package * Always bash-complete the default account * Add Zcash RPC commands to CLI argument completion * Fixes #1823. Witness anchors for input notes no longer cross block boundaries. * Edit for grammar: "block chain" At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two. * Increase timeout as laptops on battery power have cpu throttling. * Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. * Regression test. * Ensure cache contains valid entry when anchor is popped. * Ensure ProofVerifier cannot be accidentally copied. * Document behaviour of CWallet::SetBestChain * WitnessAnchorData only needs to store one witness per JSOutPoint. * Rename Dummy to Disabled. * Add more tests for ProofVerifier. * Fix indentation * Generate JS for trydecryptnotes, make number of addresses a variable * Add JS to second block to ensure witnesses are incremented * ASSERT_TRUE -> ASSERT_FALSE * Skip JoinSplit verification before the last checkpoint Part of #1749 * Gather release notes from previous release to HEAD Also update release-process.md to replace git shortlog command with release-notes.py script. * Add a reindex test that fails because of a bug in decrementing witness caches Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988 * Make the test pass by fixing the bug! * Only check cache validity for witnesses being incremented or decremented Fixes the bug resulting from #1904. * Update release process to check in with users who opened resolved issues * Check that E' points are actually in G2 by ensuring they are of order r. * Fix bug in wallet tests * Extract block-generation wallet test code into a function * Rewrite reindex test to check beyond the max witness cache size * Fix bug in IncrementNoteWitness() * Extend createjoinsplit to benchmark parallel JoinSplits Closes #1940 * Update payment API docs to recommend -rescan for fixing witness errors * Add total number of commitments to getblockchaininfo * Update version to 1.0.4 * Update man pages * Release notes, authors, changelog * Only enable getblocktemplate when wallet is enabled * Only run wallet tests when wallet is enabled * Add a tool for profiling the creation of JoinSplits * Add test for IncrementalMerkleTree::size(). * Exclude test binaries from make install Closes #1943. * Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const. * Fixes #1967 by adding age of note to z_sendmany logging. * Scan the whole chain whenever a z-key is imported Closes #1941. * Instruct users to run zcash-fetch-params if network params aren't available Closes #1786. * Fixes a bug where the unsigned transaction was logged by z_sendmany after a successful sign and send, meaning that the logged hash fragment would be different from the txid logged by "AddToWallet". This issue occured when sending from transparent addresses, as utxo inputs must be signed. It did not occur when sending from shielded addresses. * Trigger metrics UI refresh on new messages * Strip out the SECURE flag in metrics UI so message style is detected * Add 'CreateJoinSplit' standalone utility to gitignore. * Handle newlines in UI messages * Suggest ./zcutil/fetch-params.sh as well Once we improve the from-source installation docs to use 'make install', we can revert this commit. * Update debug categories Closes #1954. * CreateJoinSplit: add start_profiling() call This solves the problem of profiling output displaying nonsensical large time values. * rpc: Implement random-cookie based authentication When no `-rpcpassword` is specified, use a special 'cookie' file for authentication. This file is generated with random content when the daemon starts, and deleted when it exits. Read access to this file controls who can access through RPC. By default this file is stored in the data directory but it be overriden with `-rpccookiefile`. This is similar to Tor CookieAuthentication: see https://www.torproject.org/docs/tor-manual.html.en Alternative to #6258. Like that pull, this allows running bitcoind without any manual configuration. However, daemons should ideally never write to their configuration files, so I prefer this solution. * Rename build-aux/m4/bitcoin_find_bdb48.m4 to remove version Closes #1622. * Bump COPYRIGHT_YEAR from 2016 to 2017. * Throw an error if zcash.conf is missing An empty zcash.conf is sufficient to bypass this error. * Show a friendly message explaining why zcashd needs a zcash.conf * Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation * Create ISSUE_TEMPLATE.md * move template to subdirectory, fix typo, include prompt under describing issue section, include uploading file directly to github ticket as option for sharing logs * Remove UTF-8 BOM efbbbf from zcash.conf to avoid problems with command line tools * Closes #1097 so zcash-cli now displays license info like zcashd. LicenseInfo is refactored from init.cpp to util.cpp so that the bitcoin-cli makefile target does not need to be modified. * Fixes #1497 ZCA-009 by restricting data exporting to user defined folder. Previously the RPC interface allowed z_exportwallet, backupwallet and dumpwallet to write data to an arbitrary filename. ZCA-009 demonstrates how this is vulnerable. The resolution is to only allow data to written when the -exportdir has been configured. Also filenames are restricted to alphanumeric characters. * Closes #1957 by adding tx serialization size to listtransactions output. * Fix gtest ordering broken by #1949 Part of #1539 * Fixes #1960: z_getoperationstatus/result now includes operation details. * Debian package lint - Tweak description synopsis to make Debian happy - Put bash completion files in correct directory - Add a manpage for zcash-fetch-params * Generate Debian control file to fix shlibs lint * Create empty zcash.conf during performance measurements * Create empty zcash.conf during coverage checks Fixes regression caused by #2013. * Coverage build system tweaks * Update walletbackup.py qa test to use -exportdir option * Add missing header required by std::accumulate * Increase timeout for z_sendmany transaction in wallet.py qa test * Add test for z_importkey rescanning from beginning of chain. * Bump version to 1.0.5. * Update release notes and Debian package. * V1.0.4 mac (#51) * initial mac version of zclassic Work in progress - 15JAN2017 more refactoring linux refactoring fixes osx refactoring fixes initial win64 commit fixup! initial win64 commit compile libsnark with posix threads build gtest and gmock with posix Working build fixup! Working build * Windows and Linux builds ok * fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * fixup! fixup! fixup! Merge tag 'v1.0.5' into v1.0.5-multios * Fix OSX compatibility with depends * OSX Compat - Fix site_t ambiguity in json * fixup! OSX Compat - Fix site_t ambiguity in json
2017-01-31 15:33:46 -08:00
"$(abs_builddir)/src/wallet/gtest/*" \
"$(abs_builddir)/src/wallet/test/*" \
-o $@
test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info
$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@
zcash-gtest_coverage.info: baseline_filtered_combined.info zcash-gtest_filtered.info
$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a zcash-gtest_filtered.info -o $@
total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info zcash-gtest_filtered.info block_test_filtered.info
$(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a zcash-gtest_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info
$(GENHTML) -s $< -o $(@D)
@touch $@
zcash-gtest.coverage/.dirstamp: zcash-gtest_coverage.info
$(GENHTML) -s $< -o $(@D)
@touch $@
cov-zcash: zcash-gtest.coverage/.dirstamp
total.coverage/.dirstamp: total_coverage.info
$(GENHTML) -s $< -o $(@D)
@touch $@
cov: test_bitcoin.coverage/.dirstamp cov-zcash total.coverage/.dirstamp
endif
if USE_COMPARISON_TOOL
check-local:
$(MKDIR_P) qa/tmp
@qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1
endif
dist_bin_SCRIPTS = btcputil/fetch-params.sh
dist_noinst_SCRIPTS = autogen.sh btcputil/build-debian-package.sh btcputil/build.sh
2015-07-10 20:39:45 -07:00
EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.sh qa/pull-tester/run-bitcoin-cli qa/rpc-tests qa/zcash $(DIST_DOCS) $(BIN_CHECKS)
install-exec-hook:
mv $(DESTDIR)$(bindir)/fetch-params.sh $(DESTDIR)$(bindir)/zcash-fetch-params
CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
.INTERMEDIATE: $(COVERAGE_INFO)
DISTCHECK_CONFIGURE_FLAGS = --enable-man
clean-local:
rm -rf test_bitcoin.coverage/ zcash-gtest.coverage/ total.coverage/ $(OSX_APP)