zcashd/doc/release-notes/release-notes-1.0.15-rc1.md

6.8 KiB

Notable changes

UTXO and note merging

In order to simplify the process of combining many small UTXOs and notes into a few larger ones, a new RPC method z_mergetoaddress has been added. It merges funds from t-addresses, z-addresses, or both, and sends them to a single t-address or z-address.

Unlike most other RPC methods, z_mergetoaddress operates over a particular quantity of UTXOs and notes, instead of a particular amount of ZEC. By default, it will merge 50 UTXOs and 10 notes at a time; these limits can be adjusted with the parameters transparent_limit and shielded_limit.

z_mergetoaddress also returns the number of UTXOs and notes remaining in the given addresses, which can be used to automate the merging process (for example, merging until the number of UTXOs falls below some value).

UTXO memory accounting

The default -dbcache has been changed in this release to 450MiB. Users can set -dbcache to a higher value (e.g. to keep the UTXO set more fully cached in memory). Users on low-memory systems (such as systems with 1GB or less) should consider specifying a lower value for this parameter.

Additional information relating to running on low-memory systems can be found here: reducing-memory-usage.md.

Changelog

21E14 (1): Remove obsolete reference to CValidationState from UpdateCoins.

Alex Morcos (1): Implement helper class for CTxMemPoolEntry constructor

Ariel (2): add blake2b writer update SignatureHash according to Overwinter spec

Ashley Holman (1): TxMemPool: Change mapTx to a boost::multi_index_container

Cory Fields (2): chainparams: move CCheckpointData into chainparams.h chainparams: don't use std namespace

Daniel Kraft (1): Clean up chainparams some more.

Jack Grigg (38): Scope the ECDSA constant sizes to CPubKey / CKey classes Enable Bash completion for -exportdir Check chainValueZat when checking value pool monitoring Add missing namespace for boost::get Add viewing key prefix to regtest parameters zkey_import_export: Synchronize mempools before mining Use JoinSplitTestingSetup for Boost sighash tests Network upgrade activation mechanism Allow changing network upgrade parameters on regtest Test network upgrade logic Adjust rewind logic to use the network upgrade mechanism Add Overwinter to upgrade list Add method for fetching the next activation height after a given block height Use a boost::optional for nCachedBranchId Change UI/log status message for block rewinding Update quote from ZIP 200 Update SignatureHash tests for transaction format changes Implement roll-back limit for reorganisation Add rollback limit to block index rewinding Remove mempool transactions which commit to an unmineable branch ID Remove P2WPKH and P2WSH from signing logic Add consensus branch ID parameter to SignatureHash, remove SigVersion parameter Cleanup: Wrap function arguments Regenerate SignatureHash tests Make number of inputs configurable in validatelargetx test Use v3 transactions with caching for validatelargetx benchmark Extend CWallet::GetFilteredNotes to enable filtering on a set of addresses Add branch IDs for current and next block to getblockchaininfo Check Equihash solution when loading block index Implement z_mergetoaddress for combining UTXOs and notes Gate z_mergetoaddress as an experimental feature Add z_mergetoaddress to release notes Check upgrade status in wallet_overwintertx RPC test Document that consensus.chaintip != consensus.nextblock just before an upgrade Regenerate sighash tests wallet_mergetoaddress: Add additional syncs to prevent race conditions make-release.py: Versioning changes for 1.0.15-rc1. make-release.py: Updated manpages for 1.0.15-rc1.

Jay Graber (8): Add getdeprecationinfo rpc call to return current version and deprecation block height. Make applicable only on mainnet Add upgrades field to RPC call getblockchaininfo Implement transaction expiry for Overwinter Add -txexpirydelta cli option Add mempool_tx_expiry.py test Add expiry to z_mergetoaddress Change rpc_tests to 21

Jonas Nick (1): Reduce unnecessary hashing in signrawtransaction

Jorge Timón (3): Chainparams: Introduce CreateGenesisBlock() static function Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams Mempool: Use Consensus::CheckTxInputs direclty over main::CheckInputs

Marius Kjærstad (1): Changed http:// to https:// on some links

Mark Friedenbach (1): Explicitly set tx.nVersion for the genesis block and mining tests

Matt Corallo (5): Add failing test checking timelocked-txn removal during reorg Fix removal of time-locked transactions during reorg Fix comment in removeForReorg Make indentation in ActivateBestChainStep readable removeForReorg calls once-per-disconnect-> once-per-reorg

Maxwell Gubler (1): Fix syntax examples for z_importwallet and export

Nicolas DORIER (1): Unit test for sighash caching

Pavel Vasin (1): remove unused NOBLKS_VERSION_{START,END} constants

Pieter Wuille (8): Add rewind logic to deal with post-fork software updates Support -checkmempool=N, which runs checks on average once every N transactions Report non-mandatory script failures correctly Refactor script validation to observe amounts BIP143: Verification logic BIP143: Signing logic Precompute sighashes Rename to PrecomputedTransactionData

Simon Liu (11): Fixes #2793. Backport commit f33afd3 to increase dbcache default. Add documentation about dbcache. Add note about dbcache to 1.0.15 release notes. Remove redundant service flag NODE_GETUTXO meant for Bitcoin XT. Implementation of Overwinter transaction format ZIP 202. Add test to check malformed v1 transaction against Overwinter tx parser Closes #2964. z_sendmany once again makes v1 tx for taddr to taddr. Closes #2954 and #2959. Fixes Overwinter issues in sighash_tests. Add field nProtocolVersion to struct NetworkUpgrade. Overwinter peer management and network handshaking. Add python qa test overwinter_peer_management.

Suhas Daftuar (3): Track coinbase spends in CTxMemPoolEntry Don't call removeForReorg if DisconnectTip fails Fix removeForReorg to use MedianTimePast

jc (1): read hashReserved from disk block index

syd (2): Fix libsnark dependency build. Remove OSX and Windows files from Makefile + share directory.