Browse Source

Update to Zcash rc1

pull/4/head
miketout 6 years ago
parent
commit
c754dbcfa6
  1. 4
      configure.ac
  2. 6
      contrib/debian/changelog
  3. 2
      contrib/gitian-descriptors/gitian-linux.yml
  4. 6
      doc/man/zcash-cli.1
  5. 6
      doc/man/zcash-tx.1
  6. 6
      doc/man/zcashd.1
  7. 244
      doc/release-notes/release-notes-2.0.1-rc1.md
  8. 6
      src/clientversion.h
  9. 4
      src/deprecation.cpp
  10. 10
      src/deprecation.h
  11. 1
      src/main.cpp

4
configure.ac

@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 2)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 0)
define(_CLIENT_VERSION_BUILD, 50)
define(_CLIENT_VERSION_REVISION, 15)
define(_CLIENT_VERSION_BUILD, 25)
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
define(_CLIENT_VERSION_IS_RELEASE, true)

6
contrib/debian/changelog

@ -1,3 +1,9 @@
zcash (2.0.1~rc1) stable; urgency=medium
* 2.0.1-rc1 release.
-- Zcash Company <team@z.cash> Mon, 08 Oct 2018 12:40:54 -0700
zcash (2.0.0) stable; urgency=medium
* 2.0.0 release.

2
contrib/gitian-descriptors/gitian-linux.yml

@ -1,5 +1,5 @@
---
name: "zcash-2.0.0"
name: "zcash-2.0.1-rc1"
enable_cache: true
distro: "debian"
suites:

6
doc/man/zcash-cli.1

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZCASH-CLI "1" "August 2018" "zcash-cli v2.0.0" "User Commands"
.TH ZCASH-CLI "1" "October 2018" "zcash-cli v2.0.1-rc1" "User Commands"
.SH NAME
zcash-cli \- manual page for zcash-cli v2.0.0
zcash-cli \- manual page for zcash-cli v2.0.1-rc1
.SH DESCRIPTION
Zcash RPC client version v2.0.0
Zcash RPC client version v2.0.1\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.

6
doc/man/zcash-tx.1

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZCASH-TX "1" "August 2018" "zcash-tx v2.0.0" "User Commands"
.TH ZCASH-TX "1" "October 2018" "zcash-tx v2.0.1-rc1" "User Commands"
.SH NAME
zcash-tx \- manual page for zcash-tx v2.0.0
zcash-tx \- manual page for zcash-tx v2.0.1-rc1
.SH DESCRIPTION
Zcash zcash\-tx utility version v2.0.0
Zcash zcash\-tx utility version v2.0.1\-rc1
.SS "Usage:"
.TP
zcash\-tx [options] <hex\-tx> [commands]

6
doc/man/zcashd.1

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
.TH ZCASHD "1" "August 2018" "zcashd v2.0.0" "User Commands"
.TH ZCASHD "1" "October 2018" "zcashd v2.0.1-rc1" "User Commands"
.SH NAME
zcashd \- manual page for zcashd v2.0.0
zcashd \- manual page for zcashd v2.0.1-rc1
.SH DESCRIPTION
Zcash Daemon version v2.0.0
Zcash Daemon version v2.0.1\-rc1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>.

244
doc/release-notes/release-notes-2.0.1-rc1.md

@ -0,0 +1,244 @@
Notable changes
===============
Hierarchical Deterministic Key Generation for Sapling
-----------------------------------------------------
All Sapling addresses will use hierarchical deterministic key generation
according to ZIP 32 (keypath m/32'/133'/k' on mainnet). Transparent and
Sprout addresses will still use traditional key generation.
Backups of HD wallets, regardless of when they have been created, can
therefore be used to re-generate all possible Sapling private keys, even the
ones which haven't already been generated during the time of the backup.
Regular backups are still necessary, however, in order to ensure that
transparent and Sprout addresses are not lost.
[Pull request](https://github.com/zcash/zcash/pull/3492), [ZIP 32](https://github.com/zcash/zips/blob/master/zip-0032.mediawiki)
Changelog
=========
David Mercer (2):
libsnark: convert long long and unsigned long to C++11 fixed-width types
libsnark: convert 0ul to UINT64_C(0)
Eirik Ogilvie-Wigley (22):
Rename map to include sprout
Add sapling spending keys to z_exportwallet
Rename AddZKey to include sprout
Move AddSpendingKeyToWallet
Return more information when adding a spending key
Add sapling support to z_importwallet
Export comment on HDSeed and fingerprint with wallet
Export zip32 metadata with sapling keys
Don't export empty zip32 metadata
Allow more information to be returned when an async rpc fails
Use utility method to wait for async operations
Remove unneeded semicolons
Remove unused imports
Allow passing timeout parameter to wait_and_assert_operationid_status
Add test for signing raw transactions offline
Incorporate APPROX_RELEASE_HEIGHT when determining what consensus branch to sign with
Allow passing branchId when calling signrawtransaction
Remove unused import
Address need not be optional when adding sapling keys
Use max priority for all shielded transfers
Move FIXME comment to where the fix should happen
Add newly discovered sapling addresses to the wallet
George Tankersley (2):
Refactor ContextualCheckBlock tests (#3187)
Refactor ContextualCheckBlock tests
Jack Grigg (83):
[ci-workers] Install Python modules in a virtualenv
[ci-workers] Handle user home directories outside /home
[ci-workers] Handle ansible_processor being either a string or a list
[ci-workers] Add support for MacOSX
[ci-workers] Add a tag for updating dependencies
[ci-workers] Add curl and cmake to dependencies
[ci-workers] README cleanups
[ci-workers] Add pkg-config to general dependencies
depends: Correctly configure Rust when cross-compiling
depends: Configure librustzcash for cross-compiling
depends: Fix BDB naming issue when cross-compiling
zcutil/build.sh: Use $HOST to specify the depends prefix
configure: Don't require RELRO and BIND_NOW when cross-compiling
Measure Windows console size for metrics UI
Use -O1 for darwin and mingw32 release builds
Clean up libzcash CPPFLAGS, CXXFLAGS, and LDFLAGS
zcutil/build.sh: Use config.site to set default ./configure settings
zcutil/build.sh: Remove --enable-werror from default configuration
Pass correct compiler, linker, and flags into libsnark
Use boost::filesystem::path::string() instead of path::native()
Metrics UI: Enable virtual terminal sequence processing on Windows
Metrics UI: Tell Windows users how to stop zcashd
depends: Pass correct compiler, linker, and flags into googletest
configure: Don't add -ldl to RUST_LIBS for mingw32
test: Fix comment in WalletTests.FindMySaplingNotes
Add Sapling support to GetFilteredNotes() and GetUnspentFilteredNotes()
Add Sapling support to z_getbalance and z_gettotalbalance
Metrics UI: Fall back to 80 cols if GetConsoleScreenBufferInfo() fails
libsnark: Adjust SHA256 K value type to match the constant
libsnark: Use mp_limb_t cast instead of uint64_t when masking bigint.data
libsnark: Fix stale comment
rpc: Clarify Sprout shielded addresses in help text
rpc: Clarify ivk balance issues in help text
Move GetSpendingKeyForPaymentAddress visitor into wallet.h
wallet: Add HaveSpendingKeyForPaymentAddress visitor
rpcwallet: Add TransactionBuilder argument to AsyncRPCOperation_sendmany
rpcwallet: Prevent use of both Sprout and Sapling addresses in z_sendmany
rpcwallet: Add Sapling support to z_sendmany
Define additional booleans for readability
Ensure SCOPED_TRACE falls out of scope when necessary
Revert NU activation heights in reverse order
Fix test after refactor to check bacd-cb-height rule on a genesis block
Rename GetFirstBlockTransaction() to GetFirstBlockCoinbaseTx()
libsnark: Force constants used in test comparisons to be unsigned
libsnark: Use format macro constants for printing fixed-width values
Rename z_inputs_ to z_sprout_inputs_
Minor cleanups
Fix RPC test that checks exact wording of cleaned-up error message
Fix file permissions of wallet_sapling RPC test
Update librustzcash with ZIP 32 APIs
ZIP 32 Sapling structs
Store HDSeed in CBasicKeyStore
Store HDSeed in CCryptoKeyStore
wallet: Store HDSeed and chain data
wallet: Store Sapling key metadata indexed by ivk
wallet: Switch from SaplingSpendingKey to SaplingExtendedSpendingKey
init: Generate a new HD seed on startup
wallet: Comment out HDSeed and CHDChain persistence to disk
Add ZIP 32 usage to release notes
wallet: Don't allow an HDSeed to be overwritten
Bugfix: Use time instead of block height for Sapling key metadata
net: Check against the current epoch's version when rejecting nodes
Extract a helper method for finding the next epoch
net: Check against the next epoch's version when evicting peers
net: Check against the current epoch's version when disconnecting peers
qa: Test both Overwinter and Sapling peer management
Use ovk directly in the TransactionBuilder API instead of fvk
Generate an ovk to encrypt outCiphertext for t-addr senders
Revert "Disable Sapling features on mainnet"
Use the correct empty memo for Sapling outputs
Add Sapling support to z_shieldcoinbase
Revert "Get rid of consensus.fPowAllowMinDifficultyBlocks."
Revert "Remove testnet-only difficulty rules"
Allow minimum-difficulty blocks on testnet and regtest
Only enable min-difficulty blocks on testnet from a particular height
Update wallet_listreceived test for now-correct empty Sapling memos
Rename min-difficulty flag to remove off-by-one in the name
Explicitly check the min-difficulty flag against boost::none
Position PoW.MinDifficultyRules test after rule activates
Fix pyflakes warnings
Store ExtFVK with encrypted Sapling spending key instead of FVK
Persist Sapling payment address to IVK map
Ignore decoding errors during -zapwallettxes
Jay Graber (5):
s/jsoutindex/outindex for sapling outputs
z_listunspent sapling support - needs refactor
Add rpc test for sprout txs z_listunspent
Modify comments
Modify GetNullifiersForAddresses for Sapling
Jonas Schnelli (3):
[Wallet] extend CKeyMetadata with HD keypath Zcash: modified for zip32
[Wallet] print hd masterkeyid in getwalletinfo Zcash: modified for zip32
[Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull() Zcash: modified for zip32
Larry Ruane (5):
generalize mininode.py protocol versioning
Test peer banning logic in both pre- and post-initial block download states
Sapling support for z_listreceivedbyaddress
z_listunspent rpc unit test: add testing for Sapling
fix z_listunspent includeWatchonly logic
Marius Kjærstad (3):
Fix for license not being valid
Update debian package copyright license
Missing comma in debian package copyright license
Sean Bowe (1):
Check commitment validity within the decryption API for Sapling note plaintexts.
Simon Liu (59):
Rename FindMyNotes to FindMySproutNotes.
Rename GetNoteNullifier to GetSproutNoteNullifier.
Rename mapNullifiersToNotes to mapSproutNullifiersToNotes.
Rename CWallet::AddToSpends methods for clarity.
Rename mapTxNullifiers to mapTxSproutNullifiers.
Add ivk member variable and equality comparators to SaplingNoteData class.
Update CWallet::MarkAffectedTransactionsDirty() for Sapling.
Update CWallet::UpdatedNoteData() for Sapling.
Create CWallet::AddToSaplingSpends() to track Sapling nullifiers.
Update test to pass in required cm to SaplingNotePlaintext::decrypt().
Create CWallet::FindMySaplingNotes()
Rename IsFromMe(nullifier) to IsSproutNullifierFromMe(nullifier).
Create CWallet::IsSaplingNullifierFromMe()
Remove dead code in CWalletTx::GetAmounts() as filed in issue #3434.
Cleanup CWalletTx::GetAmounts() for clarity. No-op.
Update CWalletTx::GetAmounts() to return COutputEntry for Sapling valueBalance.
Add caching and updating of Sapling note nullifier.
Update CWallet::IsSpent() to check Sapling nullifiers.
Clean up names of unit tests in gtest/test_wallet.cpp.
Add test for CWalletTx::SetSaplingNoteData()
Iterate over mapSaplingFullViewingKeys with ivk->fvk mapping (1:1).
Refactor IsSpent(nullifier) for Sprout and Sapling domain separation.
Fix code review nits.
Add two new wallet tests: FindMySaplingNotes, SaplingNullifierIsSpent.
Add new wallet test: NavigateFromSaplingNullifierToNote
Add new wallet test: UpdatedSaplingNoteData.
Add new wallet tests: SpentSaplingNoteIsFromMe.
Rename wallet tests for clarity between Sprout and Sapling.
Fix typo in variable name in test.
Fix inaccurate comments in test.
Fix typo in parameter name.
Update CWallet::GetConflicts for Sapling.
Add new wallet test: SetSaplingNoteAddrsInCWalletTx.
Add new wallet test: GetConflictedSaplingNotes
Add new wallet test: MarkAffectedSaplingTransactionsDirty
Update wallet unit tests to revert upgraded network parameters.
Clean up wallet unit tests: replace .value() with .get() for clarity.
Fix comment in CWallet::SyncMetaData.
Refactor: rename setLockedNotes -> setLockedSproutNotes
Refactor: rename UnlockAllNotes -> UnlockAllSproutNotes
Refactor: rename ListLockedNotes -> ListLockedSproutNotes
Add methods to store SaplingOutPoint in setLockedSaplingNotes
Add unit test SaplingNoteLocking
Update comment for test ContextualCheckBlockTest.BlockSproutRulesRejectOtherTx
Add Sapling fields to JSON RPC output using TxToJSON.
Update qa test to check for Sapling related JSON fields.
Closes #3534. Do not use APPROX_RELEASE_HEIGHT to get consensus branch id when in regtest mode.
For #3533. Replace asserts with JSON errors.
Update qa test as offline regtest nodes need branch id passed in.
Fix rebasing of CWallet::GetNullifiersForAddresses
Cleanup to address review comments.
Add test that Sapling shielded transactions have MAX_PRIORITY
Closes #3560. Update Sapling note data correctly when importing a key.
For #3546. Shielded tx with missing inputs are not treated as orphans.
For #3546. Improve estimated tx size for Sapling outputs.
Fix deadlock from calling CWallet::AddSaplingIncomingViewingKey instead of CBasicKeyStore::AddSaplingIncomingViewingKey
Fix file permissions of QA test wallet_persistence.py
Update wallet_persistence test to verify wallet txs are persisted across restarts.
Update wallet_persistence test to verify spending notes after restart.
WO (4):
Fix a bug of Windows binary
Add an assert for num_bits function
long -> int64_t
The long data type is replaced with int64_t
Za Wilcox (1):
Revise help output for z_sendmany
mdr0id (8):
Resolve final edits for README
Revert "wallet: Comment out HDSeed and CHDChain persistence to disk"
Persist Sapling key material in the wallet to disk
Serialize Sapling data in CWalletTx
Adding in rpc wallet sap for test_bitcoin
Add gtest coverage of Sapling wallet persistence
make-release.py: Versioning changes for 2.0.1-rc1.
make-release.py: Updated manpages for 2.0.1-rc1.

6
src/clientversion.h

@ -18,7 +18,7 @@
#define CLIENT_VERSION_MAJOR 2
#define CLIENT_VERSION_MINOR 0
#define CLIENT_VERSION_REVISION 15
#define CLIENT_VERSION_BUILD 52
#define CLIENT_VERSION_BUILD 25
//! Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE true
@ -27,7 +27,7 @@
* Copyright year (2009-this)
* Todo: update this when changing our copyright comments in the source
*/
#define COPYRIGHT_YEAR 2017
#define COPYRIGHT_YEAR 2018
#endif //HAVE_CONFIG_H
@ -39,7 +39,7 @@
#define DO_STRINGIZE(X) #X
//! Copyright string used in Windows .rc files
#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers and The Zcash developers"
#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, The Zcash developers, Komodo developers, and Verus developers"
/**
* bitcoind-res.rc includes this file, but it cannot cope with real c++ code.

4
src/deprecation.cpp

@ -33,7 +33,7 @@ void EnforceNodeDeprecation(int nHeight, bool forceLogging, bool fThread) {
if (blocksToDeprecation == 0 || forceLogging) {
msg = strprintf(_("This version has been deprecated as of block height %d."),
DEPRECATION_HEIGHT) + " " +
_("You should upgrade to the latest version of Komodo.");
_("You should upgrade to the latest version of Verus.");
LogPrintf("*** %s\n", msg);
CAlert::Notify(msg, fThread);
uiInterface.ThreadSafeMessageBox(msg, "", CClientUIInterface::MSG_ERROR);
@ -42,7 +42,7 @@ void EnforceNodeDeprecation(int nHeight, bool forceLogging, bool fThread) {
} else if (blocksToDeprecation == DEPRECATION_WARN_LIMIT || (blocksToDeprecation < DEPRECATION_WARN_LIMIT && forceLogging)) {
msg = strprintf(_("This version will be deprecated at block height %d, and will automatically shut down."),
DEPRECATION_HEIGHT) + " " +
_("You should upgrade to the latest version of Komodo.");
_("You should upgrade to the latest version of Verus.");
}
LogPrintf("*** %s\n", msg);
CAlert::Notify(msg, fThread);

10
src/deprecation.h

@ -6,11 +6,11 @@
#define ZCASH_DEPRECATION_H
// Deprecation policy:
// * Shut down WEEKS_UNTIL_DEPRECATION weeks' worth of blocks after the estimated release block height.
// * A warning is shown during the DEPRECATION_WARN_LIMIT worth of blocks prior to shut down.
static const int WEEKS_UNTIL_DEPRECATION = 52;
static const int DEPRECATION_HEIGHT = 1400000;
static const int APPROX_RELEASE_HEIGHT = DEPRECATION_HEIGHT - (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 60);
// * Shut down 16 weeks' worth of blocks after the estimated release block height.
// * A warning is shown during the 2 weeks' worth of blocks prior to shut down.
static const int APPROX_RELEASE_HEIGHT = 200000;
static const int WEEKS_UNTIL_DEPRECATION = 24;
static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 60 * 24);
// Number of blocks before deprecation to warn users
static const int DEPRECATION_WARN_LIMIT = 60 * 24 * 60; // 2 months

1
src/main.cpp

@ -3939,6 +3939,7 @@ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMo
// Disconnect active blocks which are no longer in the best chain.
bool fBlocksDisconnected = false;
while (chainActive.Tip() && chainActive.Tip() != pindexFork) {
if (!DisconnectTip(state))
return false;

Loading…
Cancel
Save