Commit Graph

12567 Commits

Author SHA1 Message Date
Homu a9b74a7149 Auto merge of #3948 - mms710:pr-checklist-2, r=ebfull
Create a checklist for all zcash PRs

All items in the checklist must be done before a PR can be merged.
2019-04-23 10:48:18 -07:00
Larry Ruane c17d828ffd Update boost from v1.69.0 to v1.70.0. #3947 2019-04-23 11:29:55 -06:00
Larry Ruane 3d018ab556 add -spentindex changes for bitcore insight block explorer 2019-04-23 11:06:23 -06:00
Homu ab856294d9 Auto merge of #3505 - str4d:rust-targets, r=str4d
depends: Support additional cross-compilation targets in Rust

This will make it easier for third parties to cross-compile `zcashd` for other platforms. The third commit in this PR shows how to add a new target to the Rust dependency builder.

The default Rust target during cross-compilation is the canonical host, which is derived from `HOST` using `depends/config.sub`. If the canonical host differs from the required Rust target, add the necessary mapping in addition to the target itself.

Also includes fixes for cross-compiling aarch64 targets.
2019-04-23 08:33:40 -07:00
Simon 4c1a8884f4 Add testnet and regtest experimental feature: -developersetpoolsizezero 2019-04-22 14:24:40 -07:00
Homu 16fd1ec7ef Auto merge of #3966 - garethtdavies:3962-fix-gitian-build, r=daira
Adding addressindex.h to Makefile.am

Co-authored by: Daira Hopwood <daira@jacaranda.org>

Closes #3962
2019-04-22 11:56:44 -07:00
Gareth Davies 82848efb0e Adding addressindex.h to Makefile.am
Co-authored by: Daira Hopwood <daira@jacaranda.org>
2019-04-21 07:44:18 -07:00
Homu 8e4202f8f4 Auto merge of #3901 - rex4539:electric-coin-company, r=str4d
Update "Zcash Company" to "Electric Coin Company"
2019-04-16 10:23:59 -07:00
Homu 8752c7aef5 Auto merge of #3935 - str4d:blossom-activation-logic, r=str4d
Add Blossom to upgrade list
2019-04-09 10:39:07 -07:00
Mary Moore-Simmons e4d40e4756 Creates checklist template for new PRs being opened and addresses Str4d's suggestion for using GitHub handles 2019-04-09 09:57:17 -06:00
Homu 5eb7f89980 Auto merge of #3906 - sandakersmann:patch-1, r=str4d
Update _COPYRIGHT_YEAR in configure.ac to 2019

Update _COPYRIGHT_YEAR in configure.ac to 2019
2019-04-09 08:45:30 -07:00
Homu 33548140d9 Auto merge of #3907 - LarryRuane:3860-enable-debug-build, r=daira
fix enable-debug build DB_COINS undefined

Fixes #3860. The way `DB_COINS` is defined in this PR is the same as in `src/txdb.cpp` (static "global" instead of class member).
2019-04-09 03:45:07 -07:00
Homu e73326eed0 Auto merge of #3837 - LarryRuane:3708-addressindex, r=bitcartel
add AddressIndex changes needed for bitcore block explorer

Addresses #3708, note there are no tests yet (will come later with RPC interfaces).
2019-04-04 17:36:56 -07:00
Jack Grigg 1f561f323f
init: Fix new HD seed generation for previously-encrypted wallets
Closes #3607.
2019-04-04 18:27:46 +01:00
Homu 926fd0ce28 Auto merge of #3848 - str4d:transaction-builder-sprout, r=Eirik0
Add Sprout support to TransactionBuilder

The logic in `TransactionBuilder::CreateJSDescriptions()` is a combination of the logic used by `z_sendmany`, `z_mergetoaddress` and `z_shieldcoinbase`, in order to support arbitrary numbers of Sprout inputs or outputs.
2019-04-04 10:19:46 -07:00
str4d b59b0a519f
Update README.md
Committed str4d's suggestion for final line.

Co-Authored-By: wmpea <wmpeaster@gmail.com>
2019-04-02 10:08:12 -05:00
Jack Grigg 885fce070a
Add Blossom to upgrade list 2019-04-02 07:39:36 +01:00
Braydon Fuller ec81c70964 tests: adds unit test for IsPayToPublicKeyHash method 2019-03-28 12:04:02 -06:00
Larry Ruane 6cf0e50b56 add -addressindex changes for bitcore insight block explorer 2019-03-28 12:03:48 -06:00
Homu a8d4a2216d Auto merge of #3902 - zebambam:fix_speling_on_rd_adoption_statement, r=daira
Minor spelling changes

Speling fix for #3869
2019-03-28 08:08:47 -07:00
William M Peaster 7e99b6c094
Handful of copyedits to README.md
A few copyedits for improved grammatical polish and clarity
2019-03-27 17:46:28 -05:00
Homu be1d68ef76 Auto merge of #3922 - bitcartel:release-v2.0.4, r=bitcartel
Release v2.0.4
2019-03-26 13:02:51 -07:00
Simon 0a378eb96e Update company name. 2019-03-26 12:11:30 -07:00
Simon e8335eed41 make-release.py: Updated release notes and changelog for 2.0.4. 2019-03-26 11:29:21 -07:00
Simon 1a701e2354 make-release.py: Updated manpages for 2.0.4. 2019-03-26 11:29:21 -07:00
Simon 108dc2df95 make-release.py: Versioning changes for 2.0.4. 2019-03-26 11:25:19 -07:00
Homu 756e9246c3 Auto merge of #3919 - defuse:openssl-regression, r=bitcartel
Fix OpenSSL reproducible build regression
2019-03-26 00:02:32 -07:00
Homu de85e07f09 Auto merge of #3918 - defuse:fix-proton-patch, r=bitcartel
Fix proton patch regression.

Closes #3916.  Fixes a regression introduced in #3809.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2019-03-25 22:16:13 -07:00
Taylor Hornby 675cf3d606 Patch out proton::url deprecation as workaround for build warnings 2019-03-25 17:38:07 -06:00
Taylor Hornby b85cd8891e Fix OpenSSL reproducible build regression 2019-03-25 14:27:14 -06:00
Taylor Hornby 8088476911 Fix proton patch regression. #3916 2019-03-25 11:46:37 -06:00
Larry Ruane e1df250a0d fix enable-debug build DB_COINS undefined 2019-03-20 16:29:06 -06:00
Marius Kjærstad 361647d8da
Update _COPYRIGHT_YEAR in configure.ac to 2019
Update _COPYRIGHT_YEAR in configure.ac to 2019
2019-03-20 21:09:51 +01:00
Homu 59e82c64e9 Auto merge of #3903 - bitcartel:release-v2.0.4-rc1, r=bitcartel
Release v2.0.4 rc1
2019-03-20 10:58:26 -07:00
Simon 82f33c4b13 Fix typo in release notes. 2019-03-20 10:20:51 -07:00
Simon dae9cf5704 make-release.py: Updated release notes and changelog for 2.0.4-rc1. 2019-03-20 09:39:43 -07:00
Simon f70a9eee7a make-release.py: Updated manpages for 2.0.4-rc1. 2019-03-20 09:39:43 -07:00
Simon b95cb71653 make-release.py: Versioning changes for 2.0.4-rc1. 2019-03-20 09:29:06 -07:00
zebambam e0774bf8d3 Minor speling changes 2019-03-20 08:57:54 -07:00
Homu 3c5062aa90 Auto merge of #3898 - sandakersmann:patch-1, r=bitcartel
Update COPYRIGHT_YEAR in clientversion.h to 2019

Update COPYRIGHT_YEAR in clientversion.h to 2019
2019-03-20 07:36:25 -07:00
Dimitris Apostolou 7420711d9e
Electric Coin Company 2019-03-20 09:04:32 +02:00
Homu d347eb585b Auto merge of #3900 - bitcartel:2.0.4_release_notes, r=bitcartel
Update release notes for 2.0.4
2019-03-19 23:05:39 -07:00
Homu 6158f0a4fa Auto merge of #3897 - ebfull:wallet-sprout-check-commitment, r=ebfull
Check consistency of note commitment and ciphertext in wallet

Fixes #3896.
2019-03-19 21:21:54 -07:00
Simon 93d358eb16 Update release notes for 2.0.4
Co-authored-by: Jack Grigg <jack@z.cash>
2019-03-19 19:43:37 -07:00
Homu 6391741d1f Auto merge of #3890 - zebambam:add_dns_rebinding_warnings_security_3841, r=mdr0id
Added documentation warnings about DNS rebinding attacks, issue #3841

For AMQP and ZMQP.
2019-03-19 15:50:34 -07:00
Sean Bowe c1009374b1 (wallet) Check that the commitment matches the note plaintext provided by the sender. 2019-03-19 13:12:26 -06:00
Homu 008705d7c1 Auto merge of #3885 - ebfull:turnstile, r=bitcartel
Reject blocks that violate turnstile

This is an implementation of a consensus rule which marks blocks as invalid if they would lead to a turnstile violation in the Sprout or Shielded value pools. The motivations and deployment details can be found in the [accompanying ZIP draft](https://github.com/zcash/zips/pull/210).

**This PR only introduces the rule for testnet at the moment.**

We achieve the institution of this rule in three ways:

1. Nodes prior to #2795 did not record the "delta" in the Sprout value pool balance as part of the on-disk block index. This was a long time ago, though, and all nodes that are consensus-compatible with the network today have been recording this value for newer blocks. However, the value is absent from older block indexes unless the node has reindexed or synchronized from scratch in the time since. We shouldn't need to require nodes to reindex in order to enforce this consensus rule. We avoid this problem by falling back on a hardcoded Sprout shielded value pool balance in a very recent block.
2. If during `ConnectBlock` we observe that the resulting shielded value pool balance of Sprout or Sapling is negative, we reject the block.
3. During the miner's block assembly process the miner will skip over transactions if adding them to the assembled block might violate the turnstile, since the resulting block would be invalid. This means that theoretical transactions violating the turnstile would still be relayed in the network (and made available in users' memory pools) and so a turnstile violation would have some visibility outside of block relay.

## Smoke Testing

It's really tricky to test the behavior that automatically falls back to hardcoded shielded value pool balances in our architecture because it's very testnet-specific and node-version-specific. However, we can do some smoke tests to see that everything is working.

I modified the serialization of `CDiskBlockIndex` to serialize `boost::none` for `nSproutValue`

```
if ((s.GetType() & SER_DISK) && (nVersion >= SPROUT_VALUE_VERSION)) {
    boost::optional<CAmount> nSproutValueFake = boost::none;
    READWRITE(nSproutValueFake);
}
```

and then began a reindex of my node which I interruped around height 130k on testnet. I then restored the original serialization and resumed the reindex; I have thus _roughly_ simulated a older node "upgrading" to a newer node that records the deltas when processing new blocks. My node showed pool monitoring was disabled, as expected, for Sprout. I confirmed that some blocks following the reindex had nonzero Sprout `valueDelta` from `getblock`, as expected. I finished the reindex, restarted the node, and confirmed that the serialization worked for newer blocks but not older blocks by querying `getblock`, simply as a reassurance.

Finally, I introduced the code in this PR and reloaded the node. The desired behavior (that the chain began to be "monitored" again) worked, and the values were consistent with the hardcoded constant. I then made a payment to a Sprout z-addr from the transparent pool and the pool value increased as expected, as reported by `getblockchaininfo`. I reindexed the node again to exercise the remaining logic and check for turnstile violations throughout the history of testnet; there were none.
2019-03-19 12:10:17 -07:00
Eirik0 ee9ff2ce74 Rename and update comment 2019-03-19 12:55:55 -06:00
Sean Bowe 8d0e2befe7 (minor) Remove added newline. 2019-03-19 12:45:21 -06:00
Sean Bowe 4e3dca978b Do not enable ZIP209 on regtest right now. 2019-03-19 12:44:53 -06:00