Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
zkbot bd87e8c2d3 Auto merge of #1859 - arcalinea:1783_document_contributors, r=ebfull
Document contributors to zcash

Release-notes.py generates release notes from git shortlog command when release version number is specified, and adds contributors to authors.md file. Can change the way this script works or where contributors are documented.

@nathan-at-least
2016-11-17 00:58:48 +00: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
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
zkbot 6661d9da6d Auto merge of #1842 - arcalinea:1573_z_sendmany_error_documentation, r=bitcartel
Document z_sendmany error code messages in payment-api.md
2016-11-15 22:16:30 +00: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
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
zkbot 3a0855e65a Auto merge of #1806 - str4d:1787-enable-tests-flag, r=ebfull
Add --disable-tests flag to zcutils/build.sh

Closes #1787
2016-11-09 17:33:56 +00:00
zkbot fbc69d3d33 Auto merge of #1790 - bitcartel:1779_send_multiple_zaddrs_logic_error, r=bitcartel
Fixes #1779 so that sending to multiple zaddrs no longer fails.

Closes #1779

Commit 2eeb6b randomized the order of input and output notes,
but this is now known to prevent the chaining of multiple joinsplits
in a single transaction.  The root cause has yet to be determined.

This patch is a temporary fix and disables the shuffling of input
and output notes.  It also adds a chained joinsplit test to the
python qa test suite.
2016-11-06 05:20:45 +00:00
zkbot 2648902a11 Auto merge of #1778 - bitcartel:1762_segfault_miner, r=str4d
Fixes #1762 segfault when miner is interrupted.

Closes #1762
2016-11-05 22:22:22 +00:00
zkbot ce71cd0984 Auto merge of #1765 - ITH4Coinomia:patch-2, r=ebfull
Update init.cpp

Reformatted Text
2016-11-04 18:19:54 +00:00
zkbot 3b8f74abb2 Auto merge of #1763 - ITH4Coinomia:patch-1, r=ebfull
Update security-warnings.md

Linked Bitcoin URL
2016-11-04 17:40:09 +00:00
zkbot c73122db7b Auto merge of #1399 - ebfull:write-r1cs, r=ebfull
Write R1CS output to file in GenerateParams.

Not urgent. This is how the constraint system is communicated to the MPC.
2016-11-04 16:57:43 +00:00
zkbot 9752e57739 Auto merge of #1772 - str4d:temporary-gtest-bug-workaround, r=ebfull
Temporary gtest bug workaround

Replaces the previous partial fix from #1771 with a temporary workaround that prevents all issues.
2016-11-03 23:19:51 +00:00
zkbot 231d2ccaf9 Auto merge of #1759 - ageis:more-fetch-params-stuff, r=ebfull
Improves usability of fetch-params.sh

Remove the lockfile at the end (fixes #1731)
Makes it clearer what happens in the script output if params already exist.
2016-11-03 21:44:23 +00:00
zkbot a2d8669f84 Auto merge of #1758 - str4d:1728-install-and-dist-scripts, r=str4d
Add build scripts and fetch-params.sh to "make install" and "make dist"

Closes #1728
2016-11-03 17:07:33 +00:00
zkbot 11c9be9eff Auto merge of #1735 - str4d:metrics-screen-improvements, r=str4d
Metrics screen improvements

Closes #1656, #1685, #1688 and #1716
2016-11-03 14:55:04 +00:00
zkbot 9eb852edd0 Auto merge of #1718 - ebfull:valid-fee-selection, r=nathan-at-least
Properly account for JoinSplit value when deciding if a transaction should be placed in a mined block.

Closes #1705.

The transaction selection logic in miner.cpp was not updated to account for JoinSplit value. This caused issues that include, but are not limited to, miners not including pure JoinSplit transactions in their blocks.
2016-11-03 04:38:54 +00:00
zkbot 51a5737950 Auto merge of #1754 - str4d:1753-genesis-block-coinbase-height-exception, r=str4d
Adjust consensus rule to accept genesis block without height in coinbase

Closes #1753
2016-11-02 18:15:39 +00:00
zkbot 624b5f390a Auto merge of #1752 - ebfull:diagnostics-of-constraint-system-violations, r=ebfull
Throw more descriptive exceptions when the constraint system is violated

Closes #1668.
2016-11-02 17:30:31 +00:00
zkbot 77dcb00d0e Auto merge of #1748 - bitcartel:master_1746_add_z_validateaddress, r=ebfull
Add rpc call z_validateaddress to validate zaddrs.

Closes #1746.
2016-11-01 20:56:26 +00:00
zkbot ae3e69c6b2 Auto merge of #1750 - ebfull:add-checkpoint, r=ebfull
Add checkpoint at block 2500.
2016-11-01 20:01:07 +00:00
zkbot 2787ea686c Auto merge of #1673 - str4d:fix-libsnark-indeterminism, r=str4d
Build libsnark with -march=x86-64 instead of -march=native

Fixes the remaining libsnark indeterminacy.

Thanks to @tromer for the fix!

Closes #1645
2016-10-28 03:32:13 +00:00
zkbot ab5c175744 Auto merge of #1661 - ageis:deb-pkg-enhancements, r=arcalinea
Debian packaging fixes

* Updates maintainer scripts from latest version of `dh_make`
* Includes `rules` file
* Use `fakeroot` to build the package.
We use currently `dpkg-deb --build` instead of `debuild` or `dpkg-buildpackage`, so I don't know if the package is well-formatted for the latter. (one difference, the former works with uppercase `DEBIAN`, the latter lowercase `debian` -- that's why the directory was renamed)
2016-10-27 19:13:35 +00:00
zkbot 278439fbe3 Auto merge of #1623 - ebfull:sprout-params, r=str4d
Zcash zk-SNARK public parameters for 1.0 "Sprout".

Created in the ceremony this weekend! 🎉

We're writing a blog post about this, I'm going to publish the code shortly too.

Closes #1553
2016-10-27 03:08:10 +00:00
zkbot 8f30c50751 Auto merge of #1660 - daira:1641.release-rc3, r=str4d
1641.release rc3

Release 1.0.0-rc3. This also includes the DNS seed updates for mainnet, and removing the testnet override of nMaxTipAge. closes #1369
2016-10-26 23:17:34 +00:00
zkbot dcea8593c8 Auto merge of #1655 - ebfull:fix-bitcoin-strings, r=daira
Change some Bitcoin strings to Zcash strings.

This addresses most of the user-facing ones (in help messages for example), thread names, but avoids things like tests and datastructure names.

**I slopped this together in a rush. Review it carefully!**
2016-10-26 17:50:17 -04:00
zkbot 3fedcfedcb Auto merge of #1647 - snyff:patch-1, r=daira
Fix typo in README.md

s/sophisticiated/sophisticated/
2016-10-26 13:01:31 -04:00
zkbot 0fabe19495 Auto merge of #1646 - ebfull:manpages, r=daira
Add manpages for zcashd and zcash-cli binaries for debian.

See #1524.
2016-10-25 23:00:30 -04:00
zkbot 8d04ff72ca Auto merge of #1643 - ioptio:example-config, r=daira
add zcash.conf

port examples/bitcoin.conf to examples/zcash.conf
2016-10-25 22:21:16 -04:00
zkbot ea4c08d43d Auto merge of #1644 - str4d:826-reference-in-security-warnings, r=daira
Link to #826 in doc/security-warnings.md, link to new Security website page

Closes #826
2016-10-25 19:47:14 -04:00
zkbot 07c967aca7 Auto merge of #1637 - daira:upgrade-bdb-again, r=daira
Fix licensing docs, and upgrade bdb again to 6.2.23

Upgrading BDB is necessary due to the security bugs listed at https://www.cvedetails.com/vulnerability-list/vendor_id-93/product_id-32070/Oracle-Berkeley-Db.html . The resulting dependency on the Affero GPL is unfortunate, but see #1469.
2016-10-25 19:07:59 -04:00
zkbot 6bad499c2a Auto merge of #1640 - daira:upstream-update-tinyformat, r=daira
util: Update tinyformat

Updates `tinyformat.h` to commit
https://github.com/c42f/tinyformat/commit/3a33bbf65442432277eee079e83d3e8fac51730c upstream.

Makes sure that our local changes are kept:

- bitcoin/bitcoin#3767 1b8fd35aad Make tinyformat errors raise an exception instead of assert()ing
- bitcoin/bitcoin#4735 9b6d4c5cdc Move strprintf define to tinyformat.h
- bitcoin/bitcoin#4748 6e5fd003e0 include stdexcept (for std::exception)
- bitcoin/bitcoin#8000 9eaa0afa6ec5d3dd01e4d01121314ef51f2bc305 force USE_VARIADIC_TEMPLATES
- Add `std::string format(const std::string &fmt...` added this
  at the time, as we want to be able to do `strprintf(_(...), ...)`

Inspired by bitcoin/bitcoin#8264.

For Zcash: ref #1349
2016-10-25 18:29:45 -04:00
zkbot 489f1d38ee Auto merge of #1629 - bitcartel:1616_wallet_disallow_coinbase_change, r=daira
Add z_sendmany rule that when coinbase utxos must be spent in their entirety, with no change

See #1616 - coinbase utxos must be consumed entirely, without any change, since there
is currently no way to specify a change address in z_sendmany.
2016-10-25 15:40:36 -04:00
zkbot a1f81867f0 Auto merge of #1620 - bitcartel:1616_z_sendmany_need_0_message_bug, r=bitcartel
Fix incorrect error message in z_sendmany

Fixes one of the problems in #1616.
2016-10-25 15:02:29 -04:00
zkbot 511c5ec1d0 Auto merge of #1615 - arithmetric:1612.fix-floating-point-exception, r=daira
Fixing floating point exception in non-TTY environments

As reported in #1612, a floating point exception occurs when zcashd is started with `showmetrics` enabled in environments without a TTY, such as when started as a service or piped to a file.

The root cause is that the metrics code attempts to get the screen width and uses this as a divisor in calculations. For non-TTY environments, this value is 0, leading to a division by zero error.

This PR adds a default screen width of 80 and uses the actual screen width only if the width can be fetched (and in a TTY environment).
2016-10-25 11:43:28 -04:00
zkbot 11ce636a9d Auto merge of #1634 - bitcartel:upstream_8123_race_condition_std_atomic, r=daira
Upstream 8123 race condition

This backports a fix from upstream, with commits applied in sequence:
https://github.com/bitcoin/bitcoin/pull/8004
https://github.com/bitcoin/bitcoin/pull/8112
https://github.com/bitcoin/bitcoin/pull/8123
2016-10-25 08:30:59 -04:00
zkbot ede2ebff4e Auto merge of #1617 - str4d:fix-performance-measurements, r=daira
Disable metrics screen in performance-measurements.sh
2016-10-24 22:05:30 -04:00
zkbot 6c26e7c618 Auto merge of #1613 - ageis:fix-1610, r=daira
Adds libgomp1 to Debian package depends

Fixes #1610.
2016-10-24 21:27:55 -04:00
zkbot a294b26db7 Auto merge of #1375 - str4d:1331-node-metrics, r=daira
Add node metrics screen

Continuation of #1336
Closes #1331
2016-10-22 20:21:11 -04:00
zkbot 026c3f784f Auto merge of #1602 - str4d:1424-minimal-getblocktemplate, r=daira
Minimal modifications to getblocktemplate

A simpler alternative to #1435 that ensures Zcash GBT will remain compatible with BIP 22.

Closes #1424
2016-10-22 16:40:59 -04:00
zkbot f39d176ebf Auto merge of #1607 - daira:1530.update-unit-tests-doc, r=daira
Update unit-tests documentation. closes #1530

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-22 15:57:44 -04:00
zkbot 30d3d2dfd4 Auto merge of #1603 - str4d:1556-reject-old-block-versions, r=daira
Reject block versions lower than 4

Includes parts of #1554
Closes #1556
2016-10-22 14:32:40 -04:00
zkbot f82273829a Auto merge of #1600 - str4d:1557-consensus-rule-disallow-v0-txns, r=daira
Disallow v0 transactions as a consensus rule

Closes #1557
2016-10-22 13:50:52 -04:00
zkbot e3c8e88e9b Auto merge of #1588 - bitcartel:upstream_8427_dos_logging, r=daira
Upstream: Prevent possible DoS in logging

bitcoin/bitcoin#8427
2016-10-22 13:08:26 -04:00
zkbot 0b3809464c Auto merge of #1601 - str4d:1459-revert-reversion, r=daira
Revert "Revert "Avoid boost::posix_time functions that have potential out-of-bounds read bugs. ref #1459""

This reverts commit f19cb7b7ee.

Closes #1459.
2016-10-22 07:06:40 -04:00
zkbot a12eaa2bf2 Auto merge of #1581 - bitcartel:1464_ncc_2016_008, r=str4d
Fixes for NCC-2016-008

To close #1464 NCC-2016-088

- This PR
- https://github.com/zcash/libsnark/pull/8

Of the 101 issues in NCC-2016-088, 62 are in dependencies, and many of the remainder are duplicates of the CIDs fixed in this PR.

Commit log message is: CID Type (Type is from scan.coverity Type column)
2016-10-22 00:56:08 -04:00
zkbot 48888b67c9 Auto merge of #1599 - daira:1597.fix-other-potential-race-conditions, r=daira
Fix other potential race conditions similar to ref #1597 in RPC tests.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-22 00:15:32 -04:00
zkbot 7ccbcca62c Auto merge of #1591 - bitcartel:upstream_7933_fix_out_of_memory_deserializing_utxo, r=daira
Upstream: fix out of memory problem when deserializing utxo

bitcoin/bitcoin#7933
2016-10-21 23:32:51 -04:00
zkbot f808be7546 Auto merge of #1589 - bitcartel:upstream_7856_one_getaddr_per_connection, r=daira
Upstream: Only send one GetAddr response per connection.

bitcoin/bitcoin#8427
2016-10-21 22:53:19 -04:00
zkbot 71043784dd Auto merge of #1586 - bitcartel:z_sendmany_amount_too_strict, r=daira
Fix issue where z_sendmany amount parameter is too strict

Upstream treats an amount parameter of `1` the same as `1.0`.  Third-party would like this fixed.
2016-10-21 22:10:41 -04:00
zkbot fd7ef7b632 Auto merge of #1584 - bitcartel:1504_zca_011_logging, r=daira
More granular control over logging of z_* calls

Closes #1504
2016-10-21 21:32:46 -04:00
zkbot 10ad093bbb Auto merge of #1567 - str4d:rename-binaries, r=daira
Rename binaries

This ensures that our installs don't clash with existing Bitcoin binaries and libraries.

Closes #1563 and #1565
2016-10-21 20:48:11 -04:00
zkbot dc21a8a39f Auto merge of #1578 - daira:1570.tromp-equihash-with-libsodium-blake.2, r=daira
1570.tromp equihash with libsodium blake.2

Remove BLAKE2b implementation from Tromp Equihash solver, and address almost all of @str4d's review comments on #1570. Supercedes #1576.

Signed-off-by: Daira Hopwood daira@jacaranda.org
2016-10-21 19:07:26 -04:00
zkbot cd8e856df7 Auto merge of #1585 - bitcartel:1583_stop_test_writing_to_testnet3, r=daira
Closes #1583 by setting up the datadir for the wallet gtest.

Stops test writing to ~/.zcash/testnet3.
Also related to #1506
2016-10-21 03:15:00 -04:00
zkbot c99a1c7e4f Auto merge of #1566 - daira:1557.make-v2-txns-standard, r=ageis
1557.make v2 txns standard

Make v2 transactions standard. This also corrects a rule about admitting large orphan transactions into the mempool, to account for v2-specific fields. ref #1557
2016-10-21 01:10:37 -04:00
zkbot 323b8214c2 Auto merge of #1580 - str4d:1378-repair-witness-cache, r=daira
Clear witness cache when re-witnessing notes

Closes #1378
2016-10-21 00:24:39 -04:00
zkbot 78293a9989 Auto merge of #1575 - arcalinea:document-rpc-security, r=daira
Document RPC security assumptions

Document RPC security assumptions in security-warnings.md #965
2016-10-20 19:50:47 -04:00
zkbot 90031e1d61 Auto merge of #1577 - radix42:v1.0.0-rc1-gitian, r=daira
V1.0.0 rc1 gitian

Removes indeterminism from gitian builds: underlying processor instruction set variant of x86_64 was being detected by the libgmp autoconf process, which caused differences in libgmp and libsnark
2016-10-20 17:40:27 -04:00
zkbot f90526579b Auto merge of #1569 - str4d:1552-disable-wallet-encryption, r=daira
Disable wallet encryption

Closes #1552
2016-10-20 17:01:51 -04:00
zkbot bb891cb4a2 Auto merge of #1571 - daira:1459.avoid-boost-posix-time, r=daira
Avoid boost::posix_time functions that have potential out-of-bounds read bugs

ref #1459

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-20 15:42:23 -04:00
zkbot b492ef3232 Auto merge of #1568 - str4d:1548-remove-block-index-tag, r=daira
Remove the RC 1 block index error message

Reverts 85457ddec1

Closes #1548
2016-10-20 13:57:23 -04:00
zkbot 0dfe612ff9 Auto merge of #1561 - str4d:778-randomise-note-order, r=daira
Randomize JoinSplit input and output orders

Closes #778.
2016-10-20 03:55:33 -04:00
zkbot 3277cf28b6 Auto merge of #1560 - zcash:daira-link-readme-to-protocol-spec, r=daira
Add link to protocol specification.
2016-10-20 03:15:58 -04:00
zkbot 4dc45bad95 Auto merge of #1532 - arcalinea:cleanup-documentation, r=daira
Cleanup documentation

Added zcash developer public keys to /contrib/gitian-downloader, incorporated some of @daira's suggestions for files in the /doc directory
2016-10-20 02:34:25 -04:00
zkbot fd23341f1e Auto merge of #1547 - daira:1378-witness-cache-assertion-failure.1, r=bitcartel
Add more precise assertions in IncrementNoteWitnesses

Part of #1378
2016-10-17 03:00:19 -04:00
zkbot 98224d76f5 Auto merge of #1521 - zcash:gitian, r=bitcartel
Update Linux Gitian descriptor for building Zcash

Changes required to use the Gitian builder at https://github.com/zcash/zcash-gitian

Closes #540.
2016-10-17 01:55:03 -04:00
zkbot 4ee9d712b5 Auto merge of #1541 - str4d:upstream-gitian-updates, r=bitcartel
Upstream gitian updates

This PR pulls in all gitian-related PRs that have been merged upstream since 0.11.2. The only ones I left out were documentation-only PRs, because we removed `doc/gitian-building.md` at some point. Here are the commits applied here, in the order shown in `git log` (ie. last to first):

- bitcoin/bitcoin#7283
  - fa42a67
  - fa58c76
- bitcoin/bitcoin#8175
  - 74c1347
- bitcoin/bitcoin#8167
  - 7e7eb27
  - ad38204
  - b676f38
- bitcoin/bitcoin#7776
  - f063863
- bitcoin/bitcoin#7424
  - a81c87f ~ we already partly applied
  - a8ce872
  - f3d3eaf ~ we already partly applied
  - 475813b
  - ~~cd27bf5~~ X we already applied
- bitcoin/bitcoin#7060
  - 3b468a0 ~ we removed doc/gitian-building.md
  - ~~99fda26~~ X we removed doc/gitian-building.md
- bitcoin/bitcoin#7251
  - fa09562
- bitcoin/bitcoin#6900
  - ~~2cecb24~~ X we removed doc/gitian-building.md
  - 957c0fd
  - 2e31d74
  - ~~0b416c6~~ X we removed QT
  - 9f251b7
- bitcoin/bitcoin#6854
  - 579b863 ~ we already partly applied

Part of #540
2016-10-17 01:17:01 -04:00
zkbot e8d28a0acc Auto merge of #1448 - ageis:debian-package, r=bitcartel
Initial packaging for Debian

This adds some source files, a script and skeleton for building a Debian package that installs the zcash daemon and CLI tool.

To test it:

Check out my branch.
Build Zcash binaries: `./zcutil/build.sh`
Build the package: `./zcutil/build-debian-package.sh`
You now have a .deb in the source root folder, so install it: `sudo dpkg -i zcash-1.0.0-rc1-amd64.deb`
Now you can run `zcashd`, `zcash-cli`, and `zcash-fetch-params` from `$PATH`.

This pull request will need further refinement and review, so let's leave it open for a while.
2016-10-17 00:22:50 -04:00
zkbot ec8dc3a88a Auto merge of #1431 - bitcartel:master_1373_taddr_coinbase_error, r=bitcartel
Return a more informative error message when trying to spend coinbase; select non-coinbase inputs when sending to a transparent output if needed

For #1373 and #1519

Code change:
- Extra parameter added to AvailableCoins to include or exclude Coinbase coins.  Default value of parameter is 'true' as current behaviour is to include Coinbase coins.
- SelectCoins, used for sending taddr->taddr, will now exclude Coinbase coins.

Unit test:
Tried to write a test to focus on the extra parameter added to AvailableCoins but could not.

Empirical testing on Testnet:
Current behaviour is that upstream RPC commands sendfrom and sendtoaddress try to spend coinbase coins returned by AvailableCoins.  So the user will see:

```
./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."}

./zcash-cli sendfrom "" mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."}
```

After fix is applied:

```
./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Coinbase funds can only be sent to a zaddr"}
```

When non-coinbase UTXOs exist, they will now be selected and used:

```
./zcash-cli z_sendmany tnPJZHeVxegCg91utaquBRPEDBGjozfz9iLDHt7zvphFbZdspNgkTVLCGjDcadQBKNyUwKs8pNjDXuEZKrE1aNLpFwHgz4t '[{"address":"mx5fTRhLZwbYE7ZqhAPueZgQGSnwTbdvKU", "amount":0.01}]'

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
9818e543ac2f689d4ce8b52087607d73fecd771d45d316a1d9db092f0485aff2

./zcash-cli sendfrom "" mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
899f2894823f51f15fc73b5e0871ac943edbe0ff88e1635f86906087b72caf30
```
2016-10-16 22:08:07 -04:00
zkbot 67ec04e6f4 Auto merge of #1520 - str4d:1502-cache-nullifiers-on-wallet-unlock, r=str4d
Cache nullifiers on wallet unlock

Closes #1502
2016-10-16 17:28:48 -04:00
zkbot cc10005247 Auto merge of #1486 - str4d:1456-writewitnesscache-exception-safety, r=bitcartel
WriteWitnessCache: Catch errors and abort transaction

Closes #1452
2016-10-14 17:37:53 -04:00
zkbot 3fceaca3a1 Auto merge of #1506 - bitcartel:master_1478_fix_testnet3_test_issue, r=bitcartel
Stop some wallet tests creating ~/.zcash/testnet3 folder by setting -datadir environment

Closes #1478
2016-10-14 17:03:11 -04:00
zkbot 27bc01a05b Auto merge of #1523 - bitcartel:master_1504_z_logging, r=bitcartel
Refine LogPrint debugging for z_* rpc calls

For #1504 ZCA011
2016-10-14 11:11:26 -04:00
zkbot 6432b8c453 Auto merge of #1499 - arcalinea:document-coinbase-maturity-security, r=bitcartel
Note that Coinbase maturity interval does not protect JoinSplits

Changed wording of Block Chain Reorganization section in security-warnings.md to note that we did not change Coinbase maturity #1387, but that this also does not protect JoinSplits from becoming invalidated in the case of a block chain reorg #953
2016-10-13 23:52:37 -04:00
zkbot bb25bd4bc1 Auto merge of #1533 - bitcartel:master_1447_document_getfilterednotes, r=bitcartel
Document CWallet::GetFilteredNotes

Also fixes return type of method which should be void.

Part of #1447
2016-10-13 20:25:19 -04:00
zkbot 2b29970e28 Auto merge of #1531 - str4d:1447-document-findmynotes, r=bitcartel
Document CWalletTx::FindMyNotes

Part of #1447
2016-10-13 19:51:06 -04:00