Commit Graph
7456 Commits
Author SHA1 Message Date
Jack Grigg 1d6f7acf4d make-release.py: Versioning changes for 1.0.15. 2018-02-28 16:44:07 +00:00
Jack Grigg 138cf77004 Overwinter release notes and testnet activation height
Closes #2957.
2018-02-28 13:19:36 +00:00
Jack GriggandBrad Miller 704b76358d Use block hash comparison for consistency check when loading block index
The Equihash check caused block index loading to take around 38x longer.
However, we don't need to check it directly, as the only paths to writing a
block header to disk already go through a proof-of-work check (e.g. receiving a
block over the network). By forcing the block header inside the CBlockIndex to
be re-serialized, we retain the benefits of the consistency check without the
overhead at startup.

Co-authored-by: Brad Miller <brad@z.cash>
2018-02-27 00:47:56 +00:00
Jack Grigg 1dd95be4a9 make-release.py: Versioning changes for 1.0.15-rc1. 2018-02-24 04:08:36 +00:00
Homu a418756ef4 Auto merge of #2874 - arcalinea:tx_block_expiry, r=arcalinea
Transaction expiry height

Implements ZIP 203.

- Only applies after Overwinter blockheight.

Closes #754.
2018-02-23 18:37:48 -08:00
Jay Graber 59da58cdb0 Change rpc_tests to 21 2018-02-23 18:20:30 -08:00
Jay Graber 7b92f27e18 Add expiry to z_mergetoaddress 2018-02-23 15:15:46 -08:00
Simon 72b2192950 Overwinter peer management and network handshaking.
Implements ZIP 201.
2018-02-23 14:21:27 -08:00
Simon 2423a40c08 Add field nProtocolVersion to struct NetworkUpgrade. 2018-02-23 14:05:13 -08:00
Jay Graber 9c12b8e903 Add -txexpirydelta cli option 2018-02-23 00:12:10 -08:00
Jay Graber 9bb37bf0d5 Implement transaction expiry for Overwinter 2018-02-23 00:12:03 -08:00
Homu c5904fb2a4 Auto merge of #2797 - str4d:2493-active-merging, r=bitcartel
Implement z_mergetoaddress for combining UTXOs and notes

Closes #2493.
2018-02-22 20:59:51 -08:00
Homu f472edd0e2 Auto merge of #2960 - bitcartel:2959_overwinter_fix_sighash_test, r=str4d
Closes #2954 and #2959.  Fixes Overwinter issues in sighash_tests.
2018-02-22 17:47:14 -08:00
Jack Grigg 713b366231 Regenerate sighash tests 2018-02-23 01:40:08 +00:00
Simon 07f94352ad Closes #2954 and #2959. Fixes Overwinter issues in sighash_tests. 2018-02-23 01:40:05 +00:00
Simon e6cd2a8356 Closes #2964. z_sendmany once again makes v1 tx for taddr to taddr.
In accordance with the Zcash protocol spec.
2018-02-22 15:43:42 +00:00
Homu c2d98b47c1 Auto merge of #2808 - arcalinea:2785_upgrades_rpc, r=str4d
Add network upgrade details to getblockchaininfo

Closes #2785. Closes #2974.
2018-02-22 06:03:06 -08:00
Jack Grigg 50a90615af Document that consensus.chaintip != consensus.nextblock just before an upgrade 2018-02-22 14:01:43 +00:00
Jack Grigg 553a5c1ab2 Gate z_mergetoaddress as an experimental feature 2018-02-22 13:23:25 +00:00
Jack Grigg 6e9c7629af Implement z_mergetoaddress for combining UTXOs and notes
Closes #2493.
2018-02-22 13:23:18 +00:00
Homu 933e0d6675 Auto merge of #2968 - maxgubler:v1.0.14-edit, r=str4d
Fix documentation examples for z_importwallet z_exportwallet exportdir

Closes #2967.
2018-02-21 20:14:32 -08:00
Homu 50400310af Auto merge of #2977 - str4d:loadblockindexguts-correctness, r=str4d
Check Equihash solution when loading block index

An additional consistency check, which also ensures that the in-memory representation
matches the stored index.
2018-02-21 19:05:23 -08:00
Jack Grigg 44488400c1 Check Equihash solution when loading block index 2018-02-21 22:37:19 +00:00
Homu 6264927fef Auto merge of #2931 - jc23424:hashreserved-diskindex, r=str4d
read hashReserved from disk

This fixes a bug where the hashReserved field of the block header is not properly read back into CBlockIndex when loaded from disk. This happens to cause no issues currently because hashReserved has always been its default value (== 0), but if a block were ever mined where this was not the case, headers read back from disk would appear to have an invalid solution
2018-02-21 14:35:58 -08:00
Jack Grigg ed9aa2b62a Add branch IDs for current and next block to getblockchaininfo
Closes #2974.
2018-02-21 21:18:03 +00:00
Jay GraberandJack Grigg 71768555dd Add upgrades field to RPC call getblockchaininfo
Closes #2785.

Co-authored-by: Jack Grigg <jack@z.cash>
2018-02-21 21:01:46 +00:00
Homu d4d2844829 Auto merge of #2463 - str4d:713-rollback-limit, r=str4d
Implement roll-back limit for reorganisation

Part of  #2905. Closes #713.
2018-02-20 15:17:22 -08:00
Maxwell Gubler f70cd24521 Fix syntax examples for z_importwallet and export 2018-02-20 16:46:12 -05:00
Jack Grigg bdbe8e8591 Extend CWallet::GetFilteredNotes to enable filtering on a set of addresses 2018-02-20 13:19:07 +00:00
Jack Grigg 4553901850 Use v3 transactions with caching for validatelargetx benchmark 2018-02-20 04:22:22 +00:00
Jack Grigg 818b94f94f Make number of inputs configurable in validatelargetx test 2018-02-20 04:22:22 +00:00
Jack Grigg a3353b4e01 Regenerate SignatureHash tests 2018-02-20 04:22:21 +00:00
Ariel 7245f32835 update SignatureHash according to Overwinter spec
with help from str4d
2018-02-20 04:22:21 +00:00
Ariel 132dc81f7d add blake2b writer 2018-02-20 04:22:21 +00:00
Jack Grigg d55e5e778b Cleanup: Wrap function arguments 2018-02-20 04:22:21 +00:00
Jack Grigg be12669982 Add consensus branch ID parameter to SignatureHash, remove SigVersion parameter
We do not need to be able to calculate multiple SignatureHash versions for a
single transaction format; instead, we use the transaction format to determine
the SigVersion.

The consensus branch ID *does* need to be passed in from the outside, as only
the caller knows the context in which the SignatureHash is being calculated
(ie. mempool acceptance vs. block validation).

JoinSplit signature verification has been moved into ContextualCheckTransaction,
where the consensus branch ID can be obtained.

The argument to the sign command for zcash-tx has been modified to take a height
in addition to the optional sigtype flags.
2018-02-20 04:22:20 +00:00
Pieter Wuille 6514771a44 Rename to PrecomputedTransactionData 2018-02-20 04:22:20 +00:00
Nicolas DORIER 90285e7b81 Unit test for sighash caching
Zcash: Modified to use P2PKH.
2018-02-20 04:22:20 +00:00
Pieter Wuille f762d44973 Precompute sighashes
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.

Edited for Zcash by Ariel Gabizon and Jack Grigg
2018-02-20 04:22:20 +00:00
Jorge Timón 722d811f89 Mempool: Use Consensus::CheckTxInputs direclty over main::CheckInputs 2018-02-20 04:22:20 +00:00
Jack Grigg e005ff83ab Remove P2WPKH and P2WSH from signing logic
Separated from the previous commit for ease of review.
2018-02-20 04:22:19 +00:00
Pieter Wuille 157a5d0d9c BIP143: Signing logic 2018-02-20 04:22:19 +00:00
Pieter Wuille c86a1cb86e BIP143: Verification logic
Includes simplifications by Eric Lombrozo.

Edited for Zcash merge by Ariel Gabizon.
2018-02-20 04:22:19 +00:00
Pieter Wuille 2d42e1a993 Refactor script validation to observe amounts
This is a preparation for BIP143 support.

Edited for Zcash merge by Ariel Gabizon.
2018-02-20 04:22:19 +00:00
Jonas Nick ffda7e01a5 Reduce unnecessary hashing in signrawtransaction 2018-02-20 04:22:18 +00:00
21E14 8cb98d9105 Remove obsolete reference to CValidationState from UpdateCoins. 2018-02-20 04:22:18 +00:00
Pieter Wuille 838e7a29cc Report non-mandatory script failures correctly 2018-02-20 04:22:10 +00:00
Homu 49274558c6 Auto merge of #2940 - str4d:nu-activation-mempool-expiry, r=str4d
Mempool improvements, branch ID awareness

Whenever the local chain tip is updated, transactions in the mempool which commit to an
unmineable branch ID (for example, just before a network upgrade activates, where the
next block will have a different branch ID) will be removed.

Includes commits cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6654
  - Only the mempool index change.
- bitcoin/bitcoin#6776
- bitcoin/bitcoin#7020
- bitcoin/bitcoin#6915

Part of #2074.
2018-02-19 19:00:30 -08:00
Jack Grigg 34a64fe0a2 Remove mempool transactions which commit to an unmineable branch ID 2018-02-20 02:57:44 +00:00
Suhas Daftuar 233c9eb635 Fix removeForReorg to use MedianTimePast 2018-02-20 02:57:44 +00:00