291 lines
12 KiB
Markdown
291 lines
12 KiB
Markdown
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.
|
|
|