diff --git a/README.md b/README.md index 1fb89e02a..d5b7d4df3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 1.1.1-rc2 +Zcash 1.1.1 ============= What is Zcash? diff --git a/configure.ac b/configure.ac index 889a70ea6..0d33bff1d 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 1) define(_CLIENT_VERSION_REVISION, 1) -define(_CLIENT_VERSION_BUILD, 26) +define(_CLIENT_VERSION_BUILD, 50) 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) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index b1bba563a..fa02f6d19 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (1.1.1) stable; urgency=medium + + * 1.1.1 release. + + -- Zcash Company Fri, 25 May 2018 15:49:34 +1200 + zcash (1.1.1~rc2) stable; urgency=medium * 1.1.1-rc2 release. diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 6edb9ddf4..f054abf6b 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-1.1.1-rc2" +name: "zcash-1.1.1" enable_cache: true distro: "debian" suites: diff --git a/doc/authors.md b/doc/authors.md index 39b3bcf66..a12820675 100644 --- a/doc/authors.md +++ b/doc/authors.md @@ -1,43 +1,45 @@ Zcash Contributors ================== -Jack Grigg (648) -Simon Liu (311) -Sean Bowe (193) -Daira Hopwood (107) -Wladimir J. van der Laan (77) +Jack Grigg (703) +Simon Liu (329) +Sean Bowe (242) +Daira Hopwood (108) +Wladimir J. van der Laan (79) Taylor Hornby (65) -Jay Graber (62) +Jay Graber (63) Nathan Wilcox (56) -Jonas Schnelli (49) +Jonas Schnelli (53) +Pieter Wuille (48) Kevin Gallagher (38) -Cory Fields (30) -Pieter Wuille (26) +Cory Fields (34) syd (15) -Matt Corallo (12) +Matt Corallo (13) +MarcoFalke (10) nomnombtc (9) Paige Peterson (9) fanquake (8) Jonathan "Duke" Leto (8) -MarcoFalke (7) +kozyilmaz (7) Jeff Garzik (7) +Eirik Ogilvie-Wigley (7) Luke Dashjr (6) -kozyilmaz (5) +Pavel Janík (5) +Karl-Johan Alm (5) Johnathan Corgan (5) Gregory Maxwell (5) Ariel Gabizon (5) Philip Kaufmann (4) Peter Todd (4) -Pavel Janík (4) Patrick Strateman (4) -Karl-Johan Alm (4) +João Barbosa (4) Jorge Timón (4) David Mercer (4) Daniel Cousens (4) lpescher (3) Suhas Daftuar (3) +Per Grön (3) Patick Strateman (3) -João Barbosa (3) Jason Davies (3) James O'Beirne (3) Daniel Kraft (3) @@ -46,11 +48,14 @@ Alfie John (3) str4d (2) rofl0r (2) paveljanik (2) +mruddy (2) kpcyrd (2) +ca333 (2) aniemerg (2) +UdjinM6 (2) Scott (2) Robert C. Seacord (2) -Per Grön (2) +Pavol Rusnak (2) Pavel Vasin (2) Joe Turgeon (2) Jack Gavigan (2) @@ -62,7 +67,6 @@ Amgad Abdelhafez (2) zathras-crypto (1) unsystemizer (1) practicalswift (1) -mruddy (1) mrbandrews (1) kazcw (1) jc (1) @@ -74,11 +78,15 @@ daniel (1) calebogden (1) ayleph (1) Tom Ritter (1) +Tom Harding (1) Stephen (1) S. Matthew English (1) Ross Nicoll (1) René Nyffenegger (1) R E Broadley (1) +Puru (1) +Peter Pratscher (1) +Pedro Branco (1) Paul Georgiou (1) Paragon Initiative Enterprises, LLC (1) Nicolas DORIER (1) @@ -92,8 +100,11 @@ Louis Nyffenegger (1) Leo Arias (1) Lauda (1) Lars-Magnus Skog (1) +Larry Ruane (1) Kevin Pan (1) +Kaz Wesley (1) Jonas Nick (1) +Jeremy Rubin (1) Jeffrey Walton (1) Ian Kelling (1) Gaurav Rana (1) @@ -102,6 +113,7 @@ Florian Schmaus (1) Ethan Heilman (1) Eran Tromer (1) Duke Leto (1) +David Llop (1) Christian von Roques (1) Chirag Davé (1) Charlie O'Keefe (1) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index 83d9aba35..7bb5d9ef0 100644 --- a/doc/man/zcash-cli.1 +++ b/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" "May 2018" "zcash-cli v1.1.1-rc2" "User Commands" +.TH ZCASH-CLI "1" "May 2018" "zcash-cli v1.1.1" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v1.1.1-rc2 +zcash-cli \- manual page for zcash-cli v1.1.1 .SH DESCRIPTION -Zcash RPC client version v1.1.1\-rc2 +Zcash RPC client version v1.1.1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1 index 5a095f831..332ccbb27 100644 --- a/doc/man/zcash-tx.1 +++ b/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" "May 2018" "zcash-tx v1.1.1-rc2" "User Commands" +.TH ZCASH-TX "1" "May 2018" "zcash-tx v1.1.1" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v1.1.1-rc2 +zcash-tx \- manual page for zcash-tx v1.1.1 .SH DESCRIPTION -Zcash zcash\-tx utility version v1.1.1\-rc2 +Zcash zcash\-tx utility version v1.1.1 .SS "Usage:" .TP zcash\-tx [options] [commands] diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 7bdbd5b7f..8ebdbcc4e 100644 --- a/doc/man/zcashd.1 +++ b/doc/man/zcashd.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3. -.TH ZCASHD "1" "May 2018" "zcashd v1.1.1-rc2" "User Commands" +.TH ZCASHD "1" "May 2018" "zcashd v1.1.1" "User Commands" .SH NAME -zcashd \- manual page for zcashd v1.1.1-rc2 +zcashd \- manual page for zcashd v1.1.1 .SH DESCRIPTION -Zcash Daemon version v1.1.1\-rc2 +Zcash Daemon version v1.1.1 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -54,7 +54,7 @@ Specify data directory \fB\-disabledeprecation=\fR .IP Disable block\-height node deprecation and automatic shutdown (example: -\fB\-disabledeprecation\fR=\fI\,1\/\fR.1.1\-rc2) +\fB\-disabledeprecation\fR=\fI\,1\/\fR.1.1) .HP \fB\-exportdir=\fR .IP @@ -80,7 +80,7 @@ limit applied) .HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-pid=\fR diff --git a/doc/release-notes.md b/doc/release-notes.md index 4560264a1..a29094b51 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -4,86 +4,3 @@ release-notes at release time) Notable changes =============== -Sapling network upgrade ------------------------ - -The consensus code preparations for the Sapling network upgrade, as described -in [ZIP 243](https://github.com/zcash/zips/blob/master/zip-0243.rst) and the -[Sapling spec](https://github.com/zcash/zips/blob/master/protocol/sapling.pdf) -are finished and included in this release. Sapling support in the wallet and -RPC is ongoing, and is expected to land in master over the next few weeks. - -The [Sapling MPC](https://blog.z.cash/announcing-the-sapling-mpc/) is currently -working on producing the final Sapling parameters. In the meantime, Sapling will -activate on testnet with dummy Sapling parameters at height XXXXXX. This -activation will be temporary, and the testnet will be rolled back by version -2.0.0 so that both mainnet and testnet will be using the same parameters. -Users who want to continue testing Overwinter should continue to run version -1.1.0 on testnet, and then upgrade to 2.0.0 (which will be released after -Overwinter activates). - -Sapling can also be activated at a specific height in regtest mode by -setting the config options `-nuparams=5ba81b19:HEIGHT -nuparams=76b809bb:HEIGHT`. -These config options will change when the testnet is rolled back for 2.0.0 -(because the branch ID for Sapling will change, due to us following the safe -upgrade conventions we introduced in Overwinter). - -Users running testnet or regtest nodes will need to run -`./zcutil/fetch-params.sh --testnet` (for users building from source) or -`zcash-fetch-params --testnet` (for binary / Debian users). - -As a reminder, because the Sapling activation height is not yet specified for -mainnet, version 1.1.1 will behave similarly as other pre-Sapling releases even -after a future activation of Sapling on the network. Upgrading from 1.1.1 will -be required in order to follow the Sapling network upgrade on mainnet. - -Sapling transaction format --------------------------- - -Once Sapling has activated, transactions must use the new v4 format (including -coinbase transactions). All RPC methods that create new transactions (such as -`createrawtransaction` and `getblocktemplate`) will create v4 transactions once -the Sapling activation height has been reached. - -zcash-cli: arguments privacy ----------------------------- - -The RPC command line client gained a new argument, `-stdin` -to read extra arguments from standard input, one per line until EOF/Ctrl-D. -For example: - - $ src/zcash-cli -stdin walletpassphrase - mysecretcode - 120 - ^D (Ctrl-D) - -It is recommended to use this for sensitive information such as private keys, as -command-line arguments can usually be read from the process table by any user on -the system. - -Asm representations of scriptSig signatures now contain SIGHASH type decodes ----------------------------------------------------------------------------- - -The `asm` property of each scriptSig now contains the decoded signature hash -type for each signature that provides a valid defined hash type. - -The following items contain assembly representations of scriptSig signatures -and are affected by this change: - -- RPC `getrawtransaction` -- RPC `decoderawtransaction` -- REST `/rest/tx/` (JSON format) -- REST `/rest/block/` (JSON format when including extended tx details) -- `zcash-tx -json` - -For example, the `scriptSig.asm` property of a transaction input that -previously showed an assembly representation of: - - 304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c509001 - -now shows as: - - 304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c5090[ALL] - -Note that the output of the RPC `decodescript` did not change because it is -configured specifically to process scriptPubKey and not scriptSig scripts. diff --git a/doc/release-notes/release-notes-1.1.1.md b/doc/release-notes/release-notes-1.1.1.md new file mode 100644 index 000000000..90adec943 --- /dev/null +++ b/doc/release-notes/release-notes-1.1.1.md @@ -0,0 +1,336 @@ +Notable changes +=============== + +Sapling network upgrade +----------------------- + +The consensus code preparations for the Sapling network upgrade, as described +in [ZIP 243](https://github.com/zcash/zips/blob/master/zip-0243.rst) and the +[Sapling spec](https://github.com/zcash/zips/blob/master/protocol/sapling.pdf) +are finished and included in this release. Sapling support in the wallet and +RPC is ongoing, and is expected to land in master over the next few weeks. + +The [Sapling MPC](https://blog.z.cash/announcing-the-sapling-mpc/) is currently +working on producing the final Sapling parameters. In the meantime, Sapling will +activate on testnet with dummy Sapling parameters at height 252500. This +activation will be temporary, and the testnet will be rolled back by version +2.0.0 so that both mainnet and testnet will be using the same parameters. +Users who want to continue testing Overwinter should continue to run version +1.1.0 on testnet, and then upgrade to 2.0.0 (which will be released after +Overwinter activates). + +Sapling can also be activated at a specific height in regtest mode by +setting the config options `-nuparams=5ba81b19:HEIGHT -nuparams=76b809bb:HEIGHT`. +These config options will change when the testnet is rolled back for 2.0.0 +(because the branch ID for Sapling will change, due to us following the safe +upgrade conventions we introduced in Overwinter). + +Users running testnet or regtest nodes will need to run +`./zcutil/fetch-params.sh --testnet` (for users building from source) or +`zcash-fetch-params --testnet` (for binary / Debian users). + +As a reminder, because the Sapling activation height is not yet specified for +mainnet, version 1.1.1 will behave similarly as other pre-Sapling releases even +after a future activation of Sapling on the network. Upgrading from 1.1.1 will +be required in order to follow the Sapling network upgrade on mainnet. + +Sapling transaction format +-------------------------- + +Once Sapling has activated, transactions must use the new v4 format (including +coinbase transactions). All RPC methods that create new transactions (such as +`createrawtransaction` and `getblocktemplate`) will create v4 transactions once +the Sapling activation height has been reached. + +zcash-cli: arguments privacy +---------------------------- + +The RPC command line client gained a new argument, `-stdin` +to read extra arguments from standard input, one per line until EOF/Ctrl-D. +For example: + + $ src/zcash-cli -stdin walletpassphrase + mysecretcode + 120 + ^D (Ctrl-D) + +It is recommended to use this for sensitive information such as private keys, as +command-line arguments can usually be read from the process table by any user on +the system. + +Asm representations of scriptSig signatures now contain SIGHASH type decodes +---------------------------------------------------------------------------- + +The `asm` property of each scriptSig now contains the decoded signature hash +type for each signature that provides a valid defined hash type. + +The following items contain assembly representations of scriptSig signatures +and are affected by this change: + +- RPC `getrawtransaction` +- RPC `decoderawtransaction` +- REST `/rest/tx/` (JSON format) +- REST `/rest/block/` (JSON format when including extended tx details) +- `zcash-tx -json` + +For example, the `scriptSig.asm` property of a transaction input that +previously showed an assembly representation of: + + 304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c509001 + +now shows as: + + 304502207fa7a6d1e0ee81132a269ad84e68d695483745cde8b541e3bf630749894e342a022100c1f7ab20e13e22fb95281a870f3dcf38d782e53023ee313d741ad0cfbc0c5090[ALL] + +Note that the output of the RPC `decodescript` did not change because it is +configured specifically to process scriptPubKey and not scriptSig scripts. + +Changelog +========= + +Cory Fields (4): + serialization: teach serializers variadics + build: univalue subdir build fixups + don't throw std::bad_alloc when out of memory. Instead, terminate immediately + prevector: assert successful allocation + +Daira Hopwood (1): + Use https: for BDB backup download URL. + +David Llop (1): + Update Payment API + +Eirik Ogilvie-Wigley (7): + Clarify help text of dumpprivkey + Add sapling nullifier set + Add enum for nullifier type + Add sapling nullifiers to db and mempool + Rename nullifier caches and maps to indicate sprout nullifiers + Make sure transactions have non-empty outputs + Coinbase transactions can not have shielded spend or output + +Jack Grigg (55): + Disable building libzcashconsensus by default + depends: Upgrade Rust to 1.26.0-beta.3 + depends: Add support for unpackaged Rust crates + depends: Update to latest librustzcash with sapling-crypto dependencies + Add Sapling to upgrade list + Add static asserts to ensure CONTINUE_EXECUTION doesn't collide + [Bitcoin-Tx] Adjust util-test test cases for Zcash + Handle usage of prevector for CScript in Zcash-specific code + GetSerializeSize changes in Zcash-specific code + Remove nType and nVersion from Zcash-specific code + Adjust consensus rules to require v4 transactions from Sapling activation + Implement basic Sapling v4 transaction parser + Add Sapling v4 transactions to IsStandard + Pass transaction header into correct SignatureHash serialization level + Remove now-unshadowed serialization lines that do nothing + Implement SpendDescription and OutputDescription datastructures + Add a constant for Overwinter's transaction version + Return result of boost::apply_visitor + Improve best-effort logging before termination on OOM + Attempt to log before terminating if prevector allocation fails + Fix -Wstring-plus-int warning on clang + Update mempool_nu_activation RPC test to exercise both Overwinter and Sapling + Use CBitcoinAddress wrappers in Zcash-specific code + Change JSOutPoint constructor to have js argument be uint64_t + Update CreateNewContextualCMutableTransaction to create Sapling transactions + Expire Overwinter transactions before the Sapling activation height + Remove obsolete CreateJoinSplit and GenerateParams binaries + Add missing include guard + Raise 100kB transaction size limit from Sapling activation + Benchmark the largest valid Sapling transaction in validatelargetx + Rename MAX_TX_SIZE to MAX_TX_SIZE_AFTER_SAPLING + Rework z_sendmany z-address recipient limit + Add test of Sapling transaction size boundary + Update tests for CreateNewContextualCMutableTransaction changes + wallet: Change IsLockedNote to take a JSOutPoint + wallet: Make some arguments const that can be + Implement Sapling signature hash (ZIP 243) + Update sighash tests + Introduce wrappers around CZCPaymentAddress + Introduce wrappers around CZCSpendingKey + Introduce wrappers around CZCViewingKey + Implement {Encode,Decode}PaymentAddress etc. without CZCEncoding + Add key_io includes to Zcash-specific code + Add valueBalance to value balances, and enforce its consensus rules + Track net value entering and exiting the Sapling circuit + Add contextual comment for GetValueOut() and GetShieldedValueIn() + Use boost::variant to represent shielded addresses and keys + Correctly serialize Groth16 JSDescription for verifyjoinsplit benchmark + make-release.py: Versioning changes for 1.1.1-rc1. + make-release.py: Updated manpages for 1.1.1-rc1. + make-release.py: Updated release notes and changelog for 1.1.1-rc1. + Comment out Gitian library handling while we don't build any libraries + Add Sapling details to release notes + make-release.py: Versioning changes for 1.1.1. + make-release.py: Updated manpages for 1.1.1. + +Jay Graber (1): + Add test for dependent txs to mempool_tx_expiry.py + +Jeremy Rubin (1): + Fix subscript[0] in base58.cpp + +Jonas Schnelli (4): + [RPC] createrawtransaction: add option to set the sequence number per input + [bitcoin-tx] allow to set nSequence number over the in= command + [Bitcoin-Tx] Add tests for sequence number support + add bip32 pubkey serialization + +João Barbosa (1): + Remove unused GetKeyID and IsScript methods from CBitcoinAddress + +Karl-Johan Alm (1): + Removed using namespace std from bitcoin-cli/-tx and added std:: in appropriate places. + +Kaz Wesley (1): + CBase58Data::SetString: cleanse the full vector + +Larry Ruane (1): + fix qa/zcash/full_test_suite.py pathname + +MarcoFalke (3): + [uacomment] Sanitize per BIP-0014 + [rpcwallet] Don't use floating point + [test] Remove unused code + +Matt Corallo (1): + Add COMPACTSIZE wrapper similar to VARINT for serialization + +Pavel Janík (1): + [WIP] Remove unused statement in serialization + +Pavol Rusnak (2): + implement uacomment config parameter which can add comments to user agent as per BIP-0014 + limit total length of user agent comments + +Pedro Branco (1): + Prevent multiple calls to ExtractDestination + +Per Grön (1): + Make some globals static that can be + +Peter Pratscher (1): + Backported Bitcoin PR #8704 to optionally return full tx details in the getblock rpc call + +Pieter Wuille (22): + Prevector type + Remove unused ReadVersion and WriteVersion + Make streams' read and write return void + Make nType and nVersion private and sometimes const + Make GetSerializeSize a wrapper on top of CSizeComputer + Get rid of nType and nVersion + Avoid -Wshadow errors + Make CSerAction's ForRead() constexpr + Add optimized CSizeComputer serializers + Use fixed preallocation instead of costly GetSerializeSize + Add serialization for unique_ptr and shared_ptr + Add deserializing constructors to CTransaction and CMutableTransaction + Avoid unaligned access in crypto i/o + Fix some empty vector references + Introduce wrappers around CBitcoinAddress + Move CBitcoinAddress to base58.cpp + Implement {Encode,Decode}Destination without CBitcoinAddress + Import Bech32 C++ reference code & tests + Convert base58_tests from type/payload to scriptPubKey comparison + Replace CBitcoinSecret with {Encode,Decode}Secret + Stop using CBase58Data for ext keys + Split key_io (address/key encodings) off from base58 + +Puru (1): + bitcoin-cli.cpp: Use symbolic constant for exit code + +Sean Bowe (49): + Switch to latest librustzcash + Invoke the merkle_hash API in librustzcash via test suite. + Link with -ldl + Update librustzcash hash + Load Sapling testnet parameters into memory. + Update librustzcash hash + Check that duplicate Sapling nullifiers don't exist within a transaction. + Abstract `uncommitted` and depth personalization for IncrementalMerkleTree. + Add implementation of Sapling merkle tree + Add regression tests and test vectors for Sapling merkle tree + Rename NullifierType to ShieldedType. + Specifically describe anchors as Sprout anchors. + Rename hashAnchor to hashSproutAnchor. + Rename hashReserved to hashSaplingAnchorEnd. + Add primitive implementation of GetSaplingAnchorEnd. + Rename DB_ANCHOR to DB_SPROUT_ANCHOR. + Rename GetAnchorAt to GetSproutAnchorAt. + Rename PushAnchor to PushSproutAnchor. + Introduce support for GetBestAnchor(SAPLING). + Generalize the PopAnchor implementation behavior. + Generalize the PushAnchor implementation behavior. + Remove underscores from gtest test names. + Rename hashSaplingAnchorEnd to hashFinalSaplingRoot to match spec. + Rename hashSproutAnchorEnd to hashFinalSproutRoot to be consistent. + Add support for Sapling anchors in coins/txdb. + Add support for PopAnchor(.., SPROUT/SAPLING) + Add `PushSaplingAnchor` + Add consensus support for Sapling merkle trees. + Add support for Sapling anchor checks in mempool consistency checks. + Calculate the correct hashFinalSaplingRoot in the miner. + Adjust tests to handle Sapling anchor cache + Evict transactions with obsolete anchors from the mempool + Fix outdated comment + Fix broken error messages. + Fix miner tests + Update sapling-crypto and librustzcash + Swap bit endianness of test vectors + Remove unnecessary IsCoinbase() check. Coinbases are guaranteed to have empty vjoinsplit. + Refactor so that dataToBeSigned can be used later in the function for other purposes. + Update to latest librustzcash + Check Sapling Spend/Output proofs and signatures. + Integrate Groth16 verification and proving. + Update librustzcash again + Adjust tests and benchmarks + Switch Rust to 1.26 Stable. + Update librustzcash + Update Sapling testnet parameters + Update merkle tree and pedersen hash tests to account for new encoding + Change txdb prefixes for sapling and avoid writing unnecessary information. + +Simon Liu (18): + Part of #2966, extending Sprout tests to other epochs. + Closes #3134 - Least Authority Issue E + Refactoring: libzcash::Note is now a subclass of libzcash::BaseNote. + Refactoring: Rename class libzcash::Note to libzcash::SproutNote. + Refactoring: SproutNote member variable value moved to BaseNote. + Add virtual destructor to SproutNote and BaseNote + Remove unused SproutNote variables. + Refactoring: rename NotePlaintext --> SproutNotePlaintext + Create class hierarchy for SproutNotePlaintext. + Move memo member varible from SproutNotePlaintext to BaseNotePlaintext. + Tweaks to d0a1d83 to complete backport of Bitcoin PR #8704 + Closes #3178 by adding verbosity level improvements to getblock RPC. + Fix undefined behaviour, calling memcpy with NULL pointer. + Closes #3250. Memo getter should return by reference, not by value. + make-release.py: Versioning changes for 1.1.1-rc2. + make-release.py: Updated manpages for 1.1.1-rc2. + make-release.py: Updated release notes and changelog for 1.1.1-rc2. + Closes #3301. Non-void function should not have empty definition. + +Tom Harding (1): + Add optional locktime to createrawtransaction + +UdjinM6 (2): + Fix exit codes: + Every main()/exit() should return/use one of EXIT_ codes instead of magic numbers + +Wladimir J. van der Laan (2): + rpc: Input-from-stdin mode for bitcoin-cli + doc: mention bitcoin-cli -stdin in release notes + +ca333 (2): + [fix] proton download path + update proton.mk + +kozyilmaz (2): + [macOS] added curl method for param download + [macOS] use shlock instead of flock in fetch-params + +mruddy (1): + Resolve issue bitcoin/bitcoin#3166. + diff --git a/src/chainparams.cpp b/src/chainparams.cpp index d75231ce3..aaad51639 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -266,8 +266,7 @@ public: consensus.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion = 170003; consensus.vUpgrades[Consensus::UPGRADE_OVERWINTER].nActivationHeight = 207500; consensus.vUpgrades[Consensus::UPGRADE_SAPLING].nProtocolVersion = 170006; - consensus.vUpgrades[Consensus::UPGRADE_SAPLING].nActivationHeight = - Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT; + consensus.vUpgrades[Consensus::UPGRADE_SAPLING].nActivationHeight = 252500; pchMessageStart[0] = 0xfa; pchMessageStart[1] = 0x1a; diff --git a/src/clientversion.h b/src/clientversion.h index b4255a892..bf5980b99 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,7 +18,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 1 -#define CLIENT_VERSION_BUILD 26 +#define CLIENT_VERSION_BUILD 50 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/deprecation.h b/src/deprecation.h index 16cd9d060..8835e7ccf 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -8,7 +8,7 @@ // Deprecation policy: // * 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 = 328350; +static const int APPROX_RELEASE_HEIGHT = 332000; static const int WEEKS_UNTIL_DEPRECATION = 16; static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24); diff --git a/src/net.cpp b/src/net.cpp index 8db963008..1269c8c25 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -820,7 +820,7 @@ static bool AttemptToEvictConnection(bool fPreferNewConnection) { } const Consensus::Params& params = Params().GetConsensus(); - int nActivationHeight = params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nActivationHeight; + int nActivationHeight = params.vUpgrades[Consensus::UPGRADE_SAPLING].nActivationHeight; if (nActivationHeight > 0 && height < nActivationHeight && @@ -828,7 +828,7 @@ static bool AttemptToEvictConnection(bool fPreferNewConnection) { { // Find any nodes which don't support Overwinter protocol version BOOST_FOREACH(const CNodeRef &node, vEvictionCandidates) { - if (node->nVersion < params.vUpgrades[Consensus::UPGRADE_OVERWINTER].nProtocolVersion) { + if (node->nVersion < params.vUpgrades[Consensus::UPGRADE_SAPLING].nProtocolVersion) { vTmpEvictionCandidates.push_back(node); } } diff --git a/src/version.h b/src/version.h index bf8c518d8..cf3e1ea4a 100644 --- a/src/version.h +++ b/src/version.h @@ -9,7 +9,7 @@ * network protocol versioning */ -static const int PROTOCOL_VERSION = 170005; +static const int PROTOCOL_VERSION = 170006; //! initial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209;