Commit Graph

10083 Commits

Author SHA1 Message Date
Jack Grigg 41c616214c
Update payment API docs to recommend -rescan for fixing witness errors 2016-12-15 14:30:40 +13:00
Jack Grigg 4082dcb10f
Extend createjoinsplit to benchmark parallel JoinSplits
Closes #1940
2016-12-14 15:28:00 +13:00
zkbot 152c0ebf21 Auto merge of #1938 - ebfull:g2-subgroup-check, r=str4d
Additional well-formedness check for G2 elements

libsnark currently checks that G<sub>1</sub> and G<sub>2</sub> elements are well-formed by ensuring that they satisfy their respective curve equations, and although this is enough for G<sub>1</sub> (which is instantiated as an order r curve E/F<sub>p</sub>: y^2 = x^3 + b), G<sub>2</sub> is the order r *subgroup* of the composite order r(2q-r) curve E'/Fp<sup>2</sup>: y^2 = x^3 + b/e constructed via a sextic twisting isomorphism. This means we need to ensure these points are order r as well.

None of the proofs on the Zcash blockchain violate this check, and it may not even be possible for them to violate this check (bilinearity is not preserved). Let's be cautious and do it anyway.
2016-12-13 11:26:23 +00:00
zkbot 5c47d620f4 Auto merge of #1892 - str4d:1749-disable-js-verification-before-checkpoints, r=str4d
Skip JoinSplit verification before the last checkpoint

Part of #1749
2016-12-13 10:36:48 +00:00
Jack Grigg c0ec0e756b
Fix bug in IncrementNoteWitness() 2016-12-13 22:53:52 +13:00
Jack Grigg 78f4e0ef37
Rewrite reindex test to check beyond the max witness cache size 2016-12-13 22:53:29 +13:00
Jack Grigg 0752d1f8c4
Extract block-generation wallet test code into a function 2016-12-13 22:53:11 +13:00
Jack Grigg 35ce717f96
Fix bug in wallet tests 2016-12-13 22:50:57 +13:00
Sean Bowe c4fce3fc81 Check that E' points are actually in G2 by ensuring they are of order r. 2016-12-12 19:14:42 -07:00
Jay Graber 6dac65b134 Update release process to check in with users who opened resolved issues 2016-12-12 13:28:00 -08:00
Jack Grigg 6f78f4f44c
Only check cache validity for witnesses being incremented or decremented
Fixes the bug resulting from #1904.
2016-12-13 09:34:55 +13:00
zkbot 9f7bc6cba5 Auto merge of #1904 - str4d:1749-write-witness-cache-with-best-block, r=ebfull
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.
2016-12-09 21:11:15 +00:00
Jack Grigg 9d2cc3a784
Make the test pass by fixing the bug! 2016-12-10 00:56:32 +13:00
Jack Grigg eeee6d5d6c
Add a reindex test that fails because of a bug in decrementing witness caches
Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988
2016-12-10 00:51:32 +13:00
zkbot 6575dfba4e Auto merge of #1930 - arcalinea:revise-release-note-generation, r=str4d
Gather release notes from previous release to HEAD

Release-notes.py used to depend on release already being tagged--now gathers release notes from previous tagged release up to current HEAD.
2016-12-09 10:42:33 +00:00
Jay Graber c1e46db8ab
Gather release notes from previous release to HEAD
Also update release-process.md to replace git shortlog command with
release-notes.py script.
2016-12-09 23:40:23 +13:00
zkbot 02bb4df58d Auto merge of #1918 - bitcartel:timeout_cpu_throttling, r=str4d
Increase timeout as laptops on battery power have cpu throttling.

Merge this last as other PRs also update the test file `wallet_protectcoinbase.py`.
2016-12-09 09:03:37 +00:00
zkbot 0617e428e2 Auto merge of #1895 - bitcartel:1857_tx_priority, r=str4d
Closes #1857. Fixes bug where a transaction sending from a zaddr would have a priority of zero.

Transactions sent from a zaddr should now be mined sooner as they no longer have a priority of zero
2016-12-09 08:10:21 +00:00
Jack Grigg 6fb8d0c2d6
Skip JoinSplit verification before the last checkpoint
Part of #1749
2016-12-09 21:06:45 +13:00
zkbot 8a6c070bfa Auto merge of #1870 - str4d:1749-benchmark-rescanning, r=str4d
Add benchmarks for rescan components

Part of #1749.
2016-12-09 07:12:22 +00:00
zkbot a398121503 Auto merge of #1919 - ebfull:abstract-verification, r=str4d
Isolate verification to a ProofVerifier context object that allows verification behavior to be tuned by the caller.

This is an alternative foundation for #1892, i.e., #1892 will have to be changed if this PR is accepted.

I think this is a safer approach because it allows us to isolate verification behavior to a single object. This will come in handy when @arielgabizon finishes the batching code.
2016-12-09 06:22:53 +00:00
Sean Bowe 37cce214a4 ASSERT_TRUE -> ASSERT_FALSE 2016-12-08 23:14:23 -07:00
Jack Grigg 9755eb8292
Add JS to second block to ensure witnesses are incremented 2016-12-09 16:59:40 +13:00
Jack Grigg 88b7f3c28b
Generate JS for trydecryptnotes, make number of addresses a variable 2016-12-09 16:59:39 +13:00
Jack Grigg a513ea90d4
Fix indentation 2016-12-09 16:59:34 +13:00
zkbot 07a728300b Auto merge of #1642 - str4d:add-solver-rate-to-getmininginfo, r=str4d
Add getlocalsolps and getnetworksolps RPC calls, show them in getmininginfo
2016-12-09 03:18:23 +00:00
zkbot f848d40c6d Auto merge of #1902 - bitcartel:1901_increase_default_settings_block_priority, r=str4d
Closes #1901. Increase default settings for max block size and space for priority transactions.

ref #1901
2016-12-09 00:33:01 +00:00
zkbot cdbd851417 Auto merge of #1928 - ebfull:fix-anchor-cache-bug, r=str4d
Fix anchor cache bug

Fixes #1912.

If an anchor is removed from the cache, but didn't exist in it beforehand, it will insert a blank tree. If it's reinserted in a child cache, when the child cache flushes it will mark the treestate as entered but won't bring the valid tree with it.

Thankfully, we assert when connecting blocks so that this inconsistency won't cause us to build on a blank tree after a reorg.
2016-12-08 21:22:23 +00:00
Sean Bowe 690171e268 Add more tests for ProofVerifier. 2016-12-08 12:47:41 -07:00
Sean Bowe eb82238dd0 Rename Dummy to Disabled. 2016-12-08 12:32:39 -07:00
zkbot e68e26c208 Auto merge of #1911 - bitcartel:1823_witness_does_not_have_same_anchor_as_change_input, r=str4d
With chained joinsplits, witness anchors for input notes no longer cross block boundaries

Closes #1823
2016-12-08 01:23:40 +00:00
zkbot 4af99fc45d Auto merge of #1909 - str4d:bash-completion, r=str4d
Bash completion

This PR pulls in bitcoin/bitcoin#8289, updates the bash completion files for use with Zcash, and bundles them into the Debian package.
2016-12-08 00:43:41 +00:00
zkbot aa1179b304 Auto merge of #1906 - str4d:1835-solaris-miniupnpc-patches, r=str4d
Apply MiniUPnP patches to enable compilation on Solaris 11

These can be removed after the next MiniUPnP release.

Closes #1835.
2016-12-08 00:04:39 +00:00
zkbot 400c4f04e6 Auto merge of #1878 - str4d:1875-non-tty-metrics-usability, r=str4d
Improve non-TTY metrics usability

Closes #1875.
2016-12-07 23:19:47 +00:00
zkbot c286e03509 Auto merge of #1905 - str4d:1831-build-script-overrides, r=str4d
Add porter dev overrides for CC, CXX, MAKE, BUILD, HOST

Replaces #1839. Closes #1831.
2016-12-07 22:31:56 +00:00
Simon 84e8c5f921 WitnessAnchorData only needs to store one witness per JSOutPoint. 2016-12-07 12:05:29 -08:00
zkbot fa53daca4e Auto merge of #1907 - bitcartel:1903_z_sendmany_fee_parameter, r=ebfull
Closes #1903. Add fee parameter to z_sendmany.
2016-12-07 16:58:26 +00:00
Jack Grigg d85758f5cc
Document behaviour of CWallet::SetBestChain 2016-12-07 19:30:30 +13:00
Sean Bowe 53dc6a41eb Ensure ProofVerifier cannot be accidentally copied. 2016-12-06 18:42:31 -07:00
Sean Bowe ebd9aa11b1 Ensure cache contains valid entry when anchor is popped. 2016-12-06 12:54:56 -07:00
Sean Bowe 08de001a25 Regression test. 2016-12-06 12:54:53 -07:00
Sean Bowe bc59f53722 Isolate verification to a `ProofVerifier` context object that allows verification behavior to be tuned by the caller. 2016-12-05 12:40:06 -07:00
Simon f3c4919027 Increase timeout as laptops on battery power have cpu throttling. 2016-12-05 10:46:12 -08:00
Bitcoin Error Log c2b24ccdb7 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.
2016-12-04 12:02:39 -05:00
Simon 2d931e905b Fixes #1823. Witness anchors for input notes no longer cross block boundaries. 2016-12-03 00:22:42 -08:00
Jack Grigg 73546e1b81
Add Zcash RPC commands to CLI argument completion 2016-12-02 17:41:37 +13:00
Jack Grigg a01daac728
Always bash-complete the default account 2016-12-02 17:26:57 +13:00
Jack Grigg ca483b4064
Add bash completion files to Debian package 2016-12-02 17:12:38 +13:00
Jack Grigg 58966e96c5
Change function names to not clash with Bitcoin, apply to correct binaries 2016-12-02 17:09:44 +13:00
Christian von Roques c794f6d33b
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
2016-12-02 16:52:53 +13:00