Commit Graph

7454 Commits

Author SHA1 Message Date
Jack Grigg
5ae347827f Fix gtest ordering broken by #1949
Part of #1539
2017-01-16 20:16:29 +01:00
Simon
f32cade8fd Closes #1957 by adding tx serialization size to listtransactions output. 2017-01-16 11:07:16 -08:00
Simon
9064d73bf8 Fixes #1497 ZCA-009 by restricting data exporting to user defined folder.
Previously the RPC interface allowed z_exportwallet, backupwallet and
dumpwallet to write data to an arbitrary filename.  ZCA-009 demonstrates
how this is vulnerable.  The resolution is to only allow data to
written when the -exportdir has been configured.  Also filenames are
restricted to alphanumeric characters.
2017-01-16 10:56:06 -08:00
Simon
af02114469 Closes #1097 so zcash-cli now displays license info like zcashd.
LicenseInfo is refactored from init.cpp to util.cpp so that the
bitcoin-cli makefile target does not need to be modified.
2017-01-16 09:38:09 -08:00
Simon
2d2f3d1806 Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation 2017-01-11 11:49:10 -08:00
Jack Grigg
24f4e3365b Show a friendly message explaining why zcashd needs a zcash.conf 2017-01-11 12:55:35 +01:00
Jack Grigg
d87f00c4d5 Throw an error if zcash.conf is missing
An empty zcash.conf is sufficient to bypass this error.
2017-01-10 16:33:41 +01:00
zkbot
a6ba873aa8 Auto merge of #1949 - str4d:1810-fix-disablewallet, r=str4d
Fix --disablewallet

Closes #1810.
2017-01-09 17:36:41 +00:00
Wladimir J. van der Laan
e957192c54 rpc: Implement random-cookie based authentication
When no `-rpcpassword` is specified, use a special 'cookie' file for
authentication. This file is generated with random content when the
daemon starts, and deleted when it exits. Read access to this file
controls who can access through RPC. By default this file is stored in
the data directory but it be overriden with `-rpccookiefile`.

This is similar to Tor CookieAuthentication: see
https://www.torproject.org/docs/tor-manual.html.en

Alternative to #6258. Like that pull, this allows running bitcoind
without any manual configuration. However, daemons should ideally never write to
their configuration files, so I prefer this solution.
2017-01-09 17:57:05 +01:00
Eran Tromer
894a0b3295 CreateJoinSplit: add start_profiling() call
This solves the problem of profiling output displaying nonsensical large time values.
2017-01-05 11:30:23 -05:00
Jack Grigg
53e9a6a0e2 Update debug categories
Closes #1954.
2017-01-05 11:56:42 +01:00
Jack Grigg
0b0a48c881 Suggest ./zcutil/fetch-params.sh as well
Once we improve the from-source installation docs to use 'make install', we can
revert this commit.
2017-01-05 11:38:38 +01:00
Jack Grigg
b6e439b261 Handle newlines in UI messages 2017-01-05 08:38:35 +01:00
Jack Grigg
e698459ec8 Strip out the SECURE flag in metrics UI so message style is detected 2017-01-05 08:19:15 +01:00
Jack Grigg
83561c9cb3 Trigger metrics UI refresh on new messages 2017-01-05 08:18:29 +01:00
Simon
4c1cd287be Fixes a bug where the unsigned transaction was logged by z_sendmany
after a successful sign and send, meaning that the logged hash fragment
would be different from the txid logged by "AddToWallet".  This issue
occured when sending from transparent addresses, as utxo inputs must be
signed.  It did not occur when sending from shielded addresses.
2017-01-04 12:26:23 -08:00
Jack Grigg
bddf4079fd Instruct users to run zcash-fetch-params if network params aren't available
Closes #1786.
2017-01-04 17:58:07 +01:00
Jack Grigg
7e3a20f235 Scan the whole chain whenever a z-key is imported
Closes #1941.
2017-01-04 15:40:35 +01:00
Simon
01f6c5dbee Fixes #1967 by adding age of note to z_sendmany logging. 2017-01-03 23:57:11 -08:00
Simon
fce7260811 Fixes #1964 to catch general exception in z_sendmany and catch
exceptions as reference-to-const.
2017-01-03 12:50:19 -08:00
Jack Grigg
8e0fc39097 Exclude test binaries from make install
Closes #1943.
2017-01-03 11:23:21 +01:00
zkbot
57a0725ae1 Auto merge of #1946 - str4d:blockchain-stats-num-commitments, r=ebfull
Add total number of commitments to getblockchaininfo
2016-12-16 21:47:53 +00:00
Sean Bowe
fc538ec2ea Add test for IncrementalMerkleTree::size(). 2016-12-16 13:50:55 -07:00
Jack Grigg
d0ce704abe Add a tool for profiling the creation of JoinSplits 2016-12-17 02:43:43 +13:00
Jack Grigg
6daab5b4fc Only run wallet tests when wallet is enabled 2016-12-16 10:52:37 +13:00
Jack Grigg
f3e4968626 Only enable getblocktemplate when wallet is enabled 2016-12-16 10:44:04 +13:00
Jack Grigg
83ce8a4d7c Update version to 1.0.4 2016-12-15 16:33:09 +13:00
Jack Grigg
5d6e1aa60f Add total number of commitments to getblockchaininfo 2016-12-15 15:50:26 +13:00
zkbot
a530e9582f Auto merge of #1939 - str4d:1933-fix-bug, r=str4d
Only increment new notes on reindex

Addresses another issue in #1904.

When an existing one of our notes was found again, its cache was reset and it was re-witnessed. This would cause encountered notes to get out-of-sync with the otherwise-ignored newer notes, which could be a problem if the wallet data happens to be written out during a reindex.
2016-12-15 01:32:30 +00: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
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
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