Commit Graph

34 Commits

Author SHA1 Message Date
joshuayabut f8b69d2092 Revert transaction replay protection and BIP9 implementation 2017-06-14 18:40:42 -04:00
joshuayabut 5a8b402c59 Add BIP9 Softfork Capability for OP_CHECKBLOCKATHEIGHT 2017-05-07 12:50:09 -04:00
joshuayabut a64c8bf338 Release 1.0.8.
-----BEGIN PGP SIGNATURE-----
 
 iF4EABYIAAYFAljZ1QgACgkQ/S21FcdQdRkuSQEAqQC0TrvzJbtyHvwwC+16YONr
 v2vdx5LhJDs92gtgBGMA/3NmfhhTTDlJB8ldSQWfnjEJCr3jjTSbO/7V/wK+JdIB
 =RkA7
 -----END PGP SIGNATURE-----

Merge v1.0.8
2017-04-13 17:40:02 -04:00
Philip Kaufmann db954a65ac
use const references where appropriate 2017-03-03 10:57:05 -08:00
joshuayabut 5115f245a8 Testing failure due to founders rewards 2016-12-29 18:08:22 -05:00
Joshua Yabut 98b7178783 Merge: v1.0.4 into master (#42)
* Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo

* Add benchmark for attempting decryption of notes

* Add benchmark for incrementing note witnesses

* Add -metricsui flag to toggle between persistent screen and rolling metrics

Defaults to true if stdout is a TTY, else false.

* Add -metricsrefreshtime option

* Only show metrics by default if stdout is a TTY

* Document metrics screen options

* Fix stale comment referencing upstream block interval

* Add checkpoint at block height 15000

* Added mainnet, testnet, and onion nodes

* Make command line option to show all debugging consistent with similar options

Most people expect a value of 1 to enable all for command line arguments.
However to do this for the -debug option you must type "-debug=".
This has been changed to allow "-debug=1" as well as "-debug=" to
enable all debug logging

* Update documentation to match the #4219 change

* Update help message to match the #4219 change

* Clarify that metrics options are only useful without -daemon and -printtoconsole

* Increase length of metrics divider

* Closes #1857. Fixes bug where tx spending only notes had priority of 0.

* Closes #1901. Increase default settings for the max block size when
mining and the amount of space available for priority transactions.

* Write witness caches when writing the best block

For steady-state operation, this reduces the average time between wallet disk
writes from once per block to once per hour.

On -rescan, witness caches are only written out at the end along with the best
block, increasing speed while ensuring that on-disk state is kept consistent.

Witness caches are now never recreated during a -reindex, on the assumption that
the blocks themselves are not changing (the chain is just being reconstructed),
and so the witnesses will remain valid.

Part of #1749.

* Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST

* Apply miniupnpc patches to enable compilation on Solaris 11

These can be removed after the next MiniUPnP release.

Closes #1835.

* Closes #1903. Add fee parameter to z_sendmany.

* Add an upstream miniupnpc patch revision

* Metrics - Don't exclaim unless > 1

"You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction".

* Address review comments, tweak strings

* bash-completion: Adapt for 0.12 and 0.13

 * separate completion for bitcoind and bitcoin-cli
 * remove RPC support from bitcoind completion
 * add completion for bitcoin-tx and bitcoin-qt
 * rely on autoloading of completions

* Change function names to not clash with Bitcoin, apply to correct binaries

* Add bash completion files to Debian package

* Always bash-complete the default account

* Add Zcash RPC commands to CLI argument completion

* Fixes #1823. Witness anchors for input notes no longer cross block boundaries.

* Edit for grammar: "block chain"

At this point, I believe it is universally accepted that "blockchain" is one word, and should not be separated into two.

* Increase timeout as laptops on battery power have cpu throttling.

* Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller.

* Regression test.

* Ensure cache contains valid entry when anchor is popped.

* Ensure ProofVerifier cannot be accidentally copied.

* Document behaviour of CWallet::SetBestChain

* WitnessAnchorData only needs to store one witness per JSOutPoint.

* Rename Dummy to Disabled.

* Add more tests for ProofVerifier.

* Fix indentation

* Generate JS for trydecryptnotes, make number of addresses a variable

* Add JS to second block to ensure witnesses are incremented

* ASSERT_TRUE -> ASSERT_FALSE

* Skip JoinSplit verification before the last checkpoint

Part of #1749

* Gather release notes from previous release to HEAD

Also update release-process.md to replace git shortlog command with
release-notes.py script.

* Add a reindex test that fails because of a bug in decrementing witness caches

Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988

* Make the test pass by fixing the bug!

* Only check cache validity for witnesses being incremented or decremented

Fixes the bug resulting from #1904.

* Check that E' points are actually in G2 by ensuring they are of order r.

* Fix bug in wallet tests

* Extract block-generation wallet test code into a function

* Rewrite reindex test to check beyond the max witness cache size

* Fix bug in IncrementNoteWitness()

* Update payment API docs to recommend -rescan for fixing witness errors

* Update version to 1.0.4

* Update man pages

* Release notes, authors, changelog

* Update seed nodes

* Bugfix #14 - getblocksubsidy RPC command is incorrect
2016-12-19 07:59:58 -05:00
Jack Grigg 80f4cdcf8f
Reject block versions lower than 4
Closes #1556
2016-10-22 00:43:26 -05:00
Jack Grigg 7ac924cdb7
Disallow v0 transactions as a consensus rule
Closes #1557
2016-10-22 00:40:50 -05:00
Sean Bowe 74f15a73a1 Make 100KB transaction size limit a consensus rule, rather than a standard rule. 2016-10-08 00:00:23 -06:00
Simon db0f931570 Add founders reward to ChainParams.
Fix bug where subsidy slow shift was ignored.
2016-09-30 14:42:47 -07:00
zkbot fc127fc2db Auto merge of #1051 - ThisIsNotOfficialCodeItsJustForks:t863-mock-coverage-of-checktransaction, r=ebfull
Add mock test coverage of CheckTransaction

Closes #863.
2016-07-14 18:43:07 +00:00
Sean Bowe 000383c193 Increase block size to 2MB and update performance test. 2016-07-07 16:53:16 -06:00
Sean Bowe 9c45b501ad Make `validatelargetx` test more accurate, reduce block size limit to 1MB for now. 2016-07-06 12:07:50 -06:00
zkbot 68b8b95c53 Auto merge of #962 - ebfull:2mb-blocks, r=ebfull
Increase block size limit to 2MB.

http://gavinandresen.ninja/a-guided-tour-of-the-2mb-fork

Closes #765.
2016-06-28 17:46:47 +00:00
Taylor Hornby 948d4e6c10 Split JoinSplit proof verification out of CheckTransaction. 2016-06-23 16:35:31 -06:00
zkbot 658cdb15f7 Auto merge of #1027 - ThisIsNotOfficialCodeItsJustForks:t862-trivial-mock-test-example, r=ebfull
Add example mock test of CheckTransaction

Closes #862.
2016-06-22 14:30:12 +00:00
zkbot 1178df0883 Auto merge of #1004 - str4d:931-difficulty-algorithm, r=ebfull
Implement new difficulty algorithm

Closes #931. Closes #696.
2016-06-15 23:26:49 +00:00
Taylor Hornby fc057da455 Add example mock test of CheckTransaction 2016-06-15 17:01:55 -06:00
Jack Grigg f2c48e15e5 Implement new difficulty algorithm (#931)
The algorithm is based on DigiShield v3/v4.
2016-06-15 09:48:42 +12:00
Sean Bowe a180d0a6c6 Rename to `fCoinbaseMustBeProtected`. 2016-06-14 15:16:34 -06:00
Sean Bowe c0dde76d8a Disable coinbase-must-be-protected rule on regtest. 2016-06-13 12:23:55 -06:00
Jack Grigg 068e2f1a09 Fix comment 2016-05-27 11:29:08 +12:00
Sean Bowe 6ef996a3b6 Make sigop limit `20000` just as in Bitcoin, ignoring our change to the blocksize limit. 2016-05-25 16:46:36 -06:00
Sean Bowe 23c6d3aba8 Increase block size limit to 2MB. 2016-05-24 11:23:55 -06:00
Jack Grigg bcb34c0802 Implement mining slow start with a linear ramp 2016-05-10 23:03:18 +12:00
Sean Bowe 03bff15fe2 Enforce zk-SNARK validity during consensus. 2016-01-19 14:36:09 -07:00
Mark Friedenbach f720c5fc9f
Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
Transactions are not allowed in the memory pool or selected for inclusion in a block until their lock times exceed chainActive.Tip()->GetMedianTimePast(). However blocks including transactions which are only mature under the old rules are still accepted; this is *not* the soft-fork required to actually rely on the new constraint in production.
2015-10-23 21:33:51 +01:00
Mark Friedenbach a1d3c6fb9d
Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations
The lock-time code currently uses CBlock::nTime as the cutoff point for time based locked transactions. This has the unfortunate outcome of creating a perverse incentive for miners to lie about the time of a block in order to collect more fees by including transactions that by wall clock determination have not yet matured. By using CBlockIndex::GetMedianTimePast from the prior block instead, the self-interested miner no longer gains from generating blocks with fraudulent timestamps. Users can compensate for this change by simply adding an hour (3600 seconds) to their time-based lock times.

If enforced, this would be a soft-fork change. This commit only adds the functionality on an unexecuted code path, without changing the behaviour of Bitcoin Core.
2015-10-23 21:33:31 +01:00
Peter Todd 6ec08db338 Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.

Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
2015-10-08 17:46:55 +02:00
jtimon da29ecbcc6 Consensus: MOVEONLY: Move CValidationState from main consensus/validation 2015-05-15 16:05:28 +02:00
jtimon 691161d419 Consensus: Create consensus/consensus.h with some constants 2015-04-20 21:27:51 +02:00
Philip Kaufmann a21df62069 ensure consistent header comment naming conventions
- BITCOIN_FOLDER_SUBFOLDER_FILENAME_H
2015-04-20 13:29:22 +02:00
Cory Fields fd311996e8 consensus: don't use arith_uint256 in consensus.h
Requiring arith_uint256 at such a base level is not good for modularity.
2015-04-10 15:33:37 -04:00
Jorge Timón bd006110fb Consensus: Refactor: Introduce Consensus::Params class 2015-03-25 20:39:26 +01:00