Major updates integration from all upstreams
This commit is contained in:
@@ -870,7 +870,7 @@ HTML_FILE_EXTENSION = .html
|
||||
# standard header. Note that when using a custom header you are responsible
|
||||
# for the proper inclusion of any scripts and style sheets that doxygen
|
||||
# needs, which is dependent on the configuration options used.
|
||||
# It is adviced to generate a default header using "doxygen -w html
|
||||
# It is advised to generate a default header using "doxygen -w html
|
||||
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
||||
# that header. Note that the header is subject to change so you typically
|
||||
# have to redo this when upgrading to a newer version of doxygen or when
|
||||
|
||||
@@ -1,64 +1,80 @@
|
||||
Zcash Contributors
|
||||
==================
|
||||
|
||||
Jack Grigg (601)
|
||||
Simon Liu (297)
|
||||
Sean Bowe (193)
|
||||
Daira Hopwood (102)
|
||||
Wladimir J. van der Laan (71)
|
||||
Jack Grigg (760)
|
||||
Simon Liu (352)
|
||||
Sean Bowe (263)
|
||||
Daira Hopwood (110)
|
||||
Jay Graber (84)
|
||||
Wladimir J. van der Laan (81)
|
||||
Taylor Hornby (65)
|
||||
Jay Graber (61)
|
||||
Nathan Wilcox (56)
|
||||
Jonas Schnelli (49)
|
||||
Jonas Schnelli (55)
|
||||
Pieter Wuille (50)
|
||||
Kevin Gallagher (38)
|
||||
Cory Fields (30)
|
||||
Pieter Wuille (24)
|
||||
Eirik Ogilvie-Wigley (36)
|
||||
Cory Fields (35)
|
||||
syd (15)
|
||||
Matt Corallo (13)
|
||||
Paige Peterson (10)
|
||||
MarcoFalke (10)
|
||||
nomnombtc (9)
|
||||
Paige Peterson (9)
|
||||
Matt Corallo (9)
|
||||
Jonathan "Duke" Leto (9)
|
||||
kozyilmaz (8)
|
||||
fanquake (8)
|
||||
MarcoFalke (7)
|
||||
Jeff Garzik (7)
|
||||
Gregory Maxwell (7)
|
||||
Ariel Gabizon (7)
|
||||
Luke Dashjr (6)
|
||||
Larry Ruane (6)
|
||||
Daniel Cousens (6)
|
||||
Pavel Janík (5)
|
||||
Karl-Johan Alm (5)
|
||||
Johnathan Corgan (5)
|
||||
Gregory Maxwell (5)
|
||||
Ariel Gabizon (5)
|
||||
kozyilmaz (4)
|
||||
Philip Kaufmann (4)
|
||||
Peter Todd (4)
|
||||
Patrick Strateman (4)
|
||||
Karl-Johan Alm (4)
|
||||
João Barbosa (4)
|
||||
Jorge Timón (4)
|
||||
Jeff Garzik (4)
|
||||
Duke Leto (4)
|
||||
David Mercer (4)
|
||||
Daniel Cousens (4)
|
||||
lpescher (3)
|
||||
Suhas Daftuar (3)
|
||||
Pavel Janík (3)
|
||||
João Barbosa (3)
|
||||
Per Grön (3)
|
||||
Patick Strateman (3)
|
||||
Jason Davies (3)
|
||||
James O'Beirne (3)
|
||||
Daniel Kraft (3)
|
||||
Ariel (3)
|
||||
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)
|
||||
Pejvan (2)
|
||||
Pavol Rusnak (2)
|
||||
Pavel Vasin (2)
|
||||
Matthew King (2)
|
||||
Kaz Wesley (2)
|
||||
Joe Turgeon (2)
|
||||
Jason Davies (2)
|
||||
Jack Gavigan (2)
|
||||
ITH4Coinomia (2)
|
||||
Gavin Andresen (2)
|
||||
Daniel Kraft (2)
|
||||
Brad Miller (2)
|
||||
Bjorn Hjortsberg (2)
|
||||
Amgad Abdelhafez (2)
|
||||
Alex Morcos (2)
|
||||
zathras-crypto (1)
|
||||
unsystemizer (1)
|
||||
practicalswift (1)
|
||||
mruddy (1)
|
||||
mrbandrews (1)
|
||||
mdr0id (1)
|
||||
kazcw (1)
|
||||
jc (1)
|
||||
isle2983 (1)
|
||||
@@ -69,10 +85,16 @@ daniel (1)
|
||||
calebogden (1)
|
||||
ayleph (1)
|
||||
Tom Ritter (1)
|
||||
Tom Harding (1)
|
||||
Stephen (1)
|
||||
S. Matthew English (1)
|
||||
Ross Nicoll (1)
|
||||
Richard Littauer (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)
|
||||
@@ -84,10 +106,11 @@ Mark Friedenbach (1)
|
||||
Marius Kjærstad (1)
|
||||
Louis Nyffenegger (1)
|
||||
Leo Arias (1)
|
||||
Lauda (1)
|
||||
Lars-Magnus Skog (1)
|
||||
Kevin Pan (1)
|
||||
Jonathan "Duke" Leto (1)
|
||||
Jonas Nick (1)
|
||||
Jeremy Rubin (1)
|
||||
Jeffrey Walton (1)
|
||||
Ian Kelling (1)
|
||||
Gaurav Rana (1)
|
||||
@@ -95,9 +118,12 @@ Forrest Voight (1)
|
||||
Florian Schmaus (1)
|
||||
Ethan Heilman (1)
|
||||
Eran Tromer (1)
|
||||
Duke Leto (1)
|
||||
Dimitris Apostolou (1)
|
||||
David Llop (1)
|
||||
Christian von Roques (1)
|
||||
Chirag Davé (1)
|
||||
Charlie OKeefe (1)
|
||||
Charlie O'Keefe (1)
|
||||
Casey Rodarmor (1)
|
||||
Cameron Boehmer (1)
|
||||
Bryan Stitt (1)
|
||||
@@ -109,7 +135,6 @@ Ashley Holman (1)
|
||||
Anthony Towns (1)
|
||||
Allan Niemerg (1)
|
||||
Alex van der Peet (1)
|
||||
Alex Morcos (1)
|
||||
Alex (1)
|
||||
Adam Weiss (1)
|
||||
Adam Brown (1)
|
||||
|
||||
4
doc/bips.md
Normal file
4
doc/bips.md
Normal file
@@ -0,0 +1,4 @@
|
||||
BIPs that are implemented by Zcash (up-to-date up to **v1.1.0**):
|
||||
|
||||
* Numerous historic BIPs were present in **v1.0.0** at launch; see [the protocol spec](https://github.com/zcash/zips/blob/master/protocol/protocol.pdf) for details.
|
||||
* [`BIP 111`](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki): `NODE_BLOOM` service bit added, but only enforced for peer versions `>=170004` as of **v1.1.0** ([PR #2814](https://github.com/zcash/zcash/pull/2814)).
|
||||
BIN
doc/imgs/logo.png
Normal file
BIN
doc/imgs/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
doc/imgs/zcashd_screen.gif
Normal file
BIN
doc/imgs/zcashd_screen.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
BIN
doc/imgs/zcashd_screenshot.png
Normal file
BIN
doc/imgs/zcashd_screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH ZCASH-CLI "1" "February 2018" "zcash-cli v1.0.15" "User Commands"
|
||||
.TH ZCASH-CLI "1" "August 2018" "zcash-cli v2.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcash-cli \- manual page for zcash-cli v1.0.15
|
||||
zcash-cli \- manual page for zcash-cli v2.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash RPC client version v1.0.15
|
||||
Zcash RPC client version v2.0.0
|
||||
.PP
|
||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||
please see <https://z.cash/support/security/>.
|
||||
@@ -65,6 +65,11 @@ Password for JSON\-RPC connections
|
||||
.IP
|
||||
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
|
||||
900)
|
||||
.HP
|
||||
\fB\-stdin\fR
|
||||
.IP
|
||||
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
|
||||
(recommended for sensitive information such as passphrases)
|
||||
.SH COPYRIGHT
|
||||
|
||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH ZCASH-TX "1" "February 2018" "zcash-tx v1.0.15" "User Commands"
|
||||
.TH ZCASH-TX "1" "August 2018" "zcash-tx v2.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcash-tx \- manual page for zcash-tx v1.0.15
|
||||
zcash-tx \- manual page for zcash-tx v2.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash zcash\-tx utility version v1.0.15
|
||||
Zcash zcash\-tx utility version v2.0.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
zcash\-tx [options] <hex\-tx> [commands]
|
||||
@@ -48,7 +48,7 @@ delout=N
|
||||
.IP
|
||||
Delete output N from TX
|
||||
.IP
|
||||
in=TXID:VOUT
|
||||
in=TXID:VOUT(:SEQUENCE_NUMBER)
|
||||
.IP
|
||||
Add input to TX
|
||||
.IP
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH ZCASHD "1" "February 2018" "zcashd v1.0.15" "User Commands"
|
||||
.TH ZCASHD "1" "August 2018" "zcashd v2.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcashd \- manual page for zcashd v1.0.15
|
||||
zcashd \- manual page for zcashd v2.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash Daemon version v1.0.15
|
||||
Zcash Daemon version v2.0.0
|
||||
.PP
|
||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||
please see <https://z.cash/support/security/>.
|
||||
@@ -51,11 +51,6 @@ Run in the background as a daemon and accept commands
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-disabledeprecation=\fR<version>
|
||||
.IP
|
||||
Disable block\-height node deprecation and automatic shutdown (example:
|
||||
\fB\-disabledeprecation\fR=\fI\,1\/\fR.0.15)
|
||||
.HP
|
||||
\fB\-exportdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to be used when exporting data
|
||||
@@ -74,12 +69,13 @@ Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
.HP
|
||||
\fB\-mempooltxinputlimit=\fR<n>
|
||||
.IP
|
||||
Set the maximum number of transparent inputs in a transaction that the
|
||||
mempool will accept (default: 0 = no limit applied)
|
||||
[DEPRECATED FROM OVERWINTER] Set the maximum number of transparent
|
||||
inputs in a transaction that the mempool will accept (default: 0 = no
|
||||
limit applied)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
@@ -187,6 +183,11 @@ Only connect to nodes in network <net> (ipv4, ipv6 or onion)
|
||||
.IP
|
||||
Relay non\-P2SH multisig (default: 1)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with Bloom filters (default:
|
||||
1)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port> (default: 8233 or testnet: 18233)
|
||||
|
||||
@@ -29,10 +29,10 @@ Optional parameters are denoted in [square brackets].
|
||||
RPC calls by category:
|
||||
|
||||
* Accounting: z_getbalance, z_gettotalbalance
|
||||
* Addresses : z_getnewaddress, z_listaddresses, z_validateaddress
|
||||
* Addresses : z_getnewaddress, z_listaddresses, z_validateaddress, z_exportviewingkey, z_importviewingkey
|
||||
* Keys : z_exportkey, z_importkey, z_exportwallet, z_importwallet
|
||||
* Operation: z_getoperationresult, z_getoperationstatus, z_listoperationids
|
||||
* Payment : z_listreceivedbyaddress, z_sendmany, z_shieldcoinbase
|
||||
* Payment : z_listreceivedbyaddress, z_listunspent, z_sendmany, z_shieldcoinbase
|
||||
|
||||
RPC parameter conventions:
|
||||
|
||||
@@ -55,7 +55,7 @@ Command | Parameters | Description
|
||||
--- | --- | ---
|
||||
z_getnewaddress | | Return a new zaddr for sending and receiving payments. The spending key for this zaddr will be added to the node’s wallet.<br><br>Output:<br>zN68D8hSs3...
|
||||
z_listaddresses | | Returns a list of all the zaddrs in this node’s wallet for which you have a spending key.<br><br>Output:<br>{ [“z123…”, “z456...”, “z789...”] }
|
||||
z_validateaddress | zaddr | Return information about a given zaddr.<br><br>Output:<br>{"isvalid" : true,<br>"address" : "zcWsmq...",<br>"payingkey" : "f5bb3c...",<br>"transmissionkey" : "7a58c7...",<br>"ismine" : true}
|
||||
z_validateaddress | zaddr | Return information about a given zaddr.<br><br>Output:<br>{"isvalid" : true,<br>"address" : "zcWsmq...",<br>"type" : "sprout",<br>"payingkey" : "f5bb3c...",<br>"transmissionkey" : "7a58c7...",<br>"ismine" : true}
|
||||
|
||||
### Key Management
|
||||
|
||||
@@ -64,13 +64,17 @@ Command | Parameters | Description
|
||||
z_exportkey | zaddr | _Requires an unlocked wallet or an unencrypted wallet._<br><br>Return a zkey for a given zaddr belonging to the node’s wallet.<br><br>The key will be returned as a string formatted using Base58Check as described in the Zcash protocol spec.<br><br>Output:AKWUAkypwQjhZ6LLNaMuuuLcmZ6gt5UFyo8m3jGutvALmwZKLdR5
|
||||
z_importkey | zkey [rescan=true] | _Wallet must be unlocked._<br><br>Add a zkey as returned by z_exportkey to a node's wallet.<br><br>The key should be formatted using Base58Check as described in the Zcash protocol spec.<br><br>Set rescan to true (the default) to rescan the entire local block database for transactions affecting any address or pubkey script in the wallet (including transactions affecting the newly-added address for this spending key).
|
||||
z_exportwallet | filename | _Requires an unlocked wallet or an unencrypted wallet._<br><br>Creates or overwrites a file with taddr private keys and zaddr private keys in a human-readable format.<br><br>Filename is the file in which the wallet dump will be placed. May be prefaced by an absolute file path. An existing file with that name will be overwritten.<br><br>No value is returned but a JSON-RPC error will be reported if a failure occurred.
|
||||
z_importwallet | filename | _Requires an unlocked wallet or an unencrypted wallet._<br><br>Imports private keys from a file in wallet export file format (see z_exportwallet). These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the block chain for transactions affecting the newly-added keys, which may take several minutes.<br><br>Filename is the file to import. The path is relative to komodod’s working directory.<br><br>No value is returned but a JSON-RPC error will be reported if a failure occurred.
|
||||
z_importwallet | filename | _Requires an unlocked wallet or an unencrypted wallet._<br><br>Imports private keys from a file in wallet export file format (see z_exportwallet). These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the block chain for transactions affecting the newly-added keys, which may take several minutes.<br><br>Filename is the file to import. The path is relative to verusd’s working directory.<br><br>No value is returned but a JSON-RPC error will be reported if a failure occurred.
|
||||
z_exportviewingkey | zaddr | Reveals the viewing key corresponding to 'zaddr'. Then the z_importviewingkey can be used with this output.
|
||||
z_importviewingkey | vkey [rescan=whenkeyisnew] [startHeight=0] | Adds a viewing key (as returned by z_exportviewingkey) to your wallet.
|
||||
|
||||
|
||||
### Payment
|
||||
|
||||
Command | Parameters | Description
|
||||
--- | --- | ---
|
||||
z_listreceivedbyaddress<br> | zaddr [minconf=1] | Return a list of amounts received by a zaddr belonging to the node’s wallet.<br><br>Optionally set the minimum number of confirmations which a received amount must have in order to be included in the result. Use 0 to count unconfirmed transactions.<br><br>Output:<br>[{<br>“txid”: “4a0f…”,<br>“amount”: 0.54,<br>“memo”:”F0FF…”,}, {...}, {...}<br>]
|
||||
z_listunspent | [minconf=1] [maxconf=9999999] [includeWatchonly=false] [zaddrs] | Returns array of unspent shielded notes with between minconf and maxconf (inclusive) confirmations.<br><br>Optionally filter to only include notes sent to specified addresses.<br><br>When minconf is 0, unspent notes with zero confirmations are returned, even though they are not immediately spendable.<br><br>Results are an array of Objects, each of which has: {txid, jsindex, jsoutindex, confirmations, address, amount, memo}
|
||||
z_sendmany<br> | fromaddress amounts [minconf=1] [fee=0.0001] | _This is an Asynchronous RPC call_<br><br>Send funds from an address to multiple outputs. The address can be either a taddr or a zaddr.<br><br>Amounts is a list containing key/value pairs corresponding to the addresses and amount to pay. Each output address can be in taddr or zaddr format.<br><br>When sending to a zaddr, you also have the option of attaching a memo in hexadecimal format.<br><br>**NOTE:**When sending coinbase funds to a zaddr, the node's wallet does not allow any change. Put another way, spending a partial amount of a coinbase utxo is not allowed. This is not a consensus rule but a local wallet rule due to the current implementation of z_sendmany. In future, this rule may be removed.<br><br>Example of Outputs parameter:<br>[{“address”:”t123…”, “amount”:0.005},<br>,{“address”:”z010…”,”amount”:0.03, “memo”:”f508af…”}]<br><br>Optionally set the minimum number of confirmations which a private or transparent transaction must have in order to be used as an input. When sending from a zaddr, minconf must be greater than zero.<br><br>Optionally set a transaction fee, which by default is 0.0001 ZEC.<br><br>Any transparent change will be sent to a new transparent address. Any private change will be sent back to the zaddr being used as the source of funds.<br><br>Returns an operationid. You use the operationid value with z_getoperationstatus and z_getoperationresult to obtain the result of sending funds, which if successful, will be a txid.
|
||||
z_shieldcoinbase<br> | fromaddress toaddress [fee=0.0001] [limit=50] | _This is an Asynchronous RPC call_<br><br>Shield transparent coinbase funds by sending to a shielded z address. Utxos selected for shielding will be locked. If there is an error, they are unlocked. The RPC call `listlockunspent` can be used to return a list of locked utxos.<br><br>The number of coinbase utxos selected for shielding can be set with the limit parameter, which has a default value of 50. If the parameter is set to 0, the number of utxos selected is limited by the `-mempooltxinputlimit` option. Any limit is constrained by a consensus rule defining a maximum transaction size of 100000 bytes. <br><br>The from address is a taddr or "*" for all taddrs belonging to the wallet. The to address is a zaddr. The default fee is 0.0001.<br><br>Returns an object containing an operationid which can be used with z_getoperationstatus and z_getoperationresult, along with key-value pairs regarding how many utxos are being shielded in this transaction and what remains to be shielded.
|
||||
|
||||
|
||||
@@ -4,3 +4,16 @@ release-notes at release time)
|
||||
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)
|
||||
|
||||
180
doc/release-notes/release-notes-1.1.0-rc1.md
Normal file
180
doc/release-notes/release-notes-1.1.0-rc1.md
Normal file
@@ -0,0 +1,180 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
`-mempooltxinputlimit` deprecation
|
||||
----------------------------------
|
||||
|
||||
The configuration option `-mempooltxinputlimit` was added in release 1.0.10 as a
|
||||
short-term fix for the quadratic hashing problem inherited from Bitcoin. At the
|
||||
time, transactions with many inputs were causing performance issues for miners.
|
||||
Since then, several performance improvements have been merged from the Bitcoin
|
||||
Core codebase that significantly reduce these issues.
|
||||
|
||||
The Overwinter network upgrade includes changes that solve the quadratic hashing
|
||||
problem, and so `-mempooltxinputlimit` will no longer be needed - a transaction
|
||||
with 1000 inputs will take just as long to validate as 10 transactions with 100
|
||||
inputs each. Starting from this release, `-mempooltxinputlimit` will be enforced
|
||||
before the Overwinter activation height is reached, but will be ignored once
|
||||
Overwinter activates. The option will be removed entirely in a future release
|
||||
after Overwinter has activated.
|
||||
|
||||
`NODE_BLOOM` service bit
|
||||
------------------------
|
||||
|
||||
Support for the `NODE_BLOOM` service bit, as described in [BIP
|
||||
111](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki), has been
|
||||
added to the P2P protocol code.
|
||||
|
||||
BIP 111 defines a service bit to allow peers to advertise that they support
|
||||
Bloom filters (such as used by SPV clients) explicitly. It also bumps the protocol
|
||||
version to allow peers to identify old nodes which allow Bloom filtering of the
|
||||
connection despite lacking the new service bit.
|
||||
|
||||
In this version, it is only enforced for peers that send protocol versions
|
||||
`>=170004`. For the next major version it is planned that this restriction will be
|
||||
removed. It is recommended to update SPV clients to check for the `NODE_BLOOM`
|
||||
service bit for nodes that report version 170004 or newer.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Brad Miller (2):
|
||||
Clean up
|
||||
Implement note locking for z_mergetoaddress
|
||||
|
||||
Charlie O'Keefe (1):
|
||||
Add filename and sha256 hash for windows rust package
|
||||
|
||||
Daira Hopwood (5):
|
||||
Squashed commit of the following:
|
||||
pyflakes cleanups to RPC tests after Overwinter PRs.
|
||||
Add support for Overwinter v3 transactions to mininode framework.
|
||||
Test that receiving an expired transaction does not increase the peer's ban score.
|
||||
Don't increase banscore if the transaction only just expired.
|
||||
|
||||
Daniel Kraft (1):
|
||||
trivial: use constants for db keys
|
||||
|
||||
Jack Grigg (43):
|
||||
Add environment variable for setting ./configure flags in zcutil/build.sh
|
||||
Add configure flags for enabling ASan/UBSan and TSan
|
||||
Split declaration and definition of SPROUT_BRANCH_ID constant
|
||||
Add link to Overwinter info page
|
||||
Notify users about auto-senescence via -alertnotify
|
||||
test: Move wait_and_assert_operationid_status debug output before asserts
|
||||
Don't require RELRO and BIND_NOW for Darwin
|
||||
Only set multicore flags if OpenMP is available
|
||||
Revert "remove -mt suffix from boost libraries built by depends"
|
||||
Use correct Boost::System linker flag for libzcash
|
||||
depends: Remove -mt suffix from Boost libraries
|
||||
snark: Remove -mt suffix from Boost library
|
||||
cleanup: Ensure code is pyflakes-clean for CI
|
||||
Ignore -mempooltxinputlimit once Overwinter activates
|
||||
depends: Explicitly download and vendor Rust dependencies
|
||||
Make Rust compilation mandatory
|
||||
Optimise serialization of MerklePath, avoiding ambiguity of std::vector<bool>
|
||||
Use uint64_t instead of size_t for serialized indices into tx.vjoinsplit
|
||||
Move explicit instantiation of IncrementalMerkleTree::emptyroots into header
|
||||
libsnark: Don't set -static on Darwin
|
||||
Set PLATFORM flag when compiling libsnark
|
||||
Add base case to CurrentEpoch()
|
||||
Cast ZCIncrementalMerkleTree::size() to uint64_t before passing to UniValue
|
||||
rpcwallet.cpp: Cast size_t to uint64_t before passing to UniValue
|
||||
wallet: Cast size_t to uint64_t before passing to UniValue
|
||||
Test calling z_mergetoaddress to merge notes while a note merge is ongoing
|
||||
depends: Fix regex bugs in cargo-checksum.sh
|
||||
Fix z_importviewingkey startHeight parameter
|
||||
Add RPC test of RewindBlockIndex
|
||||
When rewinding, remove insufficiently-validated blocks
|
||||
Adjust deprecation message to work in both UI and -alertnotify
|
||||
Refactor Zcash changes to CCoinsViewDB
|
||||
Update blockchain.py RPC test for Zcash
|
||||
Update CBlockTreeDB::EraseBatchSync for dbwrapper refactor
|
||||
Fix typo
|
||||
test: Check return value of snprintf
|
||||
test: Add missing Overwinter fields to mininode's CTransaction
|
||||
Add RPC test for -enforcenodebloom
|
||||
Fix NODE_BLOOM documentation errors
|
||||
Move bloom filter filtering logic back into command "switch"
|
||||
Update -enforcenodebloom RPC test with filterclear vs filteradd
|
||||
make-release.py: Versioning changes for 1.1.0-rc1.
|
||||
make-release.py: Updated manpages for 1.1.0-rc1.
|
||||
|
||||
James O'Beirne (3):
|
||||
Refactor leveldbwrapper
|
||||
Minor bugfixes
|
||||
Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator
|
||||
|
||||
Jason Davies (1):
|
||||
Fix typo in comment: should link to issue #1359.
|
||||
|
||||
Jay Graber (1):
|
||||
Set ban score for expired txs to 0
|
||||
|
||||
Jeff Garzik (3):
|
||||
leveldbwrapper: Remove unused .Prev(), .SeekToLast() methods
|
||||
leveldbwrapper symbol rename: Remove "Level" from class, etc. names
|
||||
leveldbwrapper file rename to dbwrapper.*
|
||||
|
||||
Jonathan "Duke" Leto (7):
|
||||
Fix references to Bitcoin in RPC tests readme
|
||||
This library seems to not be used at all and all comments mentioning it are ghosts
|
||||
Update awkward wording about blocks as per @daira
|
||||
Regtest mining does have a founders reward, a single address t2FwcEhFdNXuFMv1tcYwaBJtYVtMj8b1uTg
|
||||
Fix outdated comment about starting balance of nodes
|
||||
Return JoinSplit and JoinSplitOutput indexes in z_listreceivedbyaddress
|
||||
Add tests for new JoinSplit keys returned by z_listreceivedbyaddress
|
||||
|
||||
Lauda (1):
|
||||
[Trivial] Grammar and typo correction
|
||||
|
||||
Matt Corallo (3):
|
||||
Add test for dbwrapper iterators with same-prefix keys.
|
||||
Add NODE_BLOOM service bit and bump protocol version
|
||||
Don't do mempool lookups for "mempool" command without a filter
|
||||
|
||||
Patick Strateman (3):
|
||||
Move bloom filter filtering logic outside of command "switch" (giant if/else).
|
||||
Add enforcenodebloom option.
|
||||
Document both the peerbloomfilters and enforcenodebloom options.
|
||||
|
||||
Pavel Janík (1):
|
||||
Do not shadow members in dbwrapper
|
||||
|
||||
Pieter Wuille (2):
|
||||
Encapsulate CLevelDB iterators cleanly
|
||||
Fix chainstate serialized_size computation
|
||||
|
||||
R E Broadley (1):
|
||||
Allow filterclear messages for enabling TX relay only.
|
||||
|
||||
Simon Liu (13):
|
||||
Code clean up. Remove use of X macro.
|
||||
Enable mempool logging in tx expiry QA test.
|
||||
Closes #3084. Log txid when removing expired txs from mempool.
|
||||
Add qa test for cache invalidation bug found in v1.0.0 to v1.0.3.
|
||||
Remove local function wait_and_assert_operationid_status which is now defined in the test framework for shared usage.
|
||||
Update boost to 1.66.0
|
||||
Part of #2966, extending Sprout tests to other epochs.
|
||||
Update boost package URL to match official download url on boost.org
|
||||
Closes #3110. Ensure user can see error message about absurdly high fees.
|
||||
Closes #2910. Add z_listunspent RPC call.
|
||||
Upgrade OpenSSL to 1.1.0h
|
||||
Use range based for loop
|
||||
Bump MIT Licence copyright header.
|
||||
|
||||
Wladimir J. van der Laan (6):
|
||||
dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator
|
||||
dbwrapper: Move `HandleError` to `dbwrapper_private`
|
||||
chain: Add assertion in case of missing records in index db
|
||||
test: Add more thorough test for dbwrapper iterators
|
||||
test: Replace remaining sprintf with snprintf
|
||||
doc: update release-notes and bips.md for BIP111
|
||||
|
||||
kozyilmaz (1):
|
||||
Fix test/gtest bugs caught by latest macOS clang
|
||||
|
||||
rofl0r (2):
|
||||
fix build error due to usage of obsolete boost_system-mt
|
||||
remove -mt suffix from boost libraries built by depends
|
||||
|
||||
193
doc/release-notes/release-notes-1.1.0.md
Normal file
193
doc/release-notes/release-notes-1.1.0.md
Normal file
@@ -0,0 +1,193 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Overwinter network upgrade
|
||||
--------------------------
|
||||
|
||||
The activation height for the Overwinter network upgrade on mainnet is included
|
||||
in this release. Overwinter will activate on mainnet at height 347500, which is
|
||||
expected to be mined on the 25th of June 2018. Please upgrade to this release,
|
||||
or any subsequent release, in order to follow the Overwinter network upgrade.
|
||||
|
||||
`-mempooltxinputlimit` deprecation
|
||||
----------------------------------
|
||||
|
||||
The configuration option `-mempooltxinputlimit` was added in release 1.0.10 as a
|
||||
short-term fix for the quadratic hashing problem inherited from Bitcoin. At the
|
||||
time, transactions with many inputs were causing performance issues for miners.
|
||||
Since then, several performance improvements have been merged from the Bitcoin
|
||||
Core codebase that significantly reduce these issues.
|
||||
|
||||
The Overwinter network upgrade includes changes that solve the quadratic hashing
|
||||
problem, and so `-mempooltxinputlimit` will no longer be needed - a transaction
|
||||
with 1000 inputs will take just as long to validate as 10 transactions with 100
|
||||
inputs each. Starting from this release, `-mempooltxinputlimit` will be enforced
|
||||
before the Overwinter activation height is reached, but will be ignored once
|
||||
Overwinter activates. The option will be removed entirely in a future release
|
||||
after Overwinter has activated.
|
||||
|
||||
`NODE_BLOOM` service bit
|
||||
------------------------
|
||||
|
||||
Support for the `NODE_BLOOM` service bit, as described in [BIP
|
||||
111](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki), has been
|
||||
added to the P2P protocol code.
|
||||
|
||||
BIP 111 defines a service bit to allow peers to advertise that they support
|
||||
Bloom filters (such as used by SPV clients) explicitly. It also bumps the protocol
|
||||
version to allow peers to identify old nodes which allow Bloom filtering of the
|
||||
connection despite lacking the new service bit.
|
||||
|
||||
In this version, it is only enforced for peers that send protocol versions
|
||||
`>=170004`. For the next major version it is planned that this restriction will be
|
||||
removed. It is recommended to update SPV clients to check for the `NODE_BLOOM`
|
||||
service bit for nodes that report version 170004 or newer.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Brad Miller (2):
|
||||
Clean up
|
||||
Implement note locking for z_mergetoaddress
|
||||
|
||||
Charlie O'Keefe (1):
|
||||
Add filename and sha256 hash for windows rust package
|
||||
|
||||
Daira Hopwood (5):
|
||||
Squashed commit of the following:
|
||||
pyflakes cleanups to RPC tests after Overwinter PRs.
|
||||
Add support for Overwinter v3 transactions to mininode framework.
|
||||
Test that receiving an expired transaction does not increase the peer's ban score.
|
||||
Don't increase banscore if the transaction only just expired.
|
||||
|
||||
Daniel Kraft (1):
|
||||
trivial: use constants for db keys
|
||||
|
||||
Jack Grigg (47):
|
||||
Add environment variable for setting ./configure flags in zcutil/build.sh
|
||||
Add configure flags for enabling ASan/UBSan and TSan
|
||||
Split declaration and definition of SPROUT_BRANCH_ID constant
|
||||
Add link to Overwinter info page
|
||||
Notify users about auto-senescence via -alertnotify
|
||||
test: Move wait_and_assert_operationid_status debug output before asserts
|
||||
Don't require RELRO and BIND_NOW for Darwin
|
||||
Only set multicore flags if OpenMP is available
|
||||
Revert "remove -mt suffix from boost libraries built by depends"
|
||||
Use correct Boost::System linker flag for libzcash
|
||||
depends: Remove -mt suffix from Boost libraries
|
||||
snark: Remove -mt suffix from Boost library
|
||||
cleanup: Ensure code is pyflakes-clean for CI
|
||||
Ignore -mempooltxinputlimit once Overwinter activates
|
||||
depends: Explicitly download and vendor Rust dependencies
|
||||
Make Rust compilation mandatory
|
||||
Optimise serialization of MerklePath, avoiding ambiguity of std::vector<bool>
|
||||
Use uint64_t instead of size_t for serialized indices into tx.vjoinsplit
|
||||
Move explicit instantiation of IncrementalMerkleTree::emptyroots into header
|
||||
libsnark: Don't set -static on Darwin
|
||||
Set PLATFORM flag when compiling libsnark
|
||||
Add base case to CurrentEpoch()
|
||||
Cast ZCIncrementalMerkleTree::size() to uint64_t before passing to UniValue
|
||||
rpcwallet.cpp: Cast size_t to uint64_t before passing to UniValue
|
||||
wallet: Cast size_t to uint64_t before passing to UniValue
|
||||
Test calling z_mergetoaddress to merge notes while a note merge is ongoing
|
||||
depends: Fix regex bugs in cargo-checksum.sh
|
||||
Fix z_importviewingkey startHeight parameter
|
||||
Add RPC test of RewindBlockIndex
|
||||
When rewinding, remove insufficiently-validated blocks
|
||||
Adjust deprecation message to work in both UI and -alertnotify
|
||||
Refactor Zcash changes to CCoinsViewDB
|
||||
Update blockchain.py RPC test for Zcash
|
||||
Update CBlockTreeDB::EraseBatchSync for dbwrapper refactor
|
||||
Fix typo
|
||||
test: Check return value of snprintf
|
||||
test: Add missing Overwinter fields to mininode's CTransaction
|
||||
Add RPC test for -enforcenodebloom
|
||||
Fix NODE_BLOOM documentation errors
|
||||
Move bloom filter filtering logic back into command "switch"
|
||||
Update -enforcenodebloom RPC test with filterclear vs filteradd
|
||||
make-release.py: Versioning changes for 1.1.0-rc1.
|
||||
make-release.py: Updated manpages for 1.1.0-rc1.
|
||||
make-release.py: Updated release notes and changelog for 1.1.0-rc1.
|
||||
Set Overwinter protocol version to 170005
|
||||
make-release.py: Versioning changes for 1.1.0.
|
||||
make-release.py: Updated manpages for 1.1.0.
|
||||
|
||||
James O'Beirne (3):
|
||||
Refactor leveldbwrapper
|
||||
Minor bugfixes
|
||||
Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIterator
|
||||
|
||||
Jason Davies (1):
|
||||
Fix typo in comment: should link to issue #1359.
|
||||
|
||||
Jay Graber (1):
|
||||
Set ban score for expired txs to 0
|
||||
|
||||
Jeff Garzik (3):
|
||||
leveldbwrapper: Remove unused .Prev(), .SeekToLast() methods
|
||||
leveldbwrapper symbol rename: Remove "Level" from class, etc. names
|
||||
leveldbwrapper file rename to dbwrapper.*
|
||||
|
||||
Jonathan "Duke" Leto (7):
|
||||
Fix references to Bitcoin in RPC tests readme
|
||||
This library seems to not be used at all and all comments mentioning it are ghosts
|
||||
Update awkward wording about blocks as per @daira
|
||||
Regtest mining does have a founders reward, a single address t2FwcEhFdNXuFMv1tcYwaBJtYVtMj8b1uTg
|
||||
Fix outdated comment about starting balance of nodes
|
||||
Return JoinSplit and JoinSplitOutput indexes in z_listreceivedbyaddress
|
||||
Add tests for new JoinSplit keys returned by z_listreceivedbyaddress
|
||||
|
||||
Lauda (1):
|
||||
[Trivial] Grammar and typo correction
|
||||
|
||||
Matt Corallo (3):
|
||||
Add test for dbwrapper iterators with same-prefix keys.
|
||||
Add NODE_BLOOM service bit and bump protocol version
|
||||
Don't do mempool lookups for "mempool" command without a filter
|
||||
|
||||
Patick Strateman (3):
|
||||
Move bloom filter filtering logic outside of command "switch" (giant if/else).
|
||||
Add enforcenodebloom option.
|
||||
Document both the peerbloomfilters and enforcenodebloom options.
|
||||
|
||||
Pavel Janík (1):
|
||||
Do not shadow members in dbwrapper
|
||||
|
||||
Pieter Wuille (2):
|
||||
Encapsulate CLevelDB iterators cleanly
|
||||
Fix chainstate serialized_size computation
|
||||
|
||||
R E Broadley (1):
|
||||
Allow filterclear messages for enabling TX relay only.
|
||||
|
||||
Simon Liu (14):
|
||||
Code clean up. Remove use of X macro.
|
||||
Enable mempool logging in tx expiry QA test.
|
||||
Closes #3084. Log txid when removing expired txs from mempool.
|
||||
Add qa test for cache invalidation bug found in v1.0.0 to v1.0.3.
|
||||
Remove local function wait_and_assert_operationid_status which is now defined in the test framework for shared usage.
|
||||
Update boost to 1.66.0
|
||||
Part of #2966, extending Sprout tests to other epochs.
|
||||
Update boost package URL to match official download url on boost.org
|
||||
Closes #3110. Ensure user can see error message about absurdly high fees.
|
||||
Closes #2910. Add z_listunspent RPC call.
|
||||
Upgrade OpenSSL to 1.1.0h
|
||||
Use range based for loop
|
||||
Bump MIT Licence copyright header.
|
||||
Fix test to check for sanitized string from alertnotify.
|
||||
|
||||
Wladimir J. van der Laan (6):
|
||||
dbwrapper: Pass parent CDBWrapper into CDBBatch and CDBIterator
|
||||
dbwrapper: Move `HandleError` to `dbwrapper_private`
|
||||
chain: Add assertion in case of missing records in index db
|
||||
test: Add more thorough test for dbwrapper iterators
|
||||
test: Replace remaining sprintf with snprintf
|
||||
doc: update release-notes and bips.md for BIP111
|
||||
|
||||
kozyilmaz (1):
|
||||
Fix test/gtest bugs caught by latest macOS clang
|
||||
|
||||
rofl0r (2):
|
||||
fix build error due to usage of obsolete boost_system-mt
|
||||
remove -mt suffix from boost libraries built by depends
|
||||
|
||||
286
doc/release-notes/release-notes-1.1.1-rc1.md
Normal file
286
doc/release-notes/release-notes-1.1.1-rc1.md
Normal file
@@ -0,0 +1,286 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
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 (50):
|
||||
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.
|
||||
|
||||
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 (14):
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
290
doc/release-notes/release-notes-1.1.1-rc2.md
Normal file
290
doc/release-notes/release-notes-1.1.1-rc2.md
Normal file
@@ -0,0 +1,290 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
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 (52):
|
||||
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
|
||||
|
||||
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 (16):
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
336
doc/release-notes/release-notes-1.1.1.md
Normal file
336
doc/release-notes/release-notes-1.1.1.md
Normal file
@@ -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.
|
||||
|
||||
96
doc/release-notes/release-notes-1.1.2-rc1.md
Normal file
96
doc/release-notes/release-notes-1.1.2-rc1.md
Normal file
@@ -0,0 +1,96 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
`-disabledeprecation` removal
|
||||
-----------------------------
|
||||
|
||||
In release 1.0.9 we implemented automatic deprecation of `zcashd` software
|
||||
versions made by the Zcash Company. The configuration option
|
||||
`-disabledeprecation` was added as a way for users to specifically choose to
|
||||
stay on a particular software version. However, it incorrectly implied that
|
||||
deprecated releases would still be supported.
|
||||
|
||||
This release removes the `-disabledeprecation` option, so that `zcashd` software
|
||||
versions made by the Zcash Company will always shut down in accordance with the
|
||||
defined deprecation policy (currently 16 weeks after release). Users who wish to
|
||||
use a different policy must now specifically choose to either:
|
||||
|
||||
- edit and compile the source code themselves, or
|
||||
- obtain a software version from someone else who has done so (and obtain
|
||||
support from them).
|
||||
|
||||
Either way, it is much clearer that the software they are running is not
|
||||
supported by the Zcash Company.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Ariel Gabizon (1):
|
||||
Improve/Fix variable names
|
||||
|
||||
Daira Hopwood (1):
|
||||
Update code_of_conduct.md
|
||||
|
||||
Eirik Ogilvie-Wigley (5):
|
||||
Add tests for sapling anchors
|
||||
Add hashFinalSaplingRoot to getblocktemplate
|
||||
Fix parsing parameters in getnetworksolps
|
||||
Add BOOST_TEST_CONTEXT to distinguish sprout v. sapling
|
||||
Rename typename
|
||||
|
||||
Jack Grigg (16):
|
||||
Replace boost::array with std::array
|
||||
Add MacOS support to no-dot-so test
|
||||
Whitespace cleanup
|
||||
chainparams: Add Sapling Bech32 HRPs
|
||||
ConvertBits() - convert from one power-of-2 number base to another.
|
||||
Fix bech32::Encode() error handling
|
||||
Implement encoding and decoding of Sapling keys and addresses
|
||||
Add Mach-O 64-bit detection to security-check.py
|
||||
Fix cached_witnesses_empty_chain test failure on MacOS
|
||||
Skip ELF-only sec-hard checks on non-ELF binaries
|
||||
Remove config option -disabledeprecation
|
||||
Add release notes for -disabledeprecation removal
|
||||
Add comment about size calculations for converted serialized keys
|
||||
Add examples of ConvertBits transformation
|
||||
Use CChainParams::Bech32HRP() in zs_address_test
|
||||
Add hashFinalSaplingRoot to getblockheader and getblock output
|
||||
|
||||
Jay Graber (8):
|
||||
Add Sapling key classes to wallet, with new librustzcash APIs
|
||||
Change librustzcash dependency hash to work for new Sapling classes
|
||||
Update librustzcash dependency, address comments
|
||||
Minimal sapling key test
|
||||
Fix default_address()
|
||||
s/SaplingInViewingKey/SaplingIncomingViewingKey
|
||||
Make diversifier functions return option
|
||||
Add json test vectors for Sapling key components.
|
||||
|
||||
Jonathan "Duke" Leto (1):
|
||||
Clarify help that signmessage only works on taddrs
|
||||
|
||||
Larry Ruane (1):
|
||||
(rpc-test) accurately account for fee without rounding error
|
||||
|
||||
Matthew King (2):
|
||||
Use portable #! in python scripts (/usr/bin/env)
|
||||
Favour python over python2 as per PR #7723
|
||||
|
||||
Paige Peterson (1):
|
||||
include note about volunteers in CoC
|
||||
|
||||
Pieter Wuille (2):
|
||||
Generalize ConvertBits
|
||||
Simplify Base32 and Base64 conversions
|
||||
|
||||
Simon Liu (9):
|
||||
Part of #3277. Add comment about deprecated txdb prefixes.
|
||||
Remove now redundant Rust call to librustzcash_xor.
|
||||
Add SaplingNote class and test_sapling_note unit test.
|
||||
Refactor and replace factory method random() with constructor.
|
||||
Return optional for Sapling commitments and nullifiers.
|
||||
Closes #3328. Send alert to put non-Overwinter nodes into safe mode.
|
||||
Fix pyflakes error in test zkey_import_export.
|
||||
make-release.py: Versioning changes for 1.1.2-rc1.
|
||||
make-release.py: Updated manpages for 1.1.2-rc1.
|
||||
|
||||
99
doc/release-notes/release-notes-1.1.2.md
Normal file
99
doc/release-notes/release-notes-1.1.2.md
Normal file
@@ -0,0 +1,99 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
`-disabledeprecation` removal
|
||||
-----------------------------
|
||||
|
||||
In release 1.0.9 we implemented automatic deprecation of `zcashd` software
|
||||
versions made by the Zcash Company. The configuration option
|
||||
`-disabledeprecation` was added as a way for users to specifically choose to
|
||||
stay on a particular software version. However, it incorrectly implied that
|
||||
deprecated releases would still be supported.
|
||||
|
||||
This release removes the `-disabledeprecation` option, so that `zcashd` software
|
||||
versions made by the Zcash Company will always shut down in accordance with the
|
||||
defined deprecation policy (currently 16 weeks after release). Users who wish to
|
||||
use a different policy must now specifically choose to either:
|
||||
|
||||
- edit and compile the source code themselves, or
|
||||
- obtain a software version from someone else who has done so (and obtain
|
||||
support from them).
|
||||
|
||||
Either way, it is much clearer that the software they are running is not
|
||||
supported by the Zcash Company.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Ariel Gabizon (1):
|
||||
Improve/Fix variable names
|
||||
|
||||
Daira Hopwood (1):
|
||||
Update code_of_conduct.md
|
||||
|
||||
Eirik Ogilvie-Wigley (5):
|
||||
Add tests for sapling anchors
|
||||
Add hashFinalSaplingRoot to getblocktemplate
|
||||
Fix parsing parameters in getnetworksolps
|
||||
Add BOOST_TEST_CONTEXT to distinguish sprout v. sapling
|
||||
Rename typename
|
||||
|
||||
Jack Grigg (16):
|
||||
Replace boost::array with std::array
|
||||
Add MacOS support to no-dot-so test
|
||||
Whitespace cleanup
|
||||
chainparams: Add Sapling Bech32 HRPs
|
||||
ConvertBits() - convert from one power-of-2 number base to another.
|
||||
Fix bech32::Encode() error handling
|
||||
Implement encoding and decoding of Sapling keys and addresses
|
||||
Add Mach-O 64-bit detection to security-check.py
|
||||
Fix cached_witnesses_empty_chain test failure on MacOS
|
||||
Skip ELF-only sec-hard checks on non-ELF binaries
|
||||
Remove config option -disabledeprecation
|
||||
Add release notes for -disabledeprecation removal
|
||||
Add comment about size calculations for converted serialized keys
|
||||
Add examples of ConvertBits transformation
|
||||
Use CChainParams::Bech32HRP() in zs_address_test
|
||||
Add hashFinalSaplingRoot to getblockheader and getblock output
|
||||
|
||||
Jay Graber (8):
|
||||
Add Sapling key classes to wallet, with new librustzcash APIs
|
||||
Change librustzcash dependency hash to work for new Sapling classes
|
||||
Update librustzcash dependency, address comments
|
||||
Minimal sapling key test
|
||||
Fix default_address()
|
||||
s/SaplingInViewingKey/SaplingIncomingViewingKey
|
||||
Make diversifier functions return option
|
||||
Add json test vectors for Sapling key components.
|
||||
|
||||
Jonathan "Duke" Leto (1):
|
||||
Clarify help that signmessage only works on taddrs
|
||||
|
||||
Larry Ruane (1):
|
||||
(rpc-test) accurately account for fee without rounding error
|
||||
|
||||
Matthew King (2):
|
||||
Use portable #! in python scripts (/usr/bin/env)
|
||||
Favour python over python2 as per PR #7723
|
||||
|
||||
Paige Peterson (1):
|
||||
include note about volunteers in CoC
|
||||
|
||||
Pieter Wuille (2):
|
||||
Generalize ConvertBits
|
||||
Simplify Base32 and Base64 conversions
|
||||
|
||||
Simon Liu (12):
|
||||
Part of #3277. Add comment about deprecated txdb prefixes.
|
||||
Remove now redundant Rust call to librustzcash_xor.
|
||||
Add SaplingNote class and test_sapling_note unit test.
|
||||
Refactor and replace factory method random() with constructor.
|
||||
Return optional for Sapling commitments and nullifiers.
|
||||
Closes #3328. Send alert to put non-Overwinter nodes into safe mode.
|
||||
Fix pyflakes error in test zkey_import_export.
|
||||
make-release.py: Versioning changes for 1.1.2-rc1.
|
||||
make-release.py: Updated manpages for 1.1.2-rc1.
|
||||
make-release.py: Updated release notes and changelog for 1.1.2-rc1.
|
||||
make-release.py: Versioning changes for 1.1.2.
|
||||
make-release.py: Updated manpages for 1.1.2.
|
||||
|
||||
176
doc/release-notes/release-notes-2.0.0-rc1.md
Normal file
176
doc/release-notes/release-notes-2.0.0-rc1.md
Normal file
@@ -0,0 +1,176 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Alex Morcos (1):
|
||||
Output line to debug.log when IsInitialBlockDownload latches to false
|
||||
|
||||
Ariel Gabizon (1):
|
||||
Extend Joinsplit tests to Groth
|
||||
|
||||
Charlie OKeefe (1):
|
||||
Remove extra slash from lockfile path
|
||||
|
||||
Cory Fields (1):
|
||||
crypter: shuffle Makefile so that crypto can be used by the wallet
|
||||
|
||||
Daira Hopwood (1):
|
||||
Support testnet rollback.
|
||||
|
||||
Daniel Cousens (2):
|
||||
move rpc* to rpc/
|
||||
rpc: update inline comments to refer to new file paths
|
||||
|
||||
Dimitris Apostolou (1):
|
||||
Fix typos
|
||||
|
||||
Duke Leto (3):
|
||||
Fix absurd fee bug reported in #3281, with tests
|
||||
Update comment as per @arielgabizon
|
||||
Improve error message
|
||||
|
||||
Eirik Ogilvie-Wigley (24):
|
||||
Add more options when asserting in RPC tests
|
||||
Add change indicator for notes
|
||||
Fix test broken by change indicator
|
||||
Rename note data to include sprout
|
||||
Remove redundant curly braces
|
||||
Consolidate for loops
|
||||
Add out point for sapling note data
|
||||
Add sapling note data and map
|
||||
Decrement sapling note witnesses
|
||||
Clear sapling witness cache
|
||||
Extract method for copying previous witnesses
|
||||
Extract methods for incrementing witnesses
|
||||
Extract method for incrementing witness heights
|
||||
Pass sapling merkle tree when incrementing witnesses
|
||||
Increment sapling note witnesses
|
||||
Rename sprout specific methods
|
||||
Remove extra indentation
|
||||
Add getter and setter for sapling note data and update tests
|
||||
Add parameter for version in GetValidReceive
|
||||
Rename Merkle Trees to include sprout or sapling
|
||||
Rename Witnesses to include sprout or sapling
|
||||
Rename test objects to include sprout or sapling
|
||||
Only include the change field if we have a spending key
|
||||
Fix assertion and comment
|
||||
|
||||
Gregory Maxwell (2):
|
||||
IBD check uses minimumchain work instead of checkpoints.
|
||||
IsInitialBlockDownload no longer uses header-only timestamps.
|
||||
|
||||
Jack Grigg (38):
|
||||
Add some more checkpoints, up to the 1.1.0 release
|
||||
Add Sapling support to z_validateaddress
|
||||
Update payment-api.md with type field of z_validateaddress
|
||||
Alter SaplingNote::nullifier() to take a SaplingFullViewingKey
|
||||
Expose note position in IncrementalMerkleWitness
|
||||
TransactionBuilder with support for creating Sapling-only transactions
|
||||
TransactionBuilder: Check that all anchors in a transaction are identical
|
||||
Formatting
|
||||
test: Move ECC_Start() call into src/gtest/main.cpp
|
||||
TransactionBuilder: Add support for transparent inputs and outputs
|
||||
TransactionBuilder: Add change output to transaction
|
||||
TransactionBuilder: Make fee configurable
|
||||
Rename xsk to expsk
|
||||
Implement CKeyStore::GetSaplingPaymentAddresses()
|
||||
Raise the 90-character limit on Bech32 encodings
|
||||
Add Sapling support to z_getnewaddress and z_listaddresses
|
||||
Fix block hash for checkpoint at height 270000
|
||||
Formatting
|
||||
test: Deduplicate logic in wallet_addresses RPC test
|
||||
test: Another assert in wallet_zkeys_tests.store_and_load_sapling_zkeys
|
||||
test: Fix permissions of wallet_addresses
|
||||
test: Update rpc_wallet_z_importexport to account for Sapling changes
|
||||
Rename DecryptSpendingKey -> DecryptSproutSpendingKey
|
||||
Rename CryptedSpendingKeyMap -> CryptedSproutSpendingKeyMap
|
||||
Add Sapling decryption check to CCryptoKeyStore::Unlock()
|
||||
Check for unencrypted Sapling keys in CCryptoKeyStore::SetCrypted()
|
||||
Remove outdated comment
|
||||
Add CWallet::AddCryptedSaplingSpendingKey() hook
|
||||
Pass SaplingPaymentAddress to store through the CKeyStore
|
||||
Rename SpendingKeyMap -> SproutSpendingKeyMap
|
||||
Rename Serialized*Size -> SerializedSprout*Size
|
||||
Rename *ViewingKey* -> *SproutViewingKey*
|
||||
Formatting nits
|
||||
Rename *SpendingKey -> *SproutSpendingKey
|
||||
chainparams: Add BIP 44 coin type (as registered in SLIP 44)
|
||||
Upgrade Rust to 1.28.0 stable
|
||||
Adjust Makefile so that common can be used by the wallet
|
||||
Move RewindBlockIndex log message inside rewindLength check
|
||||
|
||||
Jay Graber (13):
|
||||
Add Sapling Add/Have/Get to keystore
|
||||
Add SaplingIncomingViewingKeys map, SaplingFullViewingKey methods
|
||||
Add StoreAndRetrieveSaplingSpendingKey test
|
||||
Change default_address to return SaplingPaymentAddr and not boost::optional
|
||||
Add crypted keystore sapling add key
|
||||
Discard sk if ivk == 0
|
||||
Add Sapling support to z_exportkey
|
||||
Add Sapling support to z_importkey
|
||||
Add Sapling to rpc_wallet_z_importexport test
|
||||
Refactor into visitors and throw errors for invalid key or address.
|
||||
Take expiryheight as param to createrawtransaction
|
||||
Add Sapling have/get sk crypter overrides
|
||||
Add Sapling keys to CCryptoKeyStore::EncryptKeys
|
||||
|
||||
Jonas Schnelli (2):
|
||||
[RPC, Wallet] Move RPC dispatch table registration to wallet/ code
|
||||
Fix test_bitcoin circular dependency issue
|
||||
|
||||
Kaz Wesley (1):
|
||||
IsInitialBlockDownload: usually avoid locking
|
||||
|
||||
Larry Ruane (4):
|
||||
Disable libsnark debug logging in Boost tests
|
||||
add extra help how to enable experimental features
|
||||
Add call to sync_all() after (z_sendmany, wait)
|
||||
don't ban peers when loading pre-overwinter blocks
|
||||
|
||||
Pejvan (2):
|
||||
Update README.md
|
||||
Update README.md
|
||||
|
||||
Richard Littauer (1):
|
||||
docs(LICENSE): update license year to 2018
|
||||
|
||||
Sean Bowe (18):
|
||||
Update librustzcash
|
||||
Implementation of Sapling in-band secret distribution.
|
||||
Swap types in OutputDescription to use new NoteEncryption interfaces.
|
||||
Prevent nonce reuse in Sapling note encryption API.
|
||||
Add get_esk() function to Sapling note encryption.
|
||||
Minor edits
|
||||
Decryption and tests of note/outgoing encryption.
|
||||
Update librustzcash and sapling-crypto.
|
||||
Fix bug in return value.
|
||||
Ensure sum of valueBalance and all vpub_new's does not exceed MAX_MONEY inside of CheckTransactionWithoutProofVerification.
|
||||
Move `extern params` to beginning of `test_checktransaction`.
|
||||
Relocate ECC_Start() to avoid test failures.
|
||||
Don't call ECC_Start/ECC_Stop outside the test harness.
|
||||
Make changes to gtest ECC behavior suggested by @str4d.
|
||||
Check the hash of the (Sapling+) zk-SNARK parameters during initialization.
|
||||
Switch to use the official Sapling parameters.
|
||||
make-release.py: Versioning changes for 2.0.0-rc1.
|
||||
make-release.py: Updated manpages for 2.0.0-rc1.
|
||||
|
||||
Simon Liu (9):
|
||||
Add encryption of SaplingNotePlaintext and SaplingOutgoingPlaintext classes.
|
||||
Update and fix per review comments, the test for absurd fee.
|
||||
Minor update to address nits in review.
|
||||
Implement Sapling note decryption using full viewing key.
|
||||
Rename AttemptSaplingEncDecryptionUsingFullViewingKey and use function overloading.
|
||||
Only check for a valid Sapling anchor after Sapling activation.
|
||||
Clean up for rebase: rename mapNoteData to mapSproutNoteData.
|
||||
Clean up help messages for RPC createrawtransaction.
|
||||
Add tests for expiryheight parameter of RPC createrawtransaction.
|
||||
|
||||
Wladimir J. van der Laan (2):
|
||||
Make max tip age an option instead of chainparam
|
||||
rpc: Register calls where they are defined
|
||||
|
||||
kozyilmaz (1):
|
||||
Add -Wl,-pie linker option for macOS and use it instead of -pie
|
||||
|
||||
mdr0id (1):
|
||||
Fix minor references to auto-senescence in code
|
||||
|
||||
199
doc/release-notes/release-notes-2.0.0.md
Normal file
199
doc/release-notes/release-notes-2.0.0.md
Normal file
@@ -0,0 +1,199 @@
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Sapling network upgrade
|
||||
-----------------------
|
||||
|
||||
The activation height for the Sapling network upgrade on mainnet is included
|
||||
in this release. Sapling will activate on mainnet at height 419200, which is
|
||||
expected to be mined on the 28th of October 2018. Please upgrade to this release,
|
||||
or any subsequent release, in order to follow the Sapling network upgrade.
|
||||
|
||||
The testnet is being rolled back in this release to Overwinter. Sapling will
|
||||
activate on testnet at height 280000. Please update your testnet nodes before
|
||||
then.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Alex Morcos (1):
|
||||
Output line to debug.log when IsInitialBlockDownload latches to false
|
||||
|
||||
Ariel Gabizon (1):
|
||||
Extend Joinsplit tests to Groth
|
||||
|
||||
Charlie OKeefe (1):
|
||||
Remove extra slash from lockfile path
|
||||
|
||||
Cory Fields (1):
|
||||
crypter: shuffle Makefile so that crypto can be used by the wallet
|
||||
|
||||
Daira Hopwood (1):
|
||||
Support testnet rollback.
|
||||
|
||||
Daniel Cousens (2):
|
||||
move rpc* to rpc/
|
||||
rpc: update inline comments to refer to new file paths
|
||||
|
||||
Dimitris Apostolou (1):
|
||||
Fix typos
|
||||
|
||||
Duke Leto (3):
|
||||
Fix absurd fee bug reported in #3281, with tests
|
||||
Update comment as per @arielgabizon
|
||||
Improve error message
|
||||
|
||||
Eirik Ogilvie-Wigley (24):
|
||||
Add more options when asserting in RPC tests
|
||||
Add change indicator for notes
|
||||
Fix test broken by change indicator
|
||||
Rename note data to include sprout
|
||||
Remove redundant curly braces
|
||||
Consolidate for loops
|
||||
Add out point for sapling note data
|
||||
Add sapling note data and map
|
||||
Decrement sapling note witnesses
|
||||
Clear sapling witness cache
|
||||
Extract method for copying previous witnesses
|
||||
Extract methods for incrementing witnesses
|
||||
Extract method for incrementing witness heights
|
||||
Pass sapling merkle tree when incrementing witnesses
|
||||
Increment sapling note witnesses
|
||||
Rename sprout specific methods
|
||||
Remove extra indentation
|
||||
Add getter and setter for sapling note data and update tests
|
||||
Add parameter for version in GetValidReceive
|
||||
Rename Merkle Trees to include sprout or sapling
|
||||
Rename Witnesses to include sprout or sapling
|
||||
Rename test objects to include sprout or sapling
|
||||
Only include the change field if we have a spending key
|
||||
Fix assertion and comment
|
||||
|
||||
Gregory Maxwell (2):
|
||||
IBD check uses minimumchain work instead of checkpoints.
|
||||
IsInitialBlockDownload no longer uses header-only timestamps.
|
||||
|
||||
Jack Grigg (41):
|
||||
Add some more checkpoints, up to the 1.1.0 release
|
||||
Add Sapling support to z_validateaddress
|
||||
Update payment-api.md with type field of z_validateaddress
|
||||
Alter SaplingNote::nullifier() to take a SaplingFullViewingKey
|
||||
Expose note position in IncrementalMerkleWitness
|
||||
TransactionBuilder with support for creating Sapling-only transactions
|
||||
TransactionBuilder: Check that all anchors in a transaction are identical
|
||||
Formatting
|
||||
test: Move ECC_Start() call into src/gtest/main.cpp
|
||||
TransactionBuilder: Add support for transparent inputs and outputs
|
||||
TransactionBuilder: Add change output to transaction
|
||||
TransactionBuilder: Make fee configurable
|
||||
Rename xsk to expsk
|
||||
Implement CKeyStore::GetSaplingPaymentAddresses()
|
||||
Raise the 90-character limit on Bech32 encodings
|
||||
Add Sapling support to z_getnewaddress and z_listaddresses
|
||||
Fix block hash for checkpoint at height 270000
|
||||
Formatting
|
||||
test: Deduplicate logic in wallet_addresses RPC test
|
||||
test: Another assert in wallet_zkeys_tests.store_and_load_sapling_zkeys
|
||||
test: Fix permissions of wallet_addresses
|
||||
test: Update rpc_wallet_z_importexport to account for Sapling changes
|
||||
Rename DecryptSpendingKey -> DecryptSproutSpendingKey
|
||||
Rename CryptedSpendingKeyMap -> CryptedSproutSpendingKeyMap
|
||||
Add Sapling decryption check to CCryptoKeyStore::Unlock()
|
||||
Check for unencrypted Sapling keys in CCryptoKeyStore::SetCrypted()
|
||||
Remove outdated comment
|
||||
Add CWallet::AddCryptedSaplingSpendingKey() hook
|
||||
Pass SaplingPaymentAddress to store through the CKeyStore
|
||||
Rename SpendingKeyMap -> SproutSpendingKeyMap
|
||||
Rename Serialized*Size -> SerializedSprout*Size
|
||||
Rename *ViewingKey* -> *SproutViewingKey*
|
||||
Formatting nits
|
||||
Rename *SpendingKey -> *SproutSpendingKey
|
||||
chainparams: Add BIP 44 coin type (as registered in SLIP 44)
|
||||
Upgrade Rust to 1.28.0 stable
|
||||
Adjust Makefile so that common can be used by the wallet
|
||||
Move RewindBlockIndex log message inside rewindLength check
|
||||
test: gtest for Sapling encoding and decoding
|
||||
test: Use regtest in key_tests/zs_address_test
|
||||
Disable Sapling features on mainnet
|
||||
|
||||
Jay Graber (13):
|
||||
Add Sapling Add/Have/Get to keystore
|
||||
Add SaplingIncomingViewingKeys map, SaplingFullViewingKey methods
|
||||
Add StoreAndRetrieveSaplingSpendingKey test
|
||||
Change default_address to return SaplingPaymentAddr and not boost::optional
|
||||
Add crypted keystore sapling add key
|
||||
Discard sk if ivk == 0
|
||||
Add Sapling support to z_exportkey
|
||||
Add Sapling support to z_importkey
|
||||
Add Sapling to rpc_wallet_z_importexport test
|
||||
Refactor into visitors and throw errors for invalid key or address.
|
||||
Take expiryheight as param to createrawtransaction
|
||||
Add Sapling have/get sk crypter overrides
|
||||
Add Sapling keys to CCryptoKeyStore::EncryptKeys
|
||||
|
||||
Jonas Schnelli (2):
|
||||
[RPC, Wallet] Move RPC dispatch table registration to wallet/ code
|
||||
Fix test_bitcoin circular dependency issue
|
||||
|
||||
Kaz Wesley (1):
|
||||
IsInitialBlockDownload: usually avoid locking
|
||||
|
||||
Larry Ruane (4):
|
||||
Disable libsnark debug logging in Boost tests
|
||||
add extra help how to enable experimental features
|
||||
Add call to sync_all() after (z_sendmany, wait)
|
||||
don't ban peers when loading pre-overwinter blocks
|
||||
|
||||
Pejvan (2):
|
||||
Update README.md
|
||||
Update README.md
|
||||
|
||||
Richard Littauer (1):
|
||||
docs(LICENSE): update license year to 2018
|
||||
|
||||
Sean Bowe (21):
|
||||
Update librustzcash
|
||||
Implementation of Sapling in-band secret distribution.
|
||||
Swap types in OutputDescription to use new NoteEncryption interfaces.
|
||||
Prevent nonce reuse in Sapling note encryption API.
|
||||
Add get_esk() function to Sapling note encryption.
|
||||
Minor edits
|
||||
Decryption and tests of note/outgoing encryption.
|
||||
Update librustzcash and sapling-crypto.
|
||||
Fix bug in return value.
|
||||
Ensure sum of valueBalance and all vpub_new's does not exceed MAX_MONEY inside of CheckTransactionWithoutProofVerification.
|
||||
Move `extern params` to beginning of `test_checktransaction`.
|
||||
Relocate ECC_Start() to avoid test failures.
|
||||
Don't call ECC_Start/ECC_Stop outside the test harness.
|
||||
Make changes to gtest ECC behavior suggested by @str4d.
|
||||
Check the hash of the (Sapling+) zk-SNARK parameters during initialization.
|
||||
Switch to use the official Sapling parameters.
|
||||
make-release.py: Versioning changes for 2.0.0-rc1.
|
||||
make-release.py: Updated manpages for 2.0.0-rc1.
|
||||
make-release.py: Updated release notes and changelog for 2.0.0-rc1.
|
||||
Always write the empty root down as the best root, since we may roll back.
|
||||
Sapling mainnet activation height
|
||||
|
||||
Simon Liu (11):
|
||||
Add encryption of SaplingNotePlaintext and SaplingOutgoingPlaintext classes.
|
||||
Update and fix per review comments, the test for absurd fee.
|
||||
Minor update to address nits in review.
|
||||
Implement Sapling note decryption using full viewing key.
|
||||
Rename AttemptSaplingEncDecryptionUsingFullViewingKey and use function overloading.
|
||||
Only check for a valid Sapling anchor after Sapling activation.
|
||||
Clean up for rebase: rename mapNoteData to mapSproutNoteData.
|
||||
Clean up help messages for RPC createrawtransaction.
|
||||
Add tests for expiryheight parameter of RPC createrawtransaction.
|
||||
make-release.py: Versioning changes for 2.0.0.
|
||||
make-release.py: Updated manpages for 2.0.0.
|
||||
|
||||
Wladimir J. van der Laan (2):
|
||||
Make max tip age an option instead of chainparam
|
||||
rpc: Register calls where they are defined
|
||||
|
||||
kozyilmaz (1):
|
||||
Add -Wl,-pie linker option for macOS and use it instead of -pie
|
||||
|
||||
mdr0id (1):
|
||||
Fix minor references to auto-senescence in code
|
||||
|
||||
@@ -24,6 +24,8 @@ Check that there are no surprising performance regressions:
|
||||
|
||||
Ensure that new performance metrics appear on that site.
|
||||
|
||||
Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc.
|
||||
|
||||
### Protocol Safety Checks:
|
||||
|
||||
If this release changes the behavior of the protocol or fixes a serious
|
||||
|
||||
@@ -6,7 +6,7 @@ and tests weren't explicitly disabled.
|
||||
|
||||
There are two scripts for running tests:
|
||||
|
||||
* ``qa/zcash/full-test-suite.sh``, to run the main test suite
|
||||
* ``qa/zcash/full_test_suite.py``, to run the main test suite
|
||||
* ``qa/pull-tester/rpc-tests.sh``, to run the RPC tests.
|
||||
|
||||
The main test suite uses two different testing frameworks. Tests using the Boost
|
||||
|
||||
Reference in New Issue
Block a user