Commit Graph

6791 Commits

Author SHA1 Message Date
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
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
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
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
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
Simon
2d931e905b Fixes #1823. Witness anchors for input notes no longer cross block boundaries. 2016-12-03 00:22:42 -08:00
zkbot
5a0d9db4e4 Auto merge of #1681 - paragonie-scott:patch-1, r=str4d
Metrics - Don't exclaim unless > 1

"You have validated 0 transactions!" sounds a little less enthusiastic that intended. This uses a period instead.

After patch, it also says "a transaction".
2016-12-01 02:50:55 +00:00
Jack Grigg
1c8d5c4061 Address review comments, tweak strings 2016-12-01 15:34:57 +13:00
Scott
ba6fc72bcd Metrics - Don't exclaim unless > 1
"You have validated 0 transactions!" sounds a little less enthusiastic that intended. Also, only says "1 transaction".
2016-12-01 15:30:22 +13:00
Simon
af53da0225 Closes #1903. Add fee parameter to z_sendmany. 2016-11-30 14:23:35 -08:00
zkbot
c29ab1fbb7 Auto merge of #1865 - bitcartel:master_checkpoint_11000, r=str4d
Add checkpoint at block height 15000
2016-11-29 05:39:27 +00:00
Jack Grigg
e2752e1eca Increase length of metrics divider 2016-11-29 18:17:28 +13:00
Jack Grigg
18f656d2af Clarify that metrics options are only useful without -daemon and -printtoconsole 2016-11-29 18:11:25 +13:00
lpescher
ae31e4563f Update help message to match the #4219 change 2016-11-28 13:28:32 -08:00
lpescher
1d2db2765e 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
2016-11-28 13:28:15 -08:00
Simon
2f1238bc51 Add checkpoint at block height 15000 2016-11-23 15:17:51 -08:00
Simon
4e3ac9b015 Fix stale comment referencing upstream block interval 2016-11-18 10:26:20 -08:00
Jack Grigg
0076a80a8a Document metrics screen options 2016-11-18 16:49:37 +13:00
Jack Grigg
57724029da Only show metrics by default if stdout is a TTY 2016-11-18 16:37:10 +13:00
Jack Grigg
83ccbf6b89 Add -metricsrefreshtime option 2016-11-18 16:32:21 +13:00
Jack Grigg
3c02477360 Add -metricsui flag to toggle between persistent screen and rolling metrics
Defaults to true if stdout is a TTY, else false.
2016-11-18 16:17:59 +13:00
zkbot
d4ea4e0e5f Auto merge of #1848 - arcalinea:replace-bitcoin-in-json-rpc, r=str4d
Replace bitcoin with zcash in rpcprotocol.cpp

Not sure if this was intentionally left as bitcoin-json-rpc, but opening a PR for review in case someone wants to ACK and merge.
2016-11-18 02:41:47 +00:00
Simon
26fb4db53b 1.0.3 Release 2016-11-17 16:07:09 -08:00
Simon
13e9a639b7 Fix threading issue when initializing public params. 2016-11-17 15:36:26 -07:00
Sean Bowe
f398a94766 Anchors and nullifiers should always be inherited from the parent cache. 2016-11-17 11:43:54 -07:00
zkbot
343b0d6723 Auto merge of #1862 - bitcartel:1854_z_sendmany_transparent_change, r=bitcartel
Closes #1854. z_sendmany selects more utxos to avoid dust change output.
2016-11-16 17:28:48 +00:00
Simon
0afd3687c8 Closes #1854. z_sendmany selects more utxos to avoid dust change output. 2016-11-15 17:12:37 -08:00
zkbot
54218ea05c Auto merge of #1797 - ebfull:improve-joinsplit-diagnostics, r=bitcartel
Improve joinsplit diagnostics

I don't advocate merging this for the hotfix release (to fix #1779) but this PR can be used to diagnose the real issue and should be merged ASAP afterward.

~I still need to add tests for `last()` and `element()` though.~ Done.
2016-11-16 01:06:37 +00:00
Simon
de38bfbbed Track the correct change witness across chained joinsplits 2016-11-15 12:39:16 -08:00
Simon
9ddb6ad028 Mempool will accept tx with joinsplits and the default z_sendmany fee.
Issue #1851 shows that a zaddr->taddr can be rejected from mempools
due to not meeting fee requirements given the size of the transaction.
Fee calculation for joinsplit txs has not yet been agreed upon, so
during this interim period, this patch ensures  joinsplit txs using
the default fee are not rejected due to an insufficient fee.
2016-11-15 11:32:59 -08:00
Sean Bowe
3e2e8b5b42 Add test that last and element will throw exception when the tree is blank. 2016-11-15 12:17:19 -07:00
Simon
ba0625f25d Set default minrelaytxfee to 1000 zatoshis to match upstream.
A txout will be considered dust when it has a value <546 zatoshis.
Helps to address #1719.
2016-11-15 10:48:51 -08:00
zkbot
057ab6b4d1 Auto merge of #1760 - ebfull:vk-preprocess, r=bitcartel
Process verification keys to perform online verification

Checking proofs involves some arithmetic with pairings using components of the proof and the verification key. If you already have some curve points, like those in the verification key, you can amortize the cost of some of the more expensive arithmetic.

This PR adopts libsnark's precomputation of G2 elements in the verification key.

We *currently* call `r1cs_ppzksnark_verifier_strong_IC`:

```c++
template<typename ppT>
bool r1cs_ppzksnark_verifier_strong_IC(const r1cs_ppzksnark_verification_key<ppT> &vk,
                                       const r1cs_ppzksnark_primary_input<ppT> &primary_input,
                                       const r1cs_ppzksnark_proof<ppT> &proof)
{
    enter_block("Call to r1cs_ppzksnark_verifier_strong_IC");
    r1cs_ppzksnark_processed_verification_key<ppT> pvk = r1cs_ppzksnark_verifier_process_vk<ppT>(vk);
    bool result = r1cs_ppzksnark_online_verifier_strong_IC<ppT>(pvk, primary_input, proof);
    leave_block("Call to r1cs_ppzksnark_verifier_strong_IC");
    return result;
}
```

Notice that this merely performs precomputation of the verification key, and then calls `r1cs_ppzksnark_online_verifier_strong_IC`. This PR merely performs the precomputation during verification key initialization, and calls that function directly.
2016-11-15 14:56:22 +00:00
zkbot
4e4ca6d31b Auto merge of #1858 - str4d:1715-wallet-assertion, r=ebfull
Correctly integrate CNoteData::witnessHeight into wallet code

Closes #1715.
2016-11-15 11:16:13 +00:00
zkbot
4e72614fb0 Auto merge of #1847 - bitcartel:1680_rpckeepalive_deadlock, r=ebfull
Closes #1680, temporary fix for rpc deadlock inherited from upstream.
2016-11-15 10:25:24 +00:00
Simon
f4404d7b5b Closes #1680, temporary fix for rpc deadlock inherited from upstream. 2016-11-15 00:31:24 -08:00
Jack Grigg
a4ef3aa9b5 Clear witnessHeight and nWitnessCacheSize in ClearNoteWitnessCache 2016-11-15 17:53:41 +13:00
Jack Grigg
ccfd8aae1d Add code comments about CNoteData::witnessHeight 2016-11-15 16:42:22 +13:00
Jack Grigg
4a6a48479d Copy over CNoteData::witnessHeight when updating wallet tx 2016-11-15 14:08:41 +13:00
Jack Grigg
40ef121e6a Correctly set CNoteData::witnessHeight when decrementing witness caches
Closes #1715
2016-11-15 14:08:35 +13:00
Sean Bowe
78df9f0211 Process verification keys to perform online verification. 2016-11-14 10:24:07 -07:00
Sean Bowe
226a6b3248 Initialize after profiling messages are suppressed. 2016-11-14 10:19:46 -07:00
Sean Bowe
d92bea9888 Add tests for witness element and tree last methods. Strengthen testing by inserting a different commitment into the tree at each step. 2016-11-14 10:13:06 -07:00
zkbot
28d635c8b7 Auto merge of #1838 - bitcartel:1833_z_sendmany_error_message_formatting, r=ebfull
Closes #1833.  Format currency amounts in z_sendmany error message.

Improve coverage of possible error states from z_sendmany.
Refactor qa test for z_sendmany operations.
2016-11-13 03:05:30 +00:00
Jay Graber
c246c1ea3c Replace bitcoin with zcash in rpcprotocol.cpp 2016-11-11 15:24:36 -08:00
Jay Graber
59ac34e344 s/Bitcoin/Zcash in JSONRPCError 2016-11-11 11:14:18 -08:00
Simon
9384e74c50 Closes #1833. Format currency amounts in z_sendmany error message.
Improve coverage of possible error states from z_sendmany.
Refactor qa test for z_sendmany operations.
2016-11-10 16:57:36 -08:00
ayleph
48f9c65b55 Correct spelling error in z_sendmany error output
Change "alllowed" -> "allowed."
2016-11-08 13:13:48 -08:00