From 40c33db2f438fca33915ca23cccc23b4326472c1 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 25 May 2018 15:38:43 +1200 Subject: [PATCH 1/5] make-release.py: Versioning changes for 1.1.1. --- README.md | 2 +- configure.ac | 2 +- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 2 +- src/deprecation.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) 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/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/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..ec023946d 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 = 329250; static const int WEEKS_UNTIL_DEPRECATION = 16; static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 24); From 4ddd873d613a531a8e0e694bb622b02bb150b91e Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 25 May 2018 15:49:33 +1200 Subject: [PATCH 2/5] make-release.py: Updated manpages for 1.1.1. --- doc/man/zcash-cli.1 | 6 +++--- doc/man/zcash-tx.1 | 6 +++--- doc/man/zcashd.1 | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) 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 From 10faedf75865d9cf874e59dac6e5723b5a5aa5df Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 25 May 2018 15:49:34 +1200 Subject: [PATCH 3/5] make-release.py: Updated release notes and changelog for 1.1.1. --- contrib/debian/changelog | 6 + doc/authors.md | 46 ++-- doc/release-notes.md | 83 ------ doc/release-notes/release-notes-1.1.1.md | 336 +++++++++++++++++++++++ 4 files changed, 371 insertions(+), 100 deletions(-) create mode 100644 doc/release-notes/release-notes-1.1.1.md 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/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/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..8ac49880e --- /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 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. + +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. + From d670db7164c9c49eb43f10b40efc2adaa473422f Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 25 May 2018 16:05:25 +1200 Subject: [PATCH 4/5] Sapling testnet activation height --- doc/release-notes/release-notes-1.1.1.md | 2 +- src/chainparams.cpp | 3 +-- src/net.cpp | 4 ++-- src/version.h | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/release-notes/release-notes-1.1.1.md b/doc/release-notes/release-notes-1.1.1.md index 8ac49880e..90adec943 100644 --- a/doc/release-notes/release-notes-1.1.1.md +++ b/doc/release-notes/release-notes-1.1.1.md @@ -12,7 +12,7 @@ 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 +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 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/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; From c290f8f263c9259da390e448ec0e707a338bd249 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 24 May 2018 23:09:02 -0700 Subject: [PATCH 5/5] Update release height to block 332000. --- src/deprecation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deprecation.h b/src/deprecation.h index ec023946d..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 = 329250; +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);